基于超声波测距的智能小车设计 - 图文

发布时间 : 星期四 文章基于超声波测距的智能小车设计 - 图文更新完毕开始阅读

动态显示是多个数码管交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短,则会出现显示暗且有重影。

例如需要显示数字“12”时,先输出位选信号,选中第一个数码管,输出1 的段码,延时一段时间后选中第二个数码管,输出2 的段码。把上面的流程以一定的速度循环执行就可以显示出“12”,由于交替的速度非常快,人眼看到的就是连续的“12”。

5.1.3超声波数据采集电路软件流程

主程序初始化后主要判断是否发送超声波,发送超声波后,根据超声波接收到

的时间,按照公式计算出距离信息,同时将距离信息发送到相应的显示端口,使LED显示屏予以显示当前的距离信息。具体的程序流程图如图5.1所示。

图5.1 超声波数据采集电路软件流程图

21

5.2 控制电路程序设计

5.2.1红外接收解码设计

红外遥控器的一帧数据中含有32 位码,包含两次8 位用户码,8 位数据码和8 位数据码的反码及最后位的同步位。引导码由4.5ms 的载波和4.5ms 的载波关断波形所构成,以作为用户码、数据码以及他们的反码的先导。同步位(SY)是标志最后一位编码是“0”或“1”的标识位,它只有0.56ms的有载波信号构成。0和1的波形如图5.2:

图5.2 遥控器“0”和“1”

用户码和键数据码的发送均是低位在前,高位在后。

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms-18ms),高8位地址码(9ms-18ms),8位数据码(9ms-18ms)和这8位数据的反码(9ms-18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。

单片机接收到信号时,对信号进行解码,解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。

5.2.2 小车驱动程序设计

小车控制流程:首先从单片机中读出控制信息,向连接单片机六个端口写入对应的高或低电平。使小车工作于不同的运动状态。端口电平与小车运动状态的

21

对应关系表如表5.1。

表5.1端口电平与小车运动状态的对应关系

ENA 1 1 1 1 1 1 X ENB 1 1 1 1 1 1 X IN1 1 0 0 1 0 0 0 IN2 0 1 0 0 0 1 0 IN3 1 0 1 0 0 0 0 IN4 0 1 0 0 1 0 0 小车运动状态 前进 后退 前左转 前右转 后左转 后右转 停止 5.2.3 控制电路程序流程

主程序初始化后采用按键查询的方式判断遥控器是否有键按下,根据接收到不同码率,识别出不同的键值,再根据不同的键值执行相应的命令,使小车运动于不同的状态。具体的程序流程图如图5.3所示。

图5.3 控制电路程序流程图

22

结 论

本设计采用8位微处理器AT89S52为主控制器,通过超声波传感器采集距离信息,并通过主控制器进行数据的转换和控制,同时通过红外遥控器对小车的运动状态加以控制。该系统采用软、硬件结合的方法,硬件系统主要有超声波数据采集模块、红外遥控接受模块、小车驱动模块、距离显示模块、报警模块和主控器组成。AT89S52单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用它的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。

总而言之,本文的创新点和取得的主要成果是:

(1)具有模块化的特点。该设计采用模块化设计,超声波数据采集系统和红外遥控小车系统。超声波数据采集系统主要是采集距离信息,并根据不同的信息发出不同频率的声音;控制系统主要负责控制小车,通过红外遥控器向控制器发送控制命令,以达到手动控制小车的目的。这样可以使各部分明确分工,更好地提高工作效率。

(2)具有多用化的特点。本文设计中的超声波测距模块可以应用于机器人的距离信息采集,汽车防撞测距等各个方面。具有很高的移植应用价值。

本文所述的系统完成了预期要求的功能指标,但由于时间紧迫,系统有些方面还需改进,为了得到更好的性能,可以从以下几方面来进一步开展工作:

(1)可增加温度补偿单元。要想通过测量超声波传播时间确定距离,声速C必须恒定,实际上声速随介质、温度、压力等变化而变化。通过对温度修正来校正声速的方法,即用测温元件测量实际环境,根据声速与温度的关系计算出测量时实际环境中的声速,再根据测距公式得到距离。

(2)可以进一步改进接收电路,提高接收电路的反应速度;对于发射电路,可以直接采用硬件电路发生脉冲等。

利用超声波检测往往比较迅速,方便,易于做到实时控制,并且在测量精度方面能达到工业实用的要求。超声波测量在国防,航空航天,电力,石化,机械,材料等众多领域具有广泛的作用,它不但可以保证产品质量,保障安全,还可起到节约能源,降低成本的作用。超声检测设备还具有结构简单,成本低廉的优点,有利于工程实际使用。近十几年来,由于微机技术,现代电子技术,信号处理技术以及超声波产生和接收新技术的发展,突破了常规超声检测的限制,进一步开拓了其适用范围,超声波测距技术将会有更大的发展。

26

联系合同范文客服:xxxxx#qq.com(#替换为@)