基于单片机的红外遥控智能小车的设计

更新时间:2024-06-26 09:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

龙源期刊网 http://www.qikan.com.cn

基于单片机的红外遥控智能小车的设计

作者:赵海兰 赵之赫

来源:《电子世界》2013年第03期

【摘要】本设计采用AT89S52单片机加电机驱动电路和红外遥控及液晶实时显示小车运行状态还有红外接收一体化传感器设计而成,采用模块化的设计方案,运用红外遥控器控制小车的启动和停止,并对设计的电路进行了实际测试。实现了用红外遥控控制小车的启动停止左转右转的同时可以实时显示小车的运行状态。

【关键词】单片机;红外遥控;电机驱动;LCD1602 1.引言

利用单片机最小系统加红外遥控器及红外接收模块及电机驱动模块通过编程来实现小车的启动和停止,左转右转和前进后退等功能,本设计采用模块化设计结构,各个功能相互不受影响,具有较高的智能化、人性化。 2.红外遥控小车的系统组成

红外遥控小车的实现主要由遥控发射器、红外接收头、电机驱动模块及可扩展接口电路及液晶显示模块组成,如图1所示。红外遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接收头完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,此串行码输入到单片机,由单片机完成对遥控指令解码,并执行相应的遥控功能。使用红外遥控器作为控制系统的输入,然后单片机一方面根据接收到的遥控码来驱动电机模块控制小车的运行,同时控制液晶实时显示小车的运行状态。为了实现此功能,首先需要解决如下几个关键问题:如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、驱动电机运行及液晶显示的程序设计。 2.1 红外遥控的实现原理

遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:

(1)采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。

龙源期刊网 http://www.qikan.com.cn

(2)UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六位;后16位为8位操作码(功能码)及其反码。UPD6121G最多可支持128种不同组合的编码。

(3)遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间。 (4)当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 2.2 红外接收器及解码

一体化红外线接收器是一种集红外线接收和放大于一体,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。其外形图如图2所示。

红外一开始发送一段13.5ms的引导码,引导码由9ms的高电平和4.5ms的低电平组成,跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送一段重复码,重复码由9ms的高电平,4.5ms的低电平,跟着是一个短脉冲。经过红外接收头后,所有的码都经过反码,然后单片机通过中断及定时器定时加算法把这些码接收到后进行相应的处理。单片机接收到的红外码如图3所示。

遥控端发出以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图4。 红外接收头将38K载波信号过滤,得到与发射代码反向接收代码。

注意:解码的关键是如何识别“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左右均可。

红外接收模块外形如图2所示,使用一体化红外接收头1838,其电路原理图如下图6所示。瓷片电容104为去耦电容,1端即解调信号的输出端,直接与单片机的P3.2口相连。有红外编码信号发射时,输出为检波整形后的方波信号,并直接提供给单片机。

本文来源:https://www.bwwdw.com/article/r0b3.html

Top