多功能智能小车设计方案_第1页
多功能智能小车设计方案_第2页
多功能智能小车设计方案_第3页
多功能智能小车设计方案_第4页
多功能智能小车设计方案_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、多功能智能小车设计方案 中北大学大学生电子设计竞赛项目总结技术报告负责人:学 号:学 院、系:信息与通信工程学院电气工程系专 业:电气工程及其自动化:email:项目名称:多功能智能电动车指导教师: 1、正文采用5号宋体,单倍行距 72013年 3 月 31日gun一、项目参加人员、负责内容以及技术特长:主要人员负责内容技术特长电路以及单片机程序设计,统筹安排具有扎实的单片机,c语言以及电路设计基础原件焊接,零部件加工能够熟练使用各种工具和仪器绘制电路原理图以及pcb板,能够熟练使用办公软件和eda软件二 项目背景a、任务:设计并制作一个简易智能电动车,其行驶路线示意图如下:b、说明 :1、跑

2、道上面铺设白纸,薄铁片纸下,铁片厚度为.5.0mm。2、跑道边线宽度5cm,引导线宽度2cm,可以涂墨或粘黑色胶带。3、障碍物1、2可由包有白纸的砖组成,其长、宽、高约为50cm12cm6cm,障碍物放置在障碍区任意位置。电动车允许用玩具车改装,但不能人工遥控,其外围尺寸(含车体上附加装置)的限制为:长度35cm,宽度15cm。光源采用200w白炽灯,白炽灯泡底部距地面20cm,其位置如图所示。在车顶部明显标出电动车中心点位置即横向与纵向两1、基本要求(2)自动避障。(3)寻光,趋光循迹。()电动车进入停车区域后,能进一步准确要求电动车()能显示电动车全程行驶时间。stc89c52单片机为控制

3、平台,选择常见的电机模型车为机械平台,通过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车的各种功能。设计完成以由红外线对管的自动寻迹、红外自动避障、寻光,检测铁片组成的硬件模块结合软件设计组成多功能智能小车,共同实现小车的前进倒退、转向行驶,自动根据地面黑线寻迹导航,检测障碍物或检测到铁片后停止等功能,实现智能控制,达到设计目标。 本设计以两直流电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元stc89c52单片机处理数据后完成相应动作,以达到自身控制。电机驱动电路采用h桥驱动模块-双l298步进/直流电机驱动板 ,能同时驱动4个直流电机和2个步进电机;避障和采用红外光

4、电开关来完成,自动寻迹采用红外发射管和接收管光电对管寻迹传感器完成,最后由控制单元处理数据后通过编程有序合理的将各模块信号整合在一起并完成相应动作,实现了智能控制。模块化设计图:1 轨迹探测模块方案方案一:利用两只红外对管。分别置于轨道的两侧,根据其接受到白线的先后来控制小车转向来调整车向,但测试表明,如果两只光电开关之间的距离很小,则约束了速度,如果着重于小车速度的提升,则随着车速的提升,则势必要求两只光电开关之间的距离加大,从而使得小车的行驶路线脱离轨道幅度较大,小车将无法快速完成准确的导向从而有可能导致寻迹失败。方案二:用四只红外对管。轨道两侧各放置两只,原理同方案一。当置于中间的一对红

5、外对管寻迹失败时,外面的一对红外对管重新担负起循迹的任务,做出相应的转向调整,直到小车恢复正向行驶。现场实测表明,小车在全速时也能够稳定循迹行驶。综合考虑到寻迹准确性和行驶速度的要求,采用方案二。电路图如图1.图1-循迹电路电路2 数据存储方案方案一:采用外接rom进行存储。采用外接rom进行存储是保存实验数据的惯用方法,其特点是在单片机断电之后仍然能保存住数据,但无疑将增大软硬开销和时间开销。方案二:直接用单片机内部的ram进行存储。虽然不能在断电后保存数据,但可以在实验结束后根据按键显示相应值。而且本实验的数据存储不大,采用ram可以减少io接口的使用,便利io接口分配,故此方案具有成本低

