工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->用废旧红外遥控器制作14路红外遥控开关

用废旧红外遥控器制作14路红外遥控开关

作者:dolphin时间:2016-09-20

  利用抛弃的或现有的红外遥控器制作“学习型14路红外遥控开关”,既可以学到知识,又可以达到化废为宝的目的。
  
  该电路的核心控制器件是C51系列单片机AT89C51,使用EEPROMlC存贮器AT24C02保存红外遥控数据,保证断电后学习的遥控数据不会丢失,可以断电保持数据达100年。该学习型红外遥控器的按键既控制开关的断开和闭合,又控制单片机学习红外遥控代码,双重应用。红外遥控开关学习时有指示灯指示,保证使用方便、实用。
  
  硬件工作原理
  
  该红外遥控开关电路原理图如下图,整个电路按功能有以下五部分。
  
  1.红外遥控器发射部分编码
  
  红外遥控器发射的信号由一串“0”和“1”的二进制代码组成,不同的芯片对“O”和“1”的编码有所不同,通常有曼彻斯特(Manchester)编码和脉冲宽度编码。我们家庭使用的红外遥控器绝大部分都是脉冲宽度编码,如右图。
  
  遥控器发射的红外遥控编码波形,“0”码由0.56ms高电平和0.56ms低电平组合而成,脉冲宽度为1.12ms;“1”码由0.56ms高电平和1.69ms低电平组合而成,脉冲宽度为2.25ms。遥控器发出的一串二进制代码按功能可以分为“引导码、地址码和数据码”,地址码和数据码可能采用原码或反码方式重复发送。遥控器发射代码时,低位在前,高位在后。不同的遥控器有不同的地址码,编程时只要编写的程序能学习遥控器的地址码和数据码并存贮,下次接收到的红外遥控代码能识别出来就可以了,不需要知道红外遥控器的地址码和数据码是什么。

红外遥控开关电路原理图

  2.红外接收解码电路
  
  红外遥控接收采用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路安装在一起,只有三个引脚。红外接收头的信号输出端接单片机的INTO脚,单片机中断INTO在红外脉冲下降沿时产生中断。
  
  在中断期间启动定时器0进行计数,直到下一个负脉冲到来,将计数结果取出处理。电路使用12.OOOMHz晶振,定时器为1us计数一次。理论上代码“0”的定时计数值为1125(Ox465),代码“1”的定时计数值为2250(Ox8ca).但考虑到单片机晶振的误差,中断的延时,遥控器晶振的误差,测到的结果不一定等于理论值,只要范围在Ox300—Ox480就为有效的“0”码,计数值在Ox700—Ox8ee之间为有效的“1”码。
  
  下图为红外接收解码软件设计流程图,红外遥控程序使用单片机中断0和定时器0。

  3.按键控制电路
  
  学习型红外遥控开关的按键不仅控制输出的断开和接通,还控制单片机进行红外遥控学习。平时单片机处在按键检测和红外遥控检测状态,我们按住红外遥控开关的按键大干3秒就进入学习状态。在学习状态,我们释放按键,这时学习指示灯D2点亮。按一下红外遥控器的任意一个按键,如果学习成功,指示灯熄灭;如果在大约30秒内学习不成功,指示灯由点亮转为闪烁,表示学习失败,这时可以按一下红外遥控开关的任何一个按键或遥控器的任意键停止闪烁,返回平时扫描检测状态;如果没有上述动作则大约15秒自动返回。如果学习成功,按一下红外遥控器的对应按键就可以控制输出的断开和接通。平时按住按键小于2秒控制单片机的输出的断开和接通,这时学习指示灯没有点亮,对应的输出端有变化。
  
  红外遥控开关的按键软件设计流程图如下图所示。

