学习型红外遥控器_第1页
学习型红外遥控器_第2页
学习型红外遥控器_第3页
学习型红外遥控器_第4页
学习型红外遥控器_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0信息与电气工程学院电子信息工程电子信息工程 CDIO 一级项目一级项目(2013/2014 学年第二学期)题 目 : 学习型红外遥控器 专业班级 : 电子信息 1101 学生姓名 : 学 号: 指导教师 : 马永强老师 设计周数 : 15 周 设计成绩 : 2014 年 6 月 4 日1目目 录录1 1 项目设计目的及任务项目设计目的及任务.2 22 2 项目设计背景项目设计背景.2 23 3 项目设计思路项目设计思路.2 2 3.3.1 1 学习型遥控介绍学习型遥控介绍.2 2 3.3.2 2 硬件设计硬件设计.3 3 3.3.3 3 软件设计软件设计.3 3 3.3.3.3.1 1 数据

2、压缩编码数据压缩编码.4 4 3.3.3.23.2 编码具体实现过程编码具体实现过程.4 44 4 具体程序介绍具体程序介绍.4 4 4.1.4.1. 遥控发射及接收控制程序流程图遥控发射及接收控制程序流程图.5 5 4.24.2 遥控不同模式的切换遥控不同模式的切换.5 5 4 4.3.3 遥控硬件结构遥控硬件结构.9 95 5 核心电路设计核心电路设计.9 9 5.15.1 红外串行通信接口电路设计红外串行通信接口电路设计.9 9 5.25.2 发射部分设计发射部分设计.1 10 0 5.35.3 红外接收器的设计红外接收器的设计.1 10 06 6 系统的功能实现方法系统的功能实现方法.

3、1 11 17 7 项目设计心得项目设计心得.1 13 38 8 参考文献参考文献.1 13 321 1 项目设计目的及任务项目设计目的及任务设计学习型红外遥控器,具有以下功能:(1)不同电器遥控间模式切换;(2)学习、发射、退出模式切换;(3)学习遥控件值并存储、显示;(4)对存储键值调用、发射,控制电器;(5)加串口或蓝牙与上位机通信。2 2 项目设计背景项目设计背景无线遥控是指利用无线电波、红外线、超声波等作为载体,不用导线,而在空间传输,实现对被控目标的控制。实现对以家用电器为代表的中小型电器的遥控方法,主要有无线电遥控和红外线遥控。红外线遥控与无线电遥控相比:红外光波的波长远小于无线

4、电波的波长,因此红外线遥控信号不会影响其它家用电器,也不会影响到邻近的无线电设备。另外,红外线遥控不具有无线电遥控那样穿透障碍物去控制被控对象的能力,在设计家用电器的红外线遥控器时,不必要像无线电遥控那样,每套发射器和接收器要有不同的遥控频率或编码,否则,就会隔墙控制或干扰邻居的家用电器,所有同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况,这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便;此外,红外线为不可见光,对环境影响很小,同时又具有很强的隐蔽性和保密性。由此可见,红外线遥控具有结构简单、制作方便、成本低廉、抗干扰能力强、工作可靠性高等一

5、系列优点,是近距离遥控、尤其是室内遥控的优选遥控方式。3 3 项目设计思路项目设计思路 3.13.1 学习型遥控介绍学习型遥控介绍学习型红外遥控,可以分为两类:以固定码格式学习的遥控器和波形拷贝方式学习的遥控器。前者,需要收集各种不同种类的遥控器信号,然后进行识别比较,最后再记录。但是,要实现几乎所有的红外遥控器的成功复制就太难了。因为,红外遥控器的红外编码格式变化太多。不过这种学习型遥控器对硬件要求相对简单,处理器的工作频率可以不高,存储容量3也较小,其缺点是对未知编码的遥控器无效。后者主要是把原始遥控器所发出的信号进行完全拷贝,而不管遥控器是什么格式,存储在 EEPROM 等存储器中。当发

6、射时,只需将储存器中记录的波形长度还原成原始信号即可。这种学习型遥控器对 MCU 的主频要求高,RAM 要求较大,其优点是对任何一种红外遥控器都可以进行学习。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm 左右,外形与普通发光二极管相同,只是颜色不同。接收部分的主要元件为红外接收二极管,一般有圆形和方形两种。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二

