超声波避障小车

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机课程设计》

设计报告

设计课题:超声波避障小车

专业班级:电子信息工程121班

学生姓名:范东耀

指导教师:蔡岗

设计时间: 2015年7月8日

赣南师范学院科技学院数学与信息科学系

超声波避障小车

一、设计任务与要求

1.设计任务:

1、采用超声波模块实现小车自动避障功能。

2、用LCD1602显示当前的障碍距离。

2.扩展部分:

测出当前小车的行驶速度,并用LCD1602显示当前速度。

二、方案设计与论证

1设计方案

系统采用51单片机作为核心控制单元用于智能车系统的控制,驱动板则以L289N驱动芯片为核心,应用超声波模块及光电传感器和LCD液晶模块,成功的实现了小车的避障、测速和显示功能这三大功能。在超声波检测到障碍物之后,主控芯片根据距离值控制电机的转动,在与障碍物距离较大的情况下,快速前进,在与障碍物距离较小但未到达临界转弯方向值得时候,慢速前进。在与障碍物距离较近时,小车转弯,在与障碍物很近时,小车后退转弯,来进行避障。测速传感器为光电测速传感器,在单位时间内计算脉冲的次数,然后再进行转换和处理即得到所测量的速度。通过软件pwm进行调速。通过LCD1602显示障碍距离及当前的小车行驶速度。

2 原理框图

简要原理框图如图1所示。

图1 系统原理框图

三、电路设计

1 电路设计

(1)超声波测距模块:

超声波测距的原理是首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。时序图如图1所示。由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:S=VT/2,通过单片机来算出距离。超声波测距原理图如图2所示。

图2 超声波测距原理

(2)显示模块:

系统采用LCD1602显示,它不仅节省了单片机的资源,相比较数码管液晶显示更加直观、节能,同时可以直接显示字母、数字、符号等,具有灵活易操作的特性。故采用LCD显示。

引脚功能说明:LCD1602采用标准的16脚(带背光)接口,各引脚接口说明如表1所示:

表1 LCD1602引脚说明

(3)电机驱动模块:

本系统采用由双极性管组成的H桥电路(L298N)。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,则效率非常高;H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。而且它有更强的驱动能力。L298N 有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。

驱动电机的运行,I/O端口状态与电机制动对照表,如下表2所示。

表2 I/O端口状态与电机制动对照表

(4)光耦传感器

光耦传感器原理是传感器开孔圆盘的转轴与减速电机转轴相连,光源的光通过开孔盘的孔和缝隙反射到光敏元件上,开孔盘旋转体转一周,光敏元件上照到光的次数等于盘上的开孔数,从而测出旋转体旋转速度。灵敏度较高,但容易受外界光源的影响。虽然光电传感器受外界光源影响很大,但是它使用方便、安装简单,还有本设计要求的准确度不是很高,因此就选择了光耦测速传感器。

光耦测速传感器的原理图如图3所示。

图3 光耦测速传感器原理图

2 主要性能参数计算

当单片机的给一个20us的触发信号给超声波模块时,TRIG由低电平转换为高电平,TRIG=1,单片机开时计时,开启中断,并记录时间为T1,接收换能器等待接收回波,ECHO持续为高电平的时间为发射时间。换能器接收回波将超声波转换为电信号,送至单片机,记录时间为T2。超声波发射的时间为:T2-T1,C 为声速,计算发射距离为: L = (T2-T1)*C/2 。

速度的计算是通过小车轮胎的周长除以测码盘转过孔的个数,得出一个码盘孔对应的长度为1CM,通过定时器取1秒时间,1秒转过的码盘孔个数就是速度。

3程序流程图

本设计系统软件由主程序﹑定时子程序、电机驱动子程序﹑中断子程序、显示子程序﹑算法子程序构成。主程序流程图如图4所示。

图4主程序流程图

四、电路制作及调试

1 实物图

通过以上步骤,制作出实物图。正面图如图5所示,反面图如图6所示。

图5 实物图正面

图6 实物图反面

2 电路调试测试

在小车的调试的过程中,碰到的最大的问题就是程序有时会跑飞,起初我觉得出现问题的原因是有以下三点,第一,程序的编写过于繁杂,数据处理和逻辑判断太多,芯片处理不过来,第二,数据经过处理后,传送出去未来得及经过处

理就已经改变了值,导致芯片来不及处理而跑飞,第三,数据的类型没有定义好,导致数据的值超过定义的类型的极限。经过几天的程序调试,我简化了程序的编写,在重要数据的传送过程中加入了延时函数,保证数据有充足的传送时间,并把各种参数定义的类型检查了几遍,结果并没有解决程序跑飞的问题。最后我发现问题出在电源上,由于小车负载较多,电源带载能力有限,导致芯片受到干扰而跑飞,我将耗电能力较强的直流电机的电源断开,电源只给芯片和其他模块供电,程序能够良好的运行。最后我通过在程序中加入“看门狗”的程序,判断程序是否跑飞,若程序跑飞,将软件复位。能有效的解决程序跑飞的问题。

在做测速模块时,发现单片机的资源不够用,单片机只有两个定时器,我在做超声波测距时已经用了一个定时器的计数模式做测距,小车的PWM调速用了一个定时器。而做测速还需要两个定时器,一个定时器做计数,计码盘转的圈数,一个定时器定1秒的时间,从而可以算出当前的小车速度。我通过学习,了解了定时器复用,可以从PWM中的1MS定时做处理,取出1S的时间,用外部中断计码盘的圈数,再通过数据处理,可以得出小车的速度。

3 元件清单

元件清单如表3所示。

表3 元件清单

相关文档
最新文档