6、、易实现的优点,更符合实际需求。鉴于方案二的以上优点,综合比较,本方案采用方案二。3 障碍探测模块方案考虑到在测障过程中小车车速及反应调向速度的限制,小车应在距障碍物40cm的范围内做出反应,这样在顺利绕过障碍物的同时还为下一步驶入车库寻找到最佳的位置和方向。否则,如果范围太大,则可能产生障碍物的判断失误;范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向方案。方案一:采用一只红外传感器置于小车中央。一只红外传感器小车中央安装简易,也可以检测到障碍物的存在,但难以确定小车在水平方向上是否会与障碍物相撞,也不易让小车做出精确的转向反应。方案二:采用二只红外传感器分置于小车两边。二

7、只红外传感器分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。但此方案过于依赖硬件、成本较高、缺乏创造性,而且置于小车左方的红外传感器用到的几率很小,所以最终未采用。方案三:采用一只红外传感器置于小车右侧并与小车前进方向呈一固定角度(大约15),另一只红外传感器置于小车右侧并与小车前进方向垂直。基于对c点后行车地图中光源及障碍物尺寸、位置的分析,我们采用了从c点出发即获得光源对行车方向的控制,在向光源行驶的过程之中检查障碍物并做出相应的反应,这样不仅只使用一只红外传感器就实现了避障,而且避免因小车自然转弯而导致的盲目方向控制,同时为后面

8、以最简单直接的路线和在最短时间内驶入车库创造了机会。智能小车应以准确、智能见优,采用方案三。电路图如图2.图2红外避障电路4 寻找光源方案方案一:采用一个光源定位器。用深色不透光材料与光敏电阻制成的光源定位器有较理想的定向测试效果,2.5米之外就可以确定电源的方向。当小车绕过障碍物之后,通过改变行驶方向(相当于旋转光源定位器)获得最大光线照射以确定光源方向,这种方案有一定的可行性,但寻找光源的过程必定带来不必要的大量时间开销,且寻找过程盲目性太大,不利于控制。方案二:利用多四只光源定位器。该方案与轨迹探测模块设计思路大同小异,不再赘述。综合考虑以上方案,方案二更具准确性 ,故我们采用方案二。5

9、 刹车机构功能方案方案一:自然减速式。当系统发出停止信号时停止给驱动电机供电,小车在无动力状态因阻力而自然变为静止。由于惯性,小车全速行驶时需1.8秒后才能停止,因车轮滑行造成的误差较大。无法实现精确制动的目标。方案二:反转式。当小车需要停车时给驱动电机以反转信号,利用轮胎与跑道的摩擦力抵消惯性效应。由于车速是渐减的,反向驱动信号长度也要渐减,否则小车可能反向行驶。使用此方案后全速刹车反应时间减少为0.5s。鉴于精确制动,本系统中采用方案二。7 . 显示模块方案方案一:数码管显示。数码管显示清晰,更加适合在白天等强光条件下显示方案二:1602液晶显示。液晶极其省电,1602液晶最多可以输出32

10、个字符,电路只需简单的连接即可,程序设计也很简单,可以移植现成的模板。但是使用有温度范围限制,且因是反光式的,在外界光线很明亮的情况下很容易看不清楚。 由于1602耗电量低且程序编写简单,电路连接简单。显示清楚。故本系统中采用方案二。电路图如图4.图4液晶显示电路图8).供电方案方案一:一块电池供电采用一块电池供电,优点是使用电池数量少,节省空间,但缺点是小车功耗大,一块电池供电部稳定。方案二:两路供电采用两路供电,这样可以使用其中一路单独为单片机,指示灯等供电。另外一路提供l298n、lm339的工作电压,将电机驱动电源(12v)和单片机的供电电源(5v)完全隔开,这样设计可以彻底消除电机驱