红外遥控开关的按键软件设计流程图


  
  4.遥控数据存贮电路AT24C02
  
  AT24C02是美国ATMEL公司的低功耗CMOS串行EEPROM,它是内含存贮单元256×8位,具有工作电压宽(2.5~55V)、擦写次数多(大于10000次)、写入速度快(小于10ms)等特点。AO、A1、A2是三条地址线,用于确定芯片的硬件地址,在这里AO、A1、A2接地,对应的地址为1010000xB(x为读写控制位,0为写,1为读)。VCC和VSS分别为正、负电源。
  
  SDA为串行数据输入/输出,数据通过这条双向l℃总线串行传送。SCL为串行时钟输入线oSDA和SCL需要和正电源VCC之间分别接一个5.1K的电阻上拉。第7脚需要接地。
  
  IIC总线串行数据传送可以有多种读/写方式,现举三例:
  
  (1)7位寻址主控器写方式。除应答信号由被控器发送外,起始和终止信号,寻址和数据字节都由主控器发送,被控器接收。
  
  (2)7位寻址主控器读方式。起始和终止信号、地址字节、和数据字节的应答信号由主控器发送。地址字节应答信号和数据字节由被控器发送。
  
  (3)7位寻址主控器读、写方式。起始信号和被控器地址在读和写时还可以由主控器重复发送一次。读或写两次数据字节传送方向正好相反。读、写全部结束后再由主控器发送终止信号。
  
  由于单片机AT89C51不带IIC总线接口,可以使用普通的I/O口模拟IIC总线数据传送通信格式,来应用AT24C02等带IIC总线的外围接口器件。这样就能将IIC接口器件用在大量不具备IIC接口的单片机系统中,充分发挥IIC总线的优越性(如节省大量并行接口、设计模块化、简单化等等),这给产品设计,制造带来很大方便。
  
  IICC总线数据的传送过程如下图所示。

  5.电源稳压及输出驱动电路
  
  学习型红外遥控开关内装有变压器,变压器输出交流大约9V电压经整流桥D9整流,电解电容C5滤波,稳压电路LM7805稳压后输出稳定的5V电源。
  
  电解电容C6和瓷片电容C7再次滤波,保证工作电压的稳定。
  
  输出驱动电路使用发光二极管LED作指示灯,固态继电器SP2110控制开关的断开和接通。电源负载直接接到接线柱CON2上就可以使用。
  
  软件设计编程学习型14路红外遥控开关源程序用C语言编写,使用keiluVision编辑、调试、编译通过。主要有红外解码、红外代码学习、按键检测、输出驱动、学习指示等功能模块。主程序流程图如下图。


  
  整个软件工作流程受到按键和红外遥控器的控制,当整机电路供电后,单片机开始工作,初始化各项参数设置后进入循环状态,等待按键或红外遥控器的控制。
  
  主程序主要是检测按键动作和红外遥控信号,然后调用相关的子程序运行。程序运行学习的程序把红外遥控代码写入EEPROM存贮器AT24C02,保证红外遥控代码断电后没有丢失。

  元器件选择
  
  学习型14路红外遥控开关采用的都是通用电子元件,只要参数正确,就能正常工作。单片机IC3选用AT89C51;红外接收器IC1选用一体化红外接收头,如电视机或影碟机的红外一体化接收头,中心工作频率是38KHzo EEPROM存贮器IC2选用AT24C02.它带有双向IIC总线,也可以用AT24C01直接代代用。SP2110是固态继电器,也可以用别的型号的固态继电器代替,代用时要注意一下负载的功率和电压。三端稳压器选用LM7805或78L05等。电源变压器选用小型电源变压器,输出电压约9V。

  安装与使用
  
  学习型14路红外遥控开关电路结构很简单,布局元件时最好把相同特征的元器件排列成一排,要注意一下电源(特别是电路板上有交流220V).电源走线要加大布线宽度。下图为电路PCB板,大家可以用腐蚀法制作电路印刷板。
  
  电路焊接好后先检查一遍,如果没有发现错误,用编程器把运行程序写入单片机AT89C51,通电调试。通电后先按电路板上的任一按键,如果电路没有错误则对应的输出端的发光二极管会发光或熄灭。按键控制正常后就可以拿一个红外遥控器来进行学习了。先按住电路板上要学习的按键大约3秒,然后松开,这时学习指示灯发光。按住红外遥控器上任意一个按键,这时如果学习指示灯熄灭说明学习成功:如果学习指示灯闪烁可能是红外接收器有问题或红外遥控器不匹配,仔细检查应该很快就可以解决问题了。一切正常后找一个合适的外壳把电路安装进去,就可以享受成功的乐趣了。



评论

技术专区