ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:824.27KB ,
资源ID:10205140      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10205140.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能避障小车课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能避障小车课程设计.docx

1、智能避障小车课程设计 光机电一体化课程设计 题 目: 智能超声波避障小车 院 别: 机电学院 专 业: 机械电子工程(师范) * * * 学 号: * 同组人员: 谢嘉玲 欧嘉兴 * * 日 期: 2016年6月16日 智能超声波避障小车摘要本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号检测模块采用超声波测距模块,用以对有无障进行检测。主控电路采用宏晶公司的8051核心的STC89C52单片机为控制芯片。电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。信号检测模块将采集到的路况信号传入STC89C52单片机,

2、经单片机处理过后对L298N发出指令进行相应的调整。我们设计的小车已经实现基本的避障功能。关键词:智能避障小车,STC89C52单片机,L298N驱动芯片,信号检测模块,避障1课程设计内容1.1项目研究的背景及意义智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、 家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术

3、含量的缺乏进行一定的 弥补,实现经济收益,形成商业价值。 超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单, 易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。 本智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离 车道或距障碍物小于安全距离时,汽车就

4、会发出警报,提醒驾驶员注意,如果 驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。这样的小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更 多的信息,让我们更加的了解月球,为将来登月做好充分准备。 这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有 很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在 它上面装上摄像机,代替人们进行许多无法进行的工作。1.2应用场合和功能: 应用场合:智能小车是一种能够通过编程手段完成特定任务的小型化机器人,它具有制作成本低廉,电路结构简单,程序调试方便等优点。由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高

5、校学生的喜爱。同时在玩具的应用上深受小朋友的青睐。功能:本小车使用STC12C5A60S2单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,当小车与障碍物的距离大于30cm时,小车会沿直线前进,当小车与障碍物的距离小于30cm时,小车转弯以避开障碍物。在避开障碍物后,小车会沿直线前进。1.3项目主要研究内容本设计题目为智能避障小车设计,主要研究小车的避障功能,小车遇到障碍物时,当距离障碍物大于30cm,驱动电机工作,小车正常前进,当小于30cm时,舵机会接受到单片机的信号,小车采取相应的避障措施。这里探测装置必不可少,因为超声波在距离检测方面的较准确定位。所以采用超声波传感器作为

6、探测装置,由于超声波遇到障碍物时发生像光一样的反射和散射,在经过多次发射之后再回到超声波检测端口会产生较严重的路程差,从而影响对距离的检测进而影响对障碍物的较准确定位。通过软件内部校准优化消除外部物理条件造成的误差从而达到对障碍物的较准确定位。2总体方案论述2.1总体方案计划小车使用STC12C5A60S2单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,当小车与障碍物的距离大于危险距离时,小车会沿直线前进,当小车与障碍物的距离小于危险距离时,小车转弯以避开障碍物。在避开障碍物后,小车会沿直线前进。2.2总体功能及性能指标2.2.1总体功能1. 通过测距传感器来获取小车距离障碍物

7、的距离。2. 当小车与障碍物的距离大于30cm时,小车会沿直线前进,当小车与障碍物的距离小于30cm时,小车转弯以避开障碍物。2.2.2总体电路原理图图二 总体电路原理图2.3系统方案的比较与确定2.3.1系统方案的比较1.方案一(1)设计超声波模块测距,STC12C5A60S2单片机作为主控模块;(2)设定报警阈值(设定30CM,可用键盘调整阈值),小车通过舵机工作来实现转弯避障;(3)利用STC12C5A60S2的P1口AD转换功能,超声波模块测量距离。2.方案二(1)红外测距器的系统设计,STC12C5A60S2单片机作为主控模块;(2)用动态扫描法实现LED数字显示,红外驱动信号用单片

8、机的定时器完成;(3)单片机使用P1.0端口输出超声波转化器所需的40KHz方波信号ISD1820语音播放距离,并用LED数字显示显示其距离值。2.3.2系统方案的确定我们小组考虑到,超声波测距方向性好,耐脏污,可以在较差环境下使用,价格中等,检测距离远。红外测距的优点是便宜,易制,安全,缺点是精度低、抗干扰能力差、方向性差、测试距离近。激光测距精度高,但是成本较高,制作难度高,对人体安全有影响,且受外界环境影响较大。三者经过相互比较,从经济和我们所学的知识考虑。所以我们最终选择方案一。2.4最终实物图3硬件电路的设计 3.1硬件系统的基本结构该智能车系统可分为四个主要模块:单片机主控核心模块

