毕业论文:运水小车设计_第1页
毕业论文:运水小车设计_第2页
毕业论文:运水小车设计_第3页
毕业论文:运水小车设计_第4页
毕业论文:运水小车设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、随着生产自动化的发展需耍,机器人已经越来越广泛地应用到生 产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多, 其中红外传感器已经成为自动行走和驾驶的重耍部件。红外的典型应用领域为自主式智能导航系统,机器人要实现自动 避障功能就必须要感知障碍物,感知障碍物和当给机器人一个视觉功 能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物 检测,并判断障碍物远近。本设计通过小车这个载体再结合以avr系列的mage 16单片机为核 心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的 避障电路、遥控模块、电源电路、差分驱动电路和显示电路就可以完善 整个设计。目录一、摘要:4二、

2、功能介绍:4三、硬件设计:43避障电路:53.2单片机电路:83.3显示电路:83.4电源电路:93.5电机骡动电路103.6无线遥控电路:11四、程序设计124.1主程序流程图134.2主程序13五、系统调试18六、小结19七、参考文献19附录20系统实物图20一.【摘 要】:本文提出一种智能循迹,自动运水小车的设计方法, 利用红外技术检测障碍物信息,采用mage 16单片机进行实时控制,实 现智能循迹,智能小车采用后轮驱动,两轮各用一个直流电机控制, 避障用的传感器采用红外漫反射式传感器。【关键词】:避障 光电开关差分控制lcd本小车可通过2262无线模块进行模式的切换,在手动模式下,通

3、过遥控器按键的不同实现不同动作;在自动模式下,机器人通过 rpr220光电管实现对线路的自动识别,智能小车采用两轮驱动,左右 两边各用一个电机驱动,分别控制两个轮子的转动从而达到转向的目 的。将三个红外线光电传感器分别装在车体的前方和后方,当红外传 感器检测到小车左边出黑线时,主控芯片控制右轮电机停止左轮转 动,车向右方转向,当传感器检测到小车右边出黑线时,主控芯片控 制左轮电机停止转动,车向左方转向,当运行到终点吋,主控芯片控 制另一个电机将水箱翻起,降水倒出。同吋通过nokia5510液晶显示运水 时间,运水量。三. 硬件设计如下图所示,是本次设计智能小车的电路框图。以mage 16为电路

4、 的中央处理器,来处理传感器采集来的数据,处理完毕之后以便去控 制电机驱动电路来驱动电机。电源部分是为整个电路模块提供电源, 以便能正常工作。3. 1.避障电路(1)障碍物探测方案的选择方案一:脉冲调制的反射式红外线发射接受器。由于采用该有交流分 量的调制信号,则可大幅度减少外界干扰;另外红外线接受官的最大 工作电流取决于平均电流。如果采用占空比小的调制信号,再品均电 流不变的情况下,顺势电流很大(50100ma),则大大提高了信噪 比。并且其反应灵敏,外围电路也很简单。它的优点是消除了外界光 线的十扰提高了灵敏度。方案二:采用超声波传感器,如果传感器接收到反射的超声波,则通 知单片机前方有障

5、碍物,如则通知单片机可以向前行驶。市场上很多 红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且 能避免电路的复杂性市以上两种方案比较可知。方案二要比方案一优势大,市场上很 多红外观点探头也都基于这个原理。其电路简单,工作可靠,性能比 较稳定。从而避免了电路的复杂性,因此我先用方案二作为小车的监 测系统。避障电路采用漫反射式光电开关进行避障。光电开关是集发射头 和接收头于一体的检测开关,其工作原理是根据发射头发出的光束, 被障碍物反射,接收头据此做出判断是否有障碍物。当有光线反射回 来时,输出低电平;当没有光线反射回来时,输出高电平。单片机根 据接收头电平的高低做出相应控制,避免小车