7、极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。由于红外发光二极管的发射功率一般都较小(100mW 左右) ,所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路,最近几年大多都采用成品红外接收头。 3.23.2 硬件设计硬件设计本设计硬件电路分为两大模块,分别是:红外线发射模块和红外线接收模块。用单片机制作的 15 路电器遥控器,可以分别控制 15 个电器的电源开关,并且可对一路电灯进行亮度的遥控。采用脉冲个数编码,4*8 键盘开关,可扩充到对 32 个电器的控制。图 3 为该系统遥控发射器原理图,其中 P1 口和 P0 口作键扫描端口,具有 32 个功能操作键;第 9

8、 脚为单片机的复位脚,采用简单的 RC 上电复位电路;15 脚作为红外线遥控码的输出口,用于输出 38KHz 载波编码;18、19 脚接 12MHz 晶振。P0 口需接上拉电阻。图 4 为该系统遥控接收原理图,其中 P1.1-P1.2 口作为数码管的二进制数据输出,显示数字为 0-7,7 代表最亮,0 代表最暗,采用 4511 集成块硬件译码显示数值;P0.0-P0.7以及 P2.0-P2.6 口作为 15 个电器的电源控制输出,接口可以用继电器或可控硅,在本电路中,P2.0 口控制一个电灯的亮灭;P2.7 口为可控硅调光灯的调光脉冲输出;第 10 脚 P3.0口为 50Hz 交流市电相位基准

9、输入,第 12 脚为中断输入口;P3.1 口用于接收红外线遥控码4输入信号。 3.33.3 软件设计软件设计学习型遥控器的设计性能及实现与其软件设计编写具有密切的关系,在设计中采用内部定时器对信号高低电平计时的方法来采集数据并保存。当系统识别到起始码的低电平时,系统启动内部定时器对输入低电平计时,当起始码的低电平结束时保存定时器此时的值,记录下起始码的低电平信号脉冲宽度值;然后依次保存采集到的编码信号脉冲宽度值,如果采集到编码信号位数大于设定值 M(程序中设定值),就认为编码采集已经结束,即学习子程序结束。在软件设计过程中,使用了 2 个外部中断和 2 个内部定时器,外部中断 0 启动定时器0

10、 停止定时器 1 计数并保存定时器 1 的数据,外部中断 1 启动定时器 1 停止定时器 0 计数并保存定时器 0 的数据,用定时器 0 记录红外解调信号的高电平时长。用定时器 1 记录红外解调信号的低电平时长,本文采用 12 MHz 晶振,1 个机器周期是 1 s,计数器采用 16位计数器。如果在外部中断 0 和外部中断 1 之间不发生内部定时器中断,可以记录的最大时间间隔为 65.5 ms;如果在外部中断 0 和外部中断 1 之间发生内部定时器中断则可以记录的最大时间间隔是 n65.5 ms,其中 n 为中断次数。其值保存在设定的数据存储器中,然后写入到外部 E2PROM 存储器中。发射过

11、程再从外部的 E2PROM 存储器读出,通过用软件模仿 38 kHz 载波信号发送编码信息。 3.3.13.3.1 数据压缩编码数据压缩编码 在设计过程中研究发现:尽管空调遥控器存在帧格式多样、码型多样、编码长短不同、发送方式不同等问题,但对于某一个独立的空调遥控器还是有规律可依的。在系统设计方案时,选择通用性好的就能解决这个问题。例如测得一款空调遥控器的 1 个命令码如下: 低电平(有红外发送载波)信号码时长数据是: 0 x7368 0 x0578 0 x0577 0 x0563 0 x0555 0 x0584 0 x0564 0 x0545 0 x0572 0 x0554 高电平(无红外发

12、送载波)信号码时长数据是:0 x0578 0 x1377 0 x0563 0 x0555 0 x1384 0 x0564 0 x0545 0 x1382 0 x0554 0 x01345 尽管码型有帧头、系统码、操作码、同步码、帧间隔码、帧尾,但不论是低电平(有红外发送载波)信号码时长或是高电平(无红外发送载波)信号码时长其结构都相对简单。但是 1个帧如此多的数据占据了大量的内存空间,增加了硬件成本和程序运行时间,有必要在数据分析的基础上采取数据压缩。 数据压缩根据使用场合和要求的不同分有损和无损压缩。为了在数据发送时准确再现接5收到的红外数据,本文采用无损压缩的方法,使用的编码方式是改进型的

