电子遥控技术已经十分成熟了,它能为我们的生活带来方便。在我们日常生活中,处处都可以见到它的影子。比如:在小汽车上,有遥控电子锁。遥控玩具、空调与电视机也用到了遥控。常见的遥控,一是无线遥控,二是红外遥控。红外是一种不可见光,它介于可见光和微波之间,既有可见光的性质,如:直线传播、反射、折射等,又具有微波的一些特性,如穿透力强。红外线遥控是目前使用最广泛的一种遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅安全可靠而且能有效地隔离电气干扰。
借助于红外线具有的上述特性。利用红外传感器具有灵敏度高、响应速度快和光谱范围窄的特点,同时利用单片机结构紧凑、可靠性高、数据处理能力强、速度快、功耗小、成本低的特点、可以制作灵敏度高、抗干扰能力强、性能优良的红外遥控装置。
1 红外遥控原理
通用的红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器:接收部分包括光、电转换放大器、解调、解码电路。发射电路采用普通电视机上所使用的万能遥控器,在其上选择两个电视机不用的按键即可。
由电视机万能遥控器发射红外编码,利用一体化红外接收头接收到红外编码经放大、解调后,再经过单片机软件解码后,驱动相应的I/O口工作,即可完成相应的控制功能。
2 单元模块设计
本系统主要部件包括一体化红外接收传感器、STC89C52单片机系统、调光调速系统,电源电路。
2.1 一体化红外接收传感器电路设计
HS0038是一种应用于遥控接收或其它方面的小型一体化接收头,中心频率为38.0kHz,可改善自然光的反射干扰,独立的PIN二极管前置放大器集成在同一封装上,内部原理见图2。
HS0038环氧树脂封装提供一个特殊的红外滤光器,可防止自然光的干扰,HS0038有着极好的抗自然光的性能,可防止无用脉冲的输出。
将HS0038一体化接收头输出端接在单片机的P3.2口上。一体化红外接收头接收到红外编码经放大、解调后,再经过单片机外部中断0 P3.2口,利用软件对P3.2口上的电平信号进行分析解码即可。
2.2 STC89C52单片机系统
单片机系统为最小应用系统,包括电源电路、晶振电路、复位电路。这里不再作详细介绍。
2.3 调光调速系统
电路由输入缓冲器、锁相环、控制逻辑、亮度记忆、相角指针、数字比较器和输出驱动器组成,见图3。电路的基本工作原理为(以调光为例):人体带电与市电同频,当人体接触触摸片时,经输入缓冲级的削波、放大、整形,成为标准的MOS电平。触摸持续时间大于32ms小于332ms时,控制逻辑部分控制电路呈开关工作状态。当触摸持续时间大于332ms时,控制逻辑部分控制电路呈调光工作状态,输出触发脉冲相位角在41°至159°之间连续周期变化,并根据人眼的感受力,分为快、慢和暂歇三个过程。当触摸结束时,亮度记忆对该时相位角进行记忆,若再施与大于32ms,小于332ms的触摸,电路呈关状态时,相位角仍由该部分记忆,保证电路在下一次开状态时,保持原选定相位角,光源保持原亮度。触发脉冲与市电的同步,由锁相环保证,电路的工作时钟,也均由其产生。同时,电路还具有遥控(即远端触发)功能,和渐睡(即由亮至暗,最后关闭)功能,其延续时间由外电路设置。
利用单片机可对上述电路进行遥控。以调光为例:将上述电路中的开关AN1并联在一个继电器K1常闭触头的两端。利用红外遥控器中的一个按键控制单片机对该继电器进行操作,每按一次该按键,继电器K1接通与关断(时间30ms左右)一次,即可实现对灯的开与关。将AN1两端再并联在另一个继电器K常闭的两端,利用红外遥控器中另一个按键控制单片机对该继电器进行操作,按一下该按键,继电器K2接通(调光中)。再按一下该按键,控制继电器K2关断(调光结束)。这样,就实现了红外遥控调光功能。调速原理与此一致,这里不作赘述。
2.4 电源电路
电源可采用阻容降压法,电路如图4所示,注意电容C5要选择高压电容,电阻R4也需要一定的功率,可选0.5W的碳膜电阻。
3 程序设置
软件设计主要分为主程序、遥控接收解码子程序、继电器驱动程序。利用单片机对红外信号进行快速解码的时候,采用外部中断的方式,中断的触发方式为低电平触发方式,具体的算法为:在外部中断服务程序中,如果起始码和结果码正确,进行解码,否则退出。在解码的时候,等待第一个高电平的到来,即红外遥控引导信号(一个9ms的低电平和一个4.5ms的高电平),然后收集用户码高8位和8位键值反码数据,并存入一个数组中。解码的关键是如何识别“0”和“1”。程序中设计一个0.14ms的延时函数,作为单位时间,对脉冲维持高电平的时间进行计数,并把此计数值存入一个变量中。看高电平保持的时间是几个0.14ms。高电平保持时间必须比0.56ms长些,但又不能超过1.12 ms,否则如果该位为“0”,读到的已是下一位的高电平,因此,在程序中,取0.14×6=0.84ms左右比较合理。
“0”和“1”的具体要求判断由程序中的以下语句判断:
IRCOM[j]=IRCOM[j]>>1;∥计数小于6,收到的是0,数据最高位补0。
if(N>=8){IRCOM[j]=IRCOM[j]|0x80;}∥计数大于等于6,收到的是1,数据最高位补1。
另外当高电平计数为30时(0.14×30=4.2ms),说明有错误,程序退出。[page]
4 结论
红外遥控调光电路的关键是红外遥控的解码,发射时利用现有的电视机万能遥控,使其有了第二功能。在解码红外信号上,应用了脉冲位置调制(PPM)法。即采集其高低电平宽度的方法,可以还原出信号的各个编码,简化了电路。同时,采用了专用调光调速芯片来控制负载,增强了系统功能、并且能安全、可靠地工作。本设计非常简单的实现了红外遥控信号解码,完成了无级调光与调速功能,效果令人满意。制作好的电路见图6、图7。
[page]
源程序:
总电路图:
上一篇:c51单片机定时中断的精确定时编程方法总结
下一篇:C51位变量的定义格式是什么?
推荐阅读最新更新时间:2024-03-16 13:19