APP下载

基于单片机的智能小车的设计

2021-03-17

科学咨询 2021年7期
关键词:解码遥控器遥控

仝 香

(江苏省淮安技师学院 江苏淮安 223001)

本设计主要应用AT89S51 作为控制核心,与显示器、驱动电路等相结合的系统。基于单片机设计。利用单片机AT89S51作为报警装置的控制器,能充分发挥AT89S51 的数据处理和实时控制功能。使系统工作处于最佳状态,提高系统的灵敏度。当产生信号驱动小车前进时,通过寻迹模块里的红外对管是否寻到黑线产生的电平信号再返回到单片机,单片机根据程序设计要求做出相应的判断送给电机驱动模块。控制小车让其在黑线上实现前进后退以及转向。

一、系统硬件电路与实现

本设计采用了AT89C52 单片机作为主控芯片来处理各个模块的运营,系统硬件总框图如图2.1

图1 系统硬件总体框图

(一)红外遥控以及解码模块

通常而言,红外遥控有着信息传输准、抗干扰、低成本等诸多优点。其作为一种非接触性的无线控制技术,在家用电器以及计算机系统方面有着广泛的应用。同时,其主要由接收以及发送两部分构成。在接收部分一般是诸如HS0038 等性能可靠且价格合理的接收头,信号通过主芯片来进行二进制编码,并形成最终的脉冲串信号。红外遥控不但有着接收信号的功能,而且能够整形、检波以及放大信号,或者接收到类似TTL 的电平编码,然后将其传送给单片机解码,实现对相关对象的有效控制。

(二)路况检测模块

采用了红外发射和接收探头来探测路况信息。红外发射管发射红外信号,然后再通过路面反射的方式获得前方是否存在有障碍物等路况信息,这也就是所谓的红外探测法。

二、系统软件设计与实现

在系统软件设计时,我们将所有的模块程序嵌入到遥控器中,这种嵌入式主要是为了便于控制,且不占CPU,因为遥控模块、寻迹模块、以及避障模块等都同时用到了实时检测扫描,这样不仅占用CPU,而且多个程序一块运行还会产生冲突。

遥控器发送红外信号时,开启单片机外部中断0,主程序进入中断函数,进行解码。解码处理完成之后,将遥控信息反馈给主程序,主程序对比遥控器输入值之后进入相应模块执行相关操作,各模块最终会处理是由电机驱动来完成的。

(一)红外遥控解码的实现

整个控制程序都嵌入到了遥控模块这一单元里边,所以红外遥控的解码是贯穿整个设计的主线,起到了整个系统入口的作用。

当遥控器上按下按键时,1 脚收到遥控器发送的红外脉冲信号并解码出脉宽波形,同时使单片机产生中断,并开启定时器、脉冲个数计数。记录出每来一个脉冲的时间和脉冲总个数,等到一帧的数据发送完成之后,单片机结束计数,并关闭定时器。之后进入判断阶段,首先判断这一帧数据中的脉冲个数,如果脉冲个数大于31 个则将数据丢弃,如果刚好则判断接收的脉冲是0 还是1,接收完之后将这些数据保存起来,再来比对数据的对错。首先比对前导码是否正确,也就是看一下当前遥控器是不是与小车匹配的遥控器,如果都正确之后再来将码值存起来。主程序用一个swich 函数来对相应码值进行对应函数的调用就可以了,比如按下了上键,则调用前进函数来完成小车前进动作。

(二)电机驱动

从宏观上讲,电机驱动在小车运行中占据主导,也是小车接收到命令之后的最终输出,任何一个模块所执行命令的外在表现。

电机驱动包括驱动电机前进、后退、左转、右转以及暂停功能。这些功能不仅仅只是遥控器按下上下左右之后才执行,而是每一个模块都会有执行电机驱动模块的操作,所以在设计程序时,最优设计应该是将这些前进、后退、左右转向单独编译成一个函数块,每一个子模块的运行就只需调用这些函数就可完成。这样做就节省了很大的程序空间,举个例子,在编写前进函数时,为了满足小车前进功能,只需将P0.0—P0.3 赋值1010 就可完成,其他左转右转只是改变相应P0.0—P0.3 的码值则可实现。当然为了使得更准确,可以添加一下延时函数在内部,以避免操作太快给电机带来了的损坏。

三、系统调试

遥控发送接收调试,将遥控器装上电池,然后将你自己的手机的照相功能打开,将手机上的摄像头对准你遥控器前面的发射灯,然后按下遥控器上的任何一个按键,观察手机照相功能里面的遥控器发射灯是否点亮。如果灯已被点亮,则说明遥控器能够正常发射红外信号,否则遥控不能发射红外信号。现在来谈谈红外接收头的调试,如果遥控器能够正常工作,下一步就应该测试一下接收头是否正常接收了。小车上电之后将接收头的1 号管脚接上示波器,然后一直按下遥控器上面的按键,观察示波器上面的波形,如果能够发现有重复的高低脉冲,但看不清具体的脉冲宽度,则说明红外线能够正常接收红外信号。如果接上之后没什么反应,也未见其波形,初步推断是接收头有问题,或许是元器件已坏,也可能是焊接时有虚焊或短路,这时应该再次检查电路连接。

以上步骤都完成且正常之后可遥控小程序以此来检查所用程序是否能够正常解码。

四、结束语

本设计属于一种基于单片机的设计,主要应用AT89S51作为控制核心,与显示器、驱动电路等相结合的系统。通过AT89S51 的运用,提高系统的灵敏度,使其处于最佳工作状态。当信号驱动小车向前行驶时,通过红外对管是否寻到黑线产生的电平信号再返回到单片机,然后再做出相应的判断,并将其传送给驱动模块,控制小车方向与行进。通过该小车设计,以求在获得项目整体设计能力的同时,掌握更多多通道多样化传感器综合控制的方法。同时,以AT89C52 单片机为控制核心,能够实现自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

猜你喜欢

解码遥控器遥控
《解码万吨站》
“遥控”老师
我是“糊涂虫”
时间遥控器
爸妈有个“遥控器”
解码eUCP2.0
他是如何遥控引爆的
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
行走的飞行遥控器