6、碰到障碍物,由于接收 管输出ttl电平,有利于单片机对信号的处理。(2)光电开关工作原理:光电开关是通过把光强度的变化转换成电信号的变化來实现控制的。光电开关在一般情况下,有三部分构成,它们分为:发送器、接收器和检 测电路。避障电路如下:p1右避障电路功能表:传感器避障电路输出(上升沿动作)待执行命令左中右左转信号(p2. 1)右转信号(p2.0)0 0 0v右转0 0 1j右转0 1 0右转0 1 1v右转1 0 0v左转1 0 1v右转1 1 0v左转注解(“0”表示有障碍物;“1”表示无障碍物)3.2单片机电路本设计的主控芯片选择magel6,负责检测传感器的状态并向电机 驱动电路发出动

7、作命令。复位电路采用手动复位。单片机电路如下:712* w c15*: uap芝 104vn izpbo (xckti) pb1 (tl) pb2 (aixo1xt2) | pb3qt<i oci «.* pb4(ss)pb5 (mc3s1)pb6 ( miso)pb7 ( sck)p.a£) (adco) pai (adc1) pa2(adc2) p.a3 (adc3) p.a4 (adc4) fp.a5 (adc5) fp.a6 (adc6) 1 pa7(adc7)pex) (rxd) rd i (txd) pd2 (into) pd3 (1x1 1 .pew (

8、cxt1b) 1 pd5 (ocia) ? pd6(1cp)pd7 (oc2)pco (scl) pci (sda) pc2 i tck) pc 3 i ims) pc4 (texd)pc5 (tdi) pc6(tosc1) pc7(tc)sc2)、j jresetacca okjatmcga i6l-8pc<<<<<<<swabcdefci3031113. 3显示电路:显示电路由nokia5110组成,它可进行字母,汉字,图片的显示,功能强 大,使用方便,所以木系统选用nokia5110作为显示模块,其电路如图所示。clk 曲。did/cgndled

9、1k4vdd氏迪clk izitndin led1ar5 iklcs5vcco°gnditc7|ilcdrst 104gd/c cs osc gnd vout rst2klon dnx匚lecox 匚10111213gndlednokiawolcdg 卜 pl l lh gndnokia 51103.4电源电路本系统所有芯片都需要+5v的工作电压,而干电池只能提供的 电压为15v的倍数的电压,并且随着使用时间的延长,其电压会 逐渐下降,则需要lm7805稳压芯片。l7805能提供300至500ma 的电流,足以满足芯片供电的要求。虽然微处理器和微控制器不需要 支持电路,功耗也很低,但

10、必须要加以考虑。电源电路拟定为:s(r 0sw-spstq nkt129 <vinlm7805.r150klm358oor4100kur5-2kvoutqnoc310叶c40.0 lgf+5vgnd3. 5电机驱动电路市场上用很多种类的小电压直流电动机,很方便的选择到。主耍 有普通电动机、和步进电动机。方案一:采用步进电机,步进电动机的一个显著的特点就是具有 快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过 步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反 转。其转换灵敏度比较高。正转、反转控制灵活。但是步进电机的价 格比较昂贵,对于我们的现状相差太远。方案二:采用

11、普通的直流电机。直流电机具有优良的调速特性, 调速平滑、方便。调整范围广;过载能力强,能承受频繁的冲击负载, 可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运 行要求。由于普通直流电机价格适宜,更易于购买,并且电路相对简单, 因此采用直流电机作为动力源本设计采用l298电机驱动芯片为直流电机驱动,ftl l298芯片组 装直流电机驱动模块,同时利用光耦隔离模块,实现电路保护,构成 的电路结构简单,方便,可靠!驱动电路原路框图如下:lm298应用电路图:电机驱动连接屯路图3. 6无线模块:为了能对小车进行手动控制,我们选用了简易的基于hs2272和hs2262的无线收发模块。利用22

12、72和2262分别实现接收模块和发 射模块电路设计。jpdataportlcaxi caxi iaxl oaxiportvdd无线收发模块四. 程序设计:本系统利用外部中断来接受遥控信号,通过接受信号的不同來改 变运水模式,主程序在不断检测模式是否改变,通过不同模式实现不 同动作!系统中还利用了定时器来计算运水时间,当小车到达终点时, 把水倒出,同时显示运水时间!4. 1主程序流程图:主程序流程图4.2源程序:ttinclude <iom16v. h>ttincludc <macros. h>unsigned char unsigned intsinclude &quo

13、t;5110.h" ttinclude "motor. h ttinclude "wireless. h ttinclude "init.h /*宏定义*/#define uchar if define uintucharpotcmpl=0, potcmp2=0, potcmp3=0, potcmp4=0, potcmp5=0, potcmp6=0, pox二1, poy =0;uint x_l, x_2;uint ms_conter=0, s_conter=0, m oonter=0, h_conter=0;uint receive二0,key二0,f

14、lot二0;uint shuiliang=0;uint x_220二255, y_220二0,z_220二0; void main(void)init devices (); motorl(2); motor_2(2); motor_3(2); motor_4(2);ddrb = 0x00;portb = oxff; key=pinb&0xf0;delayms (15);在这继续添加你的代码/lcd_clcar ();delay(100);while 仃)ddrb 二 oxof;/portb = oxff; key=pinb&0xf0;delayms (15);if(key=0

15、b00010000)/前进motor_l ;motor_2 (2);motor_3 (0);motor_4 (0);else if(kev=0b00100000) 后退motorl(2);motor_2(2);motor_3(1); motor_4(l);"el seif(key=0b01000000)右转motorl(2);motor_2(2);motor_3 (1); motor_4 (0);"el seif(key=0b10000000) 左转 motorl(2); motor_2(2); motor_3(0); motor_4(l);"elseif (ke