11、动所造成的干扰,提高了系统的稳定性保证单片机的平稳运行。电路图如图5.图5电源供电电路图9)电机驱动方案由于使用的是永磁式直流电机,因此只能对电枢电压进行控制来实现电机转速和方向的控制,因此电机驱动模块要能方便的实现对输出电压的大小和极性控制。可以考虑的方案有: 方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路比较简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短可靠性不高。 方案二:采用功率管组成桥型电机驱动电路,并利用pwm波来实现对输出电压的有效值大小和极性进行控制。这种调速方式具有调速特性优良、调整平滑、调速范围广、过载能力大,

12、能承受频繁的负载冲击,能耗小等优点,还可以实现频繁的无级快速启动和反转等优点。 方案三:采用l298专用芯片进行驱动。l298芯片的工作原理和方案二一致,但是其工作时较方案二稳定,且编程较为简单,便于调试。另外l298内部集成了两个h桥,能同时驱动两个电机,硬件实现较方案二简单。 基于上述理论分析,拟定方案三。电路图如图6.图6电机驱动电路图五 主要研究结果1. 电动车从起跑线出发沿引导线到达点。车体超过起跑线电动车到达b点以后进入弯道区,圆弧线到达c点。电动车到达c点检测到片c点停车5秒发出断续的声光信息。 电动车在光源的引导下,障碍。电动车,图7总体电路图双电源pcb电机驱动pcb液晶显示

13、pcb小车总体流程图如下: yes no no noyes no no yes no yes六、存在的问题及今后努力方向1.小车行驶过程中由于使用万向轮的缘故,车尾有轻微摆动。今后计划改用四驱驱动车体。争取让小车行驶更稳定,转向更方便。由于小车驱动为直流电机,说以小车在转向时无法精确控制转向角。且直流电机不稳定,今后计划改用步进式电机,实现转角的精确控制。2.由于金属接近开关探测头直径较大,且检测距离较小。导致检测铁片时两块铁片的距离必须大于金属接近开关探测头一个直径,金属开关探测器分辨距离为150mm,分辨率较小,争取设计出更合理的电路图提高金属探测分辨率。3.pcb绘制过程中有少量错误,小

14、车在硬件设计时使用是万用版,导致布线不是很美观,争取在用autium designer 画出pcb板的情况下用更好的布线连接。4.程序设计方面争取把程序设计的更简洁,更有效。减少单片机储存空间。5.控制芯片在用好51的前提下,争取使用更高级的芯片,例如arm系列。使芯片控制功能更加全面。评审组意见: 评审组组长: 年 月 日程序如下:/* 硬件连接 p3_7 接蜂鸣器,led p0_6 接金属接近开关信号 p0_0 接驱动模块ena使能端,输入pwm信号调节速度 p0_5 接驱动模块enb使能端,输入pwm信号调节速度 p0_1 p0_2 接in1 in2 当 p0_1 1,p0_2 0; 时

15、左电机正转 p0_1 p0_2 接in1 in2 当 p0_1 0,p0_2 1; 时左电机反转 p0_3 p0_4 接in3 in4 当 p0_3 1,p0_4 0; 时右电机正转 p0_3 p0_4 接in3 in4 当 p0_3 0,p0_4 1; 时右电机反转 p2_0接四路寻迹模块接口第一路输出信号即中控板上面标记为out1 p2_1接四路寻迹模块接口第二路输出信号即中控板上面标记为out2 p2_2接四路寻迹模块接口第三路输出信号即中控板上面标记为out3 p2_3接四路寻迹模块接口第四路输出信号即中控板上面标记为out4 四路寻迹传感器有信号 白线)为0 没有信号(黑线)为1 p

16、2_4接四路寻光模块接口第一路输出信号即中控板上面标记为out1 p2_5接四路寻光模块接口第二路输出信号即中控板上面标记为out2 p2_6接四路寻光模块接口第三路输出信号即中控板上面标记为out3 p2_7接四路寻光模块接口第四路输出信号即中控板上面标记为out4*/#include #include sbit rs p36; /定义端口 sbit rw p31;sbit en p30;#define rs_clr rs 0 #define rs_set rs 1#define rw_clr rw 0 #define rw_set rw 1 #define en_clr en 0#defi