9、,传感器避障模块,电机驱动模块和显示模块。其主要组成构图如下:3.1.1障碍物测距系统:方案一:超声波视觉 优点:价格合理,夜间不受影响。易于多目标测量和分类,分辨率好。缺点:测量范围小,对天气变化敏感。不能直接测量距离,算法复杂,处理速度慢。方案二:红外测距 优点:便宜,易制,安全,速度快。 缺点:精度低,距离近,方向性差,容易受光干扰 探测障碍的最简单的方法是使用超声波传感器,它是利用向目标发射超声波脉冲,计算其往返时间来判定距离的。算法简单,价格合理。所以我们选择超声波传感器。超声波测距原理:首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由

10、超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。时序图如图1所示。由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:S=VT/2,通过单片机来算出距离。图3.1:超声波测距原理3.1.2驱动模块:方案一:采用ULN2003驱动,它是由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,一般用于高速大功率驱动电路。所以我们

11、不采用这个方案。方案二:采用由双极性管组成的H桥电路(L298N)。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,则效率非常高;H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。而且它有更强的驱动能力。L298N有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。L298N有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。所以我们选择L298N。下图为L298内部图:图3.3:L298内部原理图L298各引脚功能,如下表。引脚功能1、15SEN1、SEN2分别为两个H桥的电流反馈脚,不用时

12、可以接地2、31Y1、1Y2输出端,与对应输入端(IN1、IN2)同逻辑4VS驱动电压,最小值需比输入的低电平电压高2.5V5、7IN1、IN2输入端,TTL电平兼容6、11EN1、EN2使能端,低电平禁止输出8GND地9VSS逻辑电源,4.57V10、12IN3、IN4输入端,TTL电平兼容13、142Y1、2Y2输出端,与对应输入端(IN3、IN4)同逻辑表3-3-1 封装引脚及功能驱动电机的运行,I/O端口状态与电机制动对照表,如下。IN1IN2IN3IN4EN1EN2转速101011正转010111反转111111停止000011停止XXXX00停止表3-3-2 I/O端口状态与电机制

13、动对照表3.1.3电源模块:我们选择采用8.4v的独立的稳压电源。优点:稳定可靠,且有各种成熟电路可供选用;缺点:电源需要经LM2940转换成5v的独立的稳压电源。综合电源模块的缺优点,和电路的实际需求,我们采用了两个变压电源模块,一块给小车的电机驱动供电,一块给小车的芯片供电,这样弥补了单个独立电源供电出现电力不足的情况。4.程序4.1 程序流程图本设计系统软件采用模块化结构,由主程序定时子程序、电机驱动子程序中断子程序、显示子程序算法子程序构成。主程序流程图如图2所示。其中:避障中断服务子程序完成对超声波探测器产生的外部中断进行处理,如果超出预定的危险距离就左转进行避障。在定时中断服务子程

14、序,完成定时与里程的计算。主程序流程图如图13所示。图13 程序流程图5系统软硬件调试5.1 硬件调试超声波距仪的制作为了使信号稳定,最好给输入电源加上一个滤波电路,会增加误差,但总体来说不影响结果。在本次设计中,主控模块是非常重要的部分,它不仅是本次设计的核心,在本次硬件调试中也遇到了问题,接上电源的时候,显示屏不亮,没有任何显示,于是我做了如下的工作:(1)检查电源是否通电;(2)编程使P1为低电平,检查到P1输出为低;(3)检查P0口未接上拉电阻。5.2软件调试 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据所设计的电路参数和程序,测距仪能测的范围为20cm150c

15、m,测距仪最大误差不超过0.5cm。系统调试完后对各个距离进行多次测量,与预定值进行比较,对测量误差进行多次实验分析,不断调节器件和修改程序使其达到实际使用的测量要求。5.3 调试中遇到的问题在焊接过程中一些地方出现虚焊等接触不良的问题,导致显示不稳定有闪烁。接线过程中用插针接线容易导致接线松动,没接到或者接触不良。环境问题:超声波在空气介质的传播过程中会有很大的衰减,其衰减遵循指数规律。一般情况下能测150cm,但是空气介质发生改变,如尘埃过多,导致红外线强度降低,测量发生误差,且测量距离变小。周围有其他辐射源,并且强度很大时会影响测量结果。结 论对所设计的电路进行测量、校准发现其测量范围在

16、20cm150cm内的平面物体做了多次测量发现,其最大误差为0.5cm,且重复性好。该测距仪稳定性比较高、灵敏度比较高。但是在检测过程中会有一些不便的地方: 1.测量时在超声波测距仪和目标物体之间周没有其它可阻挡的物体,由于是根据反射能量法,且发射功率有限,反射回来的声波能量容易过低而无法采集,测距仪无法测量150cm外的物体。2.必须在干净清新的空气环境下测量,空气中一旦尘埃过多,会最终影响计算距离的值。3.不能够实现不同温度下的测距功能。4.因为超声波是将空气作为媒介所以受电磁干扰比较大。由上述的分析知,如果能够干净清新的空气环境,稳定的温度下,无其它电磁干扰,阻挡的物体,能够获得较高的测

