欢迎来到天天文库
浏览记录
ID:46946953
大小:310.94 KB
页数:6页
时间:2019-12-01
《三、遥控电子控制系统的设计及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、红外遥控器原理目前,人们的物质文化生活水平日益提高,各种各样的家用电器走进了千家万户,其中,大多数的家用电器都有各自不同的遥控器,人们常常为了控制某台电器而到处寻找其对应的遥控器,这样,就给人们的生活带来了很多不便。为了解决这个问题,本文提出一个多功能遥控器的设计方案:该遥控器可以通过自学习而拥有对多台电器的遥控功能,即省时、又省力,从而使人们免除同时面对功能众多遥控器的烦恼。 红外遥控器原理 遥控器由红外接收及发射电路、信号调理电路、中央控制器8031.程序及数据存储器、键盘及状态指示电路组成。 遥控器
2、有两种状态:学习状态和控制状态。当遥控器处于学习状态时,使用者每按一个控制键,红外线接收电路就开始接收外来红外信号,同时将其转换成电信号,然后经过检波、整形、放大,再由CPU定时对其采样,将每个采样点的二进制数据以8位为一个单位,分别存放到指定的存储单元中去,供以后对该设备控制使用。 当遥控器处于控制状态时,使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出(位和位之间的时间间隔等于采样时的时间间隔)给信号保持电路,同时由调制电路进行信号调制,将调制信号经放大后,由红外线发射二极
3、管进行发射,从而实现对该键对应设备功能的控制。 1.原理 红外遥控器是利用一个红外发光二极管,以红外光为载体来将按键信息传递给接收端的设备。红外光对于人眼是不可见的,因此使用红外遥控器不会影响人的视觉(可以打开手机摄像头,遥控器对着摄像头按,可以看到遥控器发出的红外光)。 2.调制 日常生活环境中有很多红外光源,太阳、蜡烛火光、白炽灯、甚至是我们的身体。这些红外光源都可能会对我们的接收设备产生干扰,为了屏蔽干扰,只接收有效信息,我们就需要用到调制。调制是我们使需要的信号区别于噪音方法。通过调制我们可以使
4、红外光以特定的频率闪烁。红外接收器会适配这个频率,其它的噪音信号都将被忽略。你可以认为这种闪烁是引起接收器“注意”的方法,正如我们人类特别容易被黄色的灯光引起注意一样,甚至在白天。 上图左边,调制信号通过驱动放大由红外LED发射;上图右边,信号通过接收器检测输出。 在串行通讯里,我们经常谈及‘mark’和‘space’标记。‘space’是个默认信号,是指发射管关闭状态,在‘space’期间,红外光不被发射。反之在‘mark’状态期间,红外光以特定的频率脉冲形式发射。在消费类电子产品里,脉冲频率普遍采用
5、30KHz到60KHz这个频段,红外遥控器一般使用的是38KHz。 在接收端,一个‘space’信号以高电平方式重现输出。反之一个‘mark’信号便是以低电平方式重现。请注意,这里的‘mark’和‘space’不是我们需要发送的状态1和0。‘mark’和‘space’以及1和0之间的真正关系取决于被应用的协议。 3.协议 NEC协议 8位地址码,8位命令码 完整发射两次地址码和命令码,以提高可靠性 脉冲时间长短调制方式 38KHz载波频率 位时间1.12ms或2.25ms 引导吗: 下图为一
6、个引导码的调制波形: 引导码由“9msmark+4.5msspace”构成,表示一组键码的开始。 逻辑0和1: 下图为逻辑0和逻辑1的调制波形: 逻辑“1”由“560usmark+1690space”组成,symbolperiod为2.25ms;逻辑“0”由“560usmark+560usspace”组成,symbolperiod为1.12ms。 完整的一组键码: 下图位NEC协议的典型脉冲链: 协议规定低位首先发送,如上图所示的情况,发送的地址码为“59”,命令码为“16”,总的码值
7、为0x59A616E9。 重复码: 下图为重复码的调制波形: 重复码由“9msmark+2.25msspace”组成,symbolperiod为11.25ms,重复码表示一个重复按键,当按键按着不松时,会先发一个完整的键码,接着每110ms发送一个重复码,直到松开按键,如下面的波形图所示: 接收端输出: 在接收端,一个mark对应一个低电平输出,一个space对应一个高电平输出,因此起始码、逻辑01、重复码等在接收端的输出波形如下图所示: 协议解码程序片段: [cpp]viewplai
8、ncopytypedefstructir_symbol_s { unsignedshortmark_period; unsignedshortsymbol_period; }ir_symbol_t; typedefstructir_key_s { unsignedintvalue; intstate; }ir_key_t; intNEC_Decode(ir_symb
此文档下载收益归作者所有