17、ne en_set en 1#define dataport p1#define uchar unsigned char#define uint unsigned intsbit left_moto_pwm p00; /接驱动模块ena使能端,输入pwm信号调节速度sbit right_moto_pwm p05; /接驱动模块enbsbit left_2_led p20; /四路寻迹模块接口第一路sbit left_1_led p21; /四路寻迹模块接口第二路sbit right_1_led p22; /四路寻迹模块接口第三路sbit right_2_led p23; /四路寻迹模块接口第四

18、路sbit left_2_led p24; /四路寻光模块接口第一路sbit left_1_led p25; /四路寻光模块接口第二路sbit right_1_led p26; /四路寻光模块接口第三路sbit right_2_led p27; /四路寻光模块接口第四路sbit a p01; sbit b p02; sbit c p03; sbit d p04;sbit e p37;sbit f p06;uchar pwm_val_left 0;/变量定义uchar push_val_left 0;/ 左电机占空比n/10uchar pwm_val_right 0;uchar push_val

19、_right 0;/ 右电机占空比n/10bit right_moto_stop 1;bit left_moto_stop 1;bit suo 1;bit tin 0;bit b1 0;bit b2 0;uint time 0;uchar number 0;#define t time/1000 /10+48#define i time/1000 %10+48#define n number+48/* void delayus2x uchar t while -t ; void delayms uchar t while t- /大致延时1ms delayus2x 245 ; delayus2

20、x 245 ; /* 判忙函数bit lcd_check_busy void dataport 0xff; rs_clr; rw_set; en_clr; _nop_ ; en_set;return bit dataport&0x80 ; /* 写入命令函数void lcd_write_com uchar com delayms 5 ;rs_clr; rw_clr; en_set; dataport com; _nop_ ; en_clr; /* 写入数据函数void lcd_write_data uchar data delayms 5 ;rs_set; rw_clr; en_set; da

21、taport data; _nop_ ;en_clr; /* 清屏函数void lcd_clear void lcd_write_com 0x01 ; delayms 5 ; /* 写入字符串函数void lcd_write_string uchar x,uchar y,uchar *s if y 0 lcd_write_com 0x80+x ; /表示第一行 else lcd_write_com 0xc0+x ; /表示第二行 while *s lcd_write_data *s ; s+; /* 写入字符函数void lcd_write_char uchar x,uchar y,uchar

22、 data if y 0 lcd_write_com 0x80+x ; else lcd_write_com 0xc0+x ; lcd_write_data data ; /* 初始化函数void lcd_init void lcd_write_com 0x38 ; /*显示模式设置*/ delayms 5 ; lcd_write_com 0x38 ; delayms 5 ; lcd_write_com 0x38 ; delayms 5 ; lcd_write_com 0x38 ; lcd_write_com 0x08 ; /*显示关闭*/ lcd_write_com 0x01 ; /*显示清

23、屏*/ lcd_write_com 0x06 ; /*显示光标移动设置*/ delayms 5 ; lcd_write_com 0x0c ; /*显示开及光标设置*/ /* 显示函数void yejing lcd_init ; lcd_clear ;/清屏 lcd_write_string 1,1,number: ;lcd_write_string 1,0,time: ;lcd_write_char 8,1,n ;lcd_write_char 6,0,t ;lcd_write_char 7,0,i ; /*/* 左右电机前进,后退函数 */void left_moto_go a 1,b 0;

