自学习万能红外遥控模块软、硬件设计

自学习万能红外遥控模块软、硬件设计

ID:6721818

大小:137.00 KB

页数:7页

时间:2018-01-23

自学习万能红外遥控模块软、硬件设计_第1页
自学习万能红外遥控模块软、硬件设计_第2页
自学习万能红外遥控模块软、硬件设计_第3页
自学习万能红外遥控模块软、硬件设计_第4页
自学习万能红外遥控模块软、硬件设计_第5页
资源描述:

《自学习万能红外遥控模块软、硬件设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、自学习万能红外遥控模块软、硬件设计红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。红外遥控是目前家用电器中用得较多的遥控方式,在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。但各产生的遥控器不能相互兼容。目前市场上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”,而且不能对新上市的产品进行控制。所以,如何实现对种类繁多得红外家电设备进行控制是本系统必须解决得任务之一。本模块用单片机对红外遥控器信号接收和转发的方法,由于只关心发射信号波形中的高低电平的宽度,不管其如何编码,所以能实现绝大部分红外设备的遥控。自学

2、习万能红外遥控模块整体框图如下:RS485总线通讯模块键盘单片机红外接收液晶红外发射EEPROM本模块主要要实现的功能为:l管理键盘和液晶,用户进行红外遥控器的学习等操作;l学习各种红外设备的编码并记录保存下来;l将学到的红外设备的编码发射出去,实现对红外设备的遥控;l与系统主机进行通讯,执行主机发送过来的命令,实现远程控制。一.硬件设计1.红外信号的的发射发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波

3、长为940nm左右。用遥控脉冲信号调制38kHz方波,然后将已调波放大,驱动红外发光二极管,就可以得到遥发射信号。该部分原理图如下:图中,与非门4011组成振荡电路,通过调整电阻VR3的值可调整调制频率。SEND脚连接单片机,是信号的输入端。有些遥控器的载频可能是40kHz,只须稍微加大发射功率仍然可用38kHz载频使其接收电路动作。2.红外信号的接收和波形测量所有红外遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,由于单片机的指令周期是微秒(μs)级,而已调波的脉宽只有20多μs,会产生很大的误差。

4、因此先要对已调波进行解调,对解调后的波形进行测量。本系统采用红外接收头TL0038。其内部已经包含解调电路和信号放大电路。该部分电路如下:TL0038的OUT脚连在单片机的一个IO口。单片机通过不断查询这个脚的高低电平变化,完成信号的采集。3.键盘输入与LCD显示为了给用户提供友好的界面,完成对红外遥控设备的编码学习过程,本模块采用键盘和LCD与用户进行交互。LCD可以显示文字和图形,给人以直观的感觉,更利于工作人员对系统的维护。键盘为键盘是人机交互界面的输入部分,是有30个按键组成的开关矩阵5×6。DGM12232B为点阵式液晶,其与单片机的接口电路如图3.

5、2。4.红外编码的存储为了保证系统意外断电后数据不丢失,本系统采用EEPROM将各种编码数据存放起来。AT24C16是2Kbyte容量的EEPROM,只需要两跟线(时钟线和数据线)和单片机连接。该部分如下图。5.RS485通讯该模块完成与主机的连接,接收来自主机的命令并执行,实现远程控制。采用MAX491全双工485转换芯片,与单片机的串行口相连。二.软件设计1.红外设备脉冲流分析红外信号的接收,接收和发射是自学习万能遥控器模块的难点和核心内心。要了解一个未知的遥控器,首先要分析其脉冲流,从而了解其脉冲波形特征(以何种方式携带“0”、“1”信息),进而了解其编

6、码规律。脉冲流的分析应从分析脉冲的高、低电平宽度入手。如果没有红外遥控信号到来,接收器的输出端口PO保持高电平;当接收到红外遥控信号时,接收器件信号转换成脉冲序列加到MCU的输入引脚。用软件测试引脚的逻辑电平,同时启动TC计时器,测量该引脚分别为逻辑“0”和逻辑“1”情况下的时间值,存储起来,然后打印、分析。得出如下规律:除引导脉冲(一个低电平和一个高电平)和结束脉冲(最后结尾的脉冲几个低电平和高电平)外的脉冲是数据编码脉冲,数据“位”信息由高电平脉宽决定:窄脉宽表示“0”、宽脉宽表示“1”。经过对相同按键脉冲进行多次采样发现,相同按键脉冲序列的对应位置脉宽时

7、间值是在一个小范围内波动的(不是一个确定值),因此,对模式的识别不能采取精确比较法。对此,本系统采取模糊的办法进行了抽象处理:①引导脉冲的低电平和高电平宽度的时间值比较大,用字节记录低电平和高电平的时间长度。②对数据脉冲流按bit进行存储。数据脉冲流的低电平脉宽相同,只记录一次。高电平脉宽是判断数据流每位是“0”还是“1”的依据。也只记录一次宽脉冲和窄脉冲的时间长度。其他用0或1来记录是宽脉冲还是窄脉冲。这种记录方法大大压缩了数据量。实践证明,上述判据是有效可行的。这样处理不仅使解码软件的设计简单化,而且大大提高了解码的速度。2.软件设计为易于调试,便于扩展,

8、增加可读性,软件设计采用模块化的方法。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。