遥控器是一种用来遥控机器的装置。现代遥控器主要由集成电路板和用于产生不同信息的按钮组成。我们来看看红外遥控器原理和遥控器原理图。
红外遥控器原理
红外遥控系统一般由发射器和接收器组成。发射器由指令键、指令信号产生电路、调制电路、驱动电路和红外发射器组成。当按下命令键时,命令信号产生电路产生所需的控制信号。控制指令信号经调制电路调制后,驱动电路最终驱动红外发射器发出红外遥控指令信号。
接收器由红外接收器、前置放大电路、解调电路、指令信号检测电路、存储及驱动电路和执行电路组成。当红外接收装置接收到来自发射器的红外命令信号时,它将红外信号转换成电信号,并将其发送到前置放大电路进行放大。指令信号经过解调器后,由信号检测电路检测,最后由存储电路和驱动电路驱动执行电路实现各种操作。
通常,控制信号由一些不同的特征来区分。常用的区分命令信号是频率和码组特征,即不同的频率或编码的电信号代表不同的命令信号来实现遥控。因此,红外遥控系统通常根据产生和区分控制命令信号的方式和特点进行分类,常分为频分红外遥控和码分红外遥控。
1红外遥控系统发射部分
红外发射器由键盘矩阵、遥控ASIC、驱动电路和红外LED组成,其结构如图1所示。
当按下一个键时,系统延迟一段时间以防止干扰,然后启动振荡器。获取键码后,按键编码器从rom中获取相应的指令码(由0和1组成的代码)。遥控器通常由电池供电。为了省电和提高抗干扰能力,指令代码由32 ~ 56 kHz范围内的载波调制后输出到放大电路,驱动红外发射管发射940nm红外光。当传输完成时,振荡器也被关闭,并且系统处于低功率睡眠状态。载波频率和调制频率在不同的场合会有所不同,但大部分家电使用的是38kHz,也就是455kHz的振荡器除以12。
遥控发射器的信号由一串二进制代码0和1组成。不同的芯片有不同的代码0和1。现有的红外遥控包括两种方式:脉宽调制(PWW)和脉冲位置调制(PPM或曼彻斯特码)。两种编码分别以飞利浦的NEC和RC-5为代表。
2红外遥控系统的接收部分
接收部分由放大器、限幅器、带通滤波器、解调器、积分器、比较器等组成。比如较早的红外接收二极管加专用红外处理电路的方法,比如CXA20106,电路复杂,现在一般不用。但在实际应用中,上述电路都集成在一个电路中,也就是我们常说的集成红外接收器。根据载波频率的不同,集成红外接收器的型号也不同。由于与CPU的接口,接收电路大多输出反码,也就是说,没有红外信号时输出为1,有信号输出时输出为0。它只有三个引脚,分别是+5V电源、地和信号输出。
系统的设计
1 MCU编码和发送部分
①键盘部分
红外遥控器发射电路简单,由一个4×4矩形键盘、一个PNP晶体管、一个红外LED和两个限流电阻组成。通过键盘输入要遥控哪个接收器,即通过键盘输入要红外遥控的地址,地址经过编码调制后由红外led发出。
矩阵部分由4行4列排列的16个轻触键组成,单片机的I/O口连接行线作为输出端,列线作为输入端。当没有按键时,所有输出都为高电平,这意味着没有按键。当一个键被按下时,输入线会被拉动,这样通过读取输入线的状态就可以知道一个键是否被按下。
键盘的列线连接到P1端口的低4位,行线连接到P1端口的高4位。列线P1.0~P1.3设置为输入线,行线P1.4~P1.7设置为输出线。
检测当前是否有按键被按下。检测方法是让P1.4~P1.7的输出为0,读取p1.0 ~ p1.3的状态,如果p1.0 ~ p1.3全为1,则没有键关闭,否则有键关闭。
消除按键抖动。当检测到一个按键被按下时,延迟一段时间再进行下一次检测和判断。
如果一个键被按下,应该识别哪个键被关闭。方法是扫描键盘的行和列。P1.4~P1.7按照以下四种组合依次输出1110,1101,1011,0111,每组行读取P1.0~P1.3。如果全部为1,则表示第0行没有按键输入,否则有按键关闭。因此,获得了关闭键的行和列值,然后通过计算或表查找将关闭键的行和列值转换为定义的值。
为了保证CPU每次关闭只处理一次,必须去除按键释放时的抖动。生成的键值放在发送数据库区,生成的键值存储在30H,即要遥控的8位地址共有1个字节,与30H相同的8位地址放在31H。再次发送地址码,主要是为了加强遥控器的可靠性。如果两个地址码不同,则该帧的数据是错误的,应该丢弃。00H放在32H(为了编程简单),0FFH放在33H,总共32位数据。要发送数据,只需读取那里的数据,然后调用发送子程序发送即可。
②载体部分
根据前面介绍的红外遥控的基本原理,红外遥控的编码调制方式其实很简单,只要生成一个很长的时间电平即可。该代码可以通过另一个38kHz载波调制来传输。产生载波的方法有很多种,如CMOS门电路RC振荡器或555时基电路。
本设计采用CPU延时,即利用定时器中断来完成,利用单片机的T0定时来产生38kHz载波。定时器设置为模式2,即自动恢复初始值的8位计数器。TL0用作8位计数器,TH0用作计数初始值寄存器。当TL0计数溢出时,一方面设置溢出标志TF0,并请求CPU中断。同时,TH0内容被发送到TL0,以便TL0从初始值开始以1再次计数。所以T0工作在模式2,计时精度比较高。根据计算,设置定时初始值为38KHz,12kHz晶振的定时初始值为0F3H,11.0592kHz晶振的初始值为0F4H。设置定时器中断,在中断程序中只写入反转P2.0(CPL P2.0)。当要发送数据1时,当前560μs为高电平发送时,打开定时器中断,然后启动定时器,让定时器工作。延时560μ s后关闭定时器,由于1690μ s低电平不发信号,可以直接设置P2.0高电平,延时1690μs:数据0前面的560μs高电平和数据1一样,后面的560μs低电平可以直接设置在P2.0高电平之后,延时560μs。
2红外接收解码电路
红外遥控接收器采用集成红外接收器,仅用三个引脚将红外接收二极管、放大、解调、整形等电路安装在一起。红外接收器的信号输出端连接到单片机的INT0端,当红外脉冲下降时,单片机中断INT0产生中断。如图3.3所示,增加一个PNP晶体管放大输出信号,R和C组成去耦电路抑制电源干扰。
遥控信号3解码算法
通常遥控器无键按下,红外发光二极管不会发出信号,遥控接收器输出信号1。当按下一个键时,编码的高电平0和1将被遥控接收器反相后输出信号0。因为与单片机的中断引脚相连,所以会引起单片机中断(单片机预置下降沿产生中断)。
遥控码发射时,9ms的高电平和4.5ms的低电平代表导频码,560μs的高电平和560μs的低电平代表数据“0”,560μs的高电平和1690μs的低电平代表数据“1”,后面是4个字节的数据。接收码是发送码的反转,所以判断数据中高电平的长度是读出数据的关键点。这里用882μs(560到1690μ s之间)作为标尺。如果882μ s后仍为高,说明是数据1,将1写入寄存器就足够了(当数据为1时,降低电平需要一段时间才能检测到下一个低电平的开始)。82 μ s后,电平为低,表示数据为0。然后,将0写入寄存器,然后等待下一个低电平。
继续接收以下数据。当接收到32位数据时,说明已经接收到一帧数据,然后判断这个接收是否有效。如果两个地址码相同且等于系统地址码,且数据码和数据反码之和等于0FFH,则接收到的帧数据有效,发光二极管点亮,否则接收到的数据将被丢弃。
接收后,初始化本次接收的数据,为下一次遥控接收做准备。
这就是上面边肖介绍的遥控原理。希望能帮到你。更多遥控原理,请继续关注百科学装饰。