24、/p3_4 p3_5 接in1 in2 当 p3_4 1,p3_5 0; 时左电机前进void left_moto_back a 0,b 1; /p3_4 p3_5 接in1 in2 当 p3_4 0,p3_5 1; 时左电机后退 void right_moto_go c 1,d 0; /p3_6 p3_7 接in1 in2 当 p3_6 1,p3_7 0; 时右电机前转void right_moto_back c 0,d 1; /p3_6 p3_7 接in1 in2 当 p3_6 0,p3_7 1; 时右电机后退/*/*循迹模块控制pwm信号*/void xunji if left_2_le

25、d 0&left_1_led 0&right_1_led 0&right_2_led 0 | left_2_led 0&left_1_led 1&right_1_led 1&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 0&right_2_led 1 | left_2_led 1&left_1_led 0&right_1_led 1&right_2_led 1 | left_2_led 1&left_1_led 1&right_1_led 0&right_2_led 1 | left_2_led 1&left_1_led 1&rig

26、ht_1_led 1&right_2_led 1 right_moto_stop 1;left_moto_stop 1; elseif left_2_led 0&left_1_led 0&right_1_led 0&right_2_led 1 | left_2_led 0&left_1_led 0&right_1_led 1&right_2_led 0 | left_2_led 0&left_1_led 0&right_1_led 1&right_2_led 1 | left_2_led 0&left_1_led 1&right_1_led 0&right_2_led 1 | left_2_l

27、ed 0&left_1_led 1&right_1_led 1&right_2_led 1 right_moto_stop 0;left_moto_stop 1; else if left_2_led 0&left_1_led 1&right_1_led 0&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 0&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 1&right_2_led 0 | left_2_led 1&left_1_led 1&right_1_led 0&ri

28、ght_2_led 0 | left_2_led 1&left_1_led 1&right_1_led 1&right_2_led 0 right_moto_stop 1;left_moto_stop 0; /*/*避障函数*/void bizhang if b1 0&b2 0 right_moto_stop 1;left_moto_stop 1; else if b1 0&b2 1 right_moto_stop 0;left_moto_stop 1; else right_moto_stop 1;left_moto_stop 0; /*/*循光函数*/void xunguang if le

29、ft_2_led 0&left_1_led 0&right_1_led 0&right_2_led 0 | left_2_led 0&left_1_led 1&right_1_led 1&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 0&right_2_led 1 | left_2_led 1&left_1_led 0&right_1_led 1&right_2_led 1 | left_2_led 1&left_1_led 1&right_1_led 0&right_2_led 1 | left_2_led 1&left_1_le

30、d 1&right_1_led 1&right_2_led 1 right_moto_stop 1;left_moto_stop 1; elseif left_2_led 0&left_1_led 0&right_1_led 0&right_2_led 1 | left_2_led 0&left_1_led 0&right_1_led 1&right_2_led 0 | left_2_led 0&left_1_led 0&right_1_led 1&right_2_led 1 | left_2_led 0&left_1_led 1&right_1_led 0&right_2_led 1 | l

31、eft_2_led 0&left_1_led 1&right_1_led 1&right_2_led 1 right_moto_stop 0;left_moto_stop 1; else if left_2_led 0&left_1_led 1&right_1_led 0&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 0&right_2_led 0 | left_2_led 1&left_1_led 0&right_1_led 1&right_2_led 0 | left_2_led 1&left_1_led 1&right_1_l

32、ed 0&right_2_led 0 | left_2_led 1&left_1_led 1&right_1_led 1&right_2_led 0 right_moto_stop 1;left_moto_stop 0; /*/*声光函数*/void shengguan if f 0 e 0;if suo number+;yejing ;suo 0; else e 0; else e 1;suo 1; /*/*停车函数*/void tinche if left_2_led 1&left_1_led 1&right_1_led 0&right_2_led 1 tin 1;if tin ea 0;right_moto_stop 0;left_moto_stop 0;yejing ; /*/void run /前进函数 xunji ; push_val_left 6; /pwm 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 push_

温馨提示

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

评论

0/150

提交评论