16、y二二0b00110000)左传motorl(0); motor_2 (2);motor_3 (2);motor_4 (2);elseif (key=0b01010000)/左转 motor_l (1); motor_2 (2); motor_3 (2); motor_4(2);elseif (kev=0b01100000) 左转 motor_2(0); motor_l ; motor_3 (2); motord (2);" elseif (kev=0b10100000) 左转 motor_2(1);motor_l (2);motor 3 (2);motor 4 (2);)else

17、if(key=0b10010000)motor l (2);motor 2 (2);motor_3 (2);motor_4 (2);/break;else if (key0b0 111 0000) ddra=0x00;porta=oxff;x_l二0xf0|pina;x_2二oxofjpina;while(x_l!=0xf0)front_220();x_l二0xf0|pina;motor_l ;motor_2 (2);motor 3(2);motor 4(2);delay(20);motor_l (0) ;/转盘转向,水箱在前 delay (280);/motor_l(1); motor_2

18、(1); 倒水 delay (200);motor_2 (0) ; /水箱放平/delay (100);motor_l (1);转盘转向,水箱在后 delay (300);x_2=0x0f|pina;wh订e(x 2!=0x0f)back 220 ();x_2=0x0f pina;motor l (2);motor_2(2);motor_3(2);motor_4 (2);/lcd clear ();lcd write_chinese stringl (19, 0, 12, 4, 0, 2);欢迎使用lcd_writc_chincsc_stringo (0, 2, 12, 5, 0, 1) ;/

19、运水时间: / lcd_write_english_string(53, 2,,z:,z);lcd wri te_char2(1, 4, 48+h_conter/10);lcd_writc_char2(7, 4, 48+h_contcr%10);lcd_wr i te_engli sh_str ing(15, 4, h");lcd wri te_char2(25, 4, 48+m_conter/10);lcd_write_char2(31, 4, 48+m_conter%10);lcd write english string(39, 4, m);/lcd wri te_char2(

20、23, 4,'.');lcd_write_char2(49, 4, 48+s_conter/10);lcd wri te_char2(55, 4, 48+s_conter%10);lcd wri te_engli sh string(64, 4, s);/*/pao电压采集receive=megal6_ad (0);receive=receive/20. 1;/ 修 止系数lcd write_char2(12, 5, 48+receive%100/10);lcd_wri te_char2(18, 5,'.');lcd_write_char2(24, 5, 48+receive%10);lcd wri te_char2(32, 5,' v');/pai电压采集 receive=megal6_ad (1);receive=receive/20. 1;/ 修 正系数lcd_writc_char2(42, 5, 48+rcccivc%100/10);lcd_write_char2(4& 5,'.');lcd wri te_char2(54, 5, 48+receive%10);lcd_write_char2(62, 5,' v&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论