13、游程编码,根据游程编码的原理,游程长度(游程或游长)RL(Run-Length)指的是由信号采样值构成的数据流中各个数据重复重现的长度,只要给出重复的数据、数据长度和位置就可以恢复原来的数据流。 3.3.23.3.2 编码具体实现过程编码具体实现过程 (1)在接收红外信号时分别按高电平和低电平不同的时间长度编号(时间长度规定一定的误差范围),每 1 次测得的数据根据电平持续时间记录其编号,再将同编号的数据相加求平均值作为标准时间长度,根据红外信号格式的不同,可以选择 4 bit 压缩方式和 2 bit 压缩方式,即压缩比达到 1/4 和 1/8。在接收红外数据时采用的是中断方式,不占用过多的

14、CPU时间,还可以一边学习一边存入 E2PROM 以达到节省内存空间的目的。 将上述遥控器的 1 个命令码(其中红外编码长度为 150 bit,压缩比为 1/8)的数据存储在E2PROM 中的数据格式如下: 01100101(共 10 个字节低电平数据); 11010101(共 10 个字节高电平数据); 0 x96(字节总长度); 0 x1377 0 x0560 0 x0572 0 x370(4 个不同的时长); (2)发送红外数据时,先从 E2PROM 中读出字节总长度、4 个不同的时长及部分高低电平数据,在发送高电平时(即不发送红外载波信号)且时长大于 1 ms,再读 E2PROM 数据

15、,这样更可以节省内存空间。4 4 具体程序介绍具体程序介绍 4.14.1 遥控发射及接收控制程序流程图遥控发射及接收控制程序流程图遥控发射及接收控制流程图如图 1 和图 2 所示:6图 1 遥控发射控制流程图7开始初始化按显示亮度数据设定调光脉冲延时值P3.0=0?调用延时子程序P2.7 口输出调光子程序NY中断开始低电平脉宽2ms?接收并对低电平脉冲计数高电平脉宽3ms?按脉冲个数至对应功能程序中断返回NNY图 2 遥控接收控制流程图图 3 遥控发射8图 4 遥控接收 4.24.2 遥控不同模式的切换遥控不同模式的切换学习型遥控器可以控制多种电器,例如:电视机,电冰箱,空调,电磁炉等。利用每

16、种电器分配不同的功能界面,来控制不同的电器进行相应的操作。因为每种电器的控制不一样,所以控制界面需要切换,而且当要选换另一种电器控制界面时,还需要有退出功能,即退出到原始界面从而选择其他功能。学习型遥控器提供了一种只需较小的存储空间来存储遥控按键数据的存储方法,其技术方案是,学习型遥控器的数据存储方法,其特征在于,包括以下步骤:进入学习状态;接收目标按键的键码;分析目标按键键码里的引导码、系统码和功能码并判断目标键码里的引导码及系统码与存储器中已存储的引导码及系统码是否相同,若相同直接进入下一步,若不相同就存储目标按键的引导码及系统码,然后进入下一步;存储目标按键的功能码。本发明的有益效果是,

17、对同一引导码和系统码只记忆一次,只记忆不同按键的功能码,从而大大减少了需要存储的数据,节省了存储器的存储空间。切换流程图如图 5:9图 5 遥控不同模式的切换 4.34.3 遥控器硬件结构遥控器硬件结构学习型红外遥控器由红外一体化接收电路、反相器、温度传感器、单片机、红外发送电路、E2PROM 存储器、键盘及 LED 指示灯构成,如图 6 所示图 6 遥控器硬件结构图10单片机 AT89S52 构成红外遥控的处理器,其数据存储器 RAM(258B)用来存储学习过程中编码信号的脉冲宽度和编码。 (1)红外发射电路:38 kHz 方波直接由单片机模拟产生,经过三极管放大后,驱动红外发光二极管(注意

18、:38 kHz 载波不能用 AT89S52 定时器产生,因为 38 kHz 载波信号的周期只有 26 s,考虑到有载波时的占空比为 1/3,即定时器的最小中断时间间隔只有 8 s,在执行中断时中断处理过程(如保护现场等)实际运行时间根据中断点的不同需要的时间也不同,有时会大于 8 s,这样不能保证 38 kHz 信号的稳定性),在软件处理过程中应用延时程序模仿 38 kHz 的红外载波信号。 (2)红外一体化接收头:接收器选用一体化红外接收器 MK0038,该接收器是黑色环氧聚光透镜,能够滤除可见光的干扰,集红外接收和放大于一体,内含红外线 PIN 接收管、选频放大器和解调器。不需任何外接元件