17、量精度。参考文献1 毋茂盛,单片机原理与开发,高等教育出版社2 计时鸣,机电一体化控制技术与系统,西安电子科技大学出版社3 张曙光,c语言程序设计,人民邮电出版社4 彭伟,单片机C语言程序设计实训基于8051+Proteus仿真电子工业出版社附录 附录一 相关程序 #include #include #include #define uchar unsigned char#define uint unsigned int /*Declare SFR associated with the PCA */sfr CCON = 0xD8; /PCA control registersbit CCF0

18、 = CCON0; /PCA module-0 interrupt flagsbit CCF1 = CCON1; /PCA module-1 interrupt flagsbit CR = CCON6; /PCA timer run control bitsbit CF = CCON7; /PCA timer overflow flagsfr CMOD = 0xD9; /PCA mode registersfr CL = 0xE9; /PCA base timer LOWsfr CH = 0xF9; /PCA base timer HIGHsfr CCAPM0 = 0xDA; /PCA mod

19、ule-0 mode registersfr CCAP0L = 0xEA; /PCA module-0 capture register LOWsfr CCAP0H = 0xFA; /PCA module-0 capture register HIGHsfr CCAPM1 = 0xDB; /PCA module-1 mode registersfr CCAP1L = 0xEB; /PCA module-1 capture register LOWsfr CCAP1H = 0xFB; /PCA module-1 capture register HIGHsfr PCAPWM0 = 0xf2;sf

20、r PCAPWM1 = 0xf3; sbit RX=P10; sbit TX=P11; sbit pwm =P27 ; sbit INPUT1=P20; /p13 sbit INPUT2=P21; sbit INPUT3=P22; /p14 sbit INPUT4=P23; sbit ENA=P24; sbit ENB=P25; unsigned char jd=0,count=0,joflag=0; /角度标识 unsigned int time=0; unsigned int timer=0; float S=0; bit flag =0;/*/ void Conut(void) time

21、=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.87)/100; /算出来是CM/ if(flag=1) /超出测量/ / flag=0;/ printf(-n); / / printf(S=%fn,S); /*/ void Delay1ms() /11.0592MHz unsigned char i, j; _nop_(); i = 11; j = 190; do while (-j); while (-i);void delayms(unsigned int xms) int xnum=0; for(;xnum=255) left_speed=255; if(r

22、ight_speed=255) right_speed=255; CCAP0H = CCAP0L = (255-left_speed); CCAP1H = CCAP1L = (255-right_speed);void dianji() INPUT1=1; INPUT2=0; INPUT3=1; INPUT4=0; ENA=1; ENB=1; void stop() INPUT1=1; INPUT2=0; INPUT3=1; INPUT4=0; ENA=0; ENB=0;/void duoji()/ TH0 = 0xff; /重新赋值/ TL0 = 0x19;/ if(countjd) /判断

23、0.5ms次数是否小于角度标识/ pwm=1; /确实小于,PWM输出高电平/ else/ pwm=0; /大于则输出低电平/ count=(count+1); /0.5ms次数加1/ count=count%80; /次数始终保持为40 即保持周期为20ms/void jiaodu(unsigned char num) unsigned int jdcount=0; for(;jdcount400;jdcount+) if(jdcount=num) pwm=1; else pwm=0; delayus5x(10); void check() if(S40) /检测到障碍物 if(joflag

24、%2) /0 jiaodu(2); else jiaodu(35); joflag+; joflag%=200; delayms(1200); jiaodu(21); else jiaodu(21); delayms(100);/*/void main(void) unsigned char iii=0; TMOD=0x21; /设T0为方式1,GATE=1; SCON=0x50; TH1=0xFD; TL1=0xFD; TH0=0; TL0=0; TR0=1; ET0=1; /允许T0中断 TR1=1; /开启定时器 TI=1; EA=1; /开启总中断 dianji(); PWM_INIT

25、(); moto(130,130); for(;) StartModule(); /set csb while(!RX); /当RX为零时等待 TR0=1; /开启计数 while(RX); /当RX为1计数并等待 TR0=0; /关闭计数 Conut(); /计算 / duoji(); EA=0; check(); EA=1; delayms(500); /100MS /*/ void zd0() interrupt 1 /T0中断用来计数器溢出,超过测距范围 flag=1; /中断溢出标志 附录二 使用元器件一览表序号名称型号规格数量备注1单片机芯片STC型STC12C5A60S21个主控单元2超声波模块1个测距3稳压芯片LM型LM29404个稳压4晶振12MHz产生时钟频率6电容陶瓷型普通型100F20PF7排阻普通型1031个上拉电阻8驱动L289n1个附录三 心得心得我们组的设计题目是“智能避障小车”,我们都没有做过避障小车,一开始不知从何下手,后来找了班里做同个题目的大神咨询,请教了实验室的师兄,理出思路,先

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1