19、,就能完成从红外遥控信号(38 kHz 的载波信号)中分离出基带信号,输出与 TTL 电平兼容的所有工作。在与单片机连接时,将接收来的红外遥控信号反相,其正向信号接外部中断 0,反相信号接外部中断 1。通过记录 2 个中断间的间隔时间来测量红外遥控信号的高低电平的脉宽值。 (3)外接 E2PROM 存储器:用于存放学习到的控制命令的编码和高低电平信号的脉宽值。 (4)按键盘:启动一个学习过程。 (5)温度传感器:用于测量室内温度,根据已学习的温度控制命令自动开启或关闭空调。 (6)LED 指示灯:用于显示遥控器的工作状态。5 5 核心电路设计核心电路设计 5.15.1 红外串行通信接口电路设计

20、红外串行通信接口电路设计 单片机控制的红外通信系统主要有红外发射器,红外接收器,以及单片机 89C51 三部分组成,单片机本身并不具备红外通信接口,可以利用单片机的串行接口与片红外发射和接收电路,组成一个单片机控制系统的红外串行通信接口。 5.25.2 发射部分设计发射部分设计 红外发送电路包括脉冲振荡器、三极管和红外发射管等部分。其中脉冲振荡器有 NE555定时器、电阻和电容组成,用于产生 38 kHz 的脉冲序列作为载波信号,红外发射管 HG 选用 Vishay 公司生产的 TSAL6238,用来向外发射 950 nm 的红外光束。其发送的过程为:串行数据有单片机的串行输出端 TXD 送出

21、并驱动三极管,数位“O”使三极管导通通过有NE555 构成的多谐振荡电路调制成 38 kHz 的载波信号,并利用红外发射管以光脉冲的形式11向外发送。数位“l”使三极管截止,红外发射管不发射红外光。NE555 构成的多谐振荡电路的振荡周期公式为 T=O693(R1+R2)C,其中,R1 为充电电阻,R2 为放电电阻,C 为充电电容。 5.35.3 红外接收器的设计红外接收器的设计 红外接收电路选用 Vishay 公司生产的专用红外接收模块 TSOP1738。该模块是一个三端元件,使用单电源+5V 供电,具有功耗低、抗干扰能力强、输入灵敏度高、对其他波长(950 nm 以外)的红外光不敏感的特点

22、,其内部结构框图如图 7 所示。 图 7 TSOP1738 内部结构框图TSOPl738 的工作过程为:首先,通过红外光敏元件将接收到的载波频率为 38 kHz 的脉冲红外光信号转换为电信号,再由前置放大器和自动增益控制电路进行放大处理。然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调。最后,由输出级电路进行反向放大输出。6 6 系统的功能实现方法系统的功能实现方法1)遥控码的编码格式该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为 2 个脉冲,最大为 17 个脉冲。为了使接收可靠,第一位码宽为 3ms,其余为 1ms,遥控码数据帧间隔大于10ms,如图 8 所示:12

23、3ms1ms10ms电器 0 遥控输出码电器 1 遥控输出码电器 2 遥控输出码调光命令码图 8 遥控码的编码格式2)遥控码的发射当某个操作按键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成 38kHz 方波由红外线发光管发射出去3)数据帧的接收处理当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第一位(起始位)码的码宽进行验证。若第一位低电平码的脉宽小于 2ms,将作为错误码处理。当间隔位的高电平脉宽大于 3ms 时,结束接收,然后根据累加器 A 中的脉冲个数,执行相应输出口的操作。1310ms1ms停止位10ms3ms1ms第一位图 9 红外线接收器输出的一帧遥控码波形图7 7 项目设计心得项目设计心得本学期学习单片机的时间很短

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论