您当前的位置:五五电子网电子知识电器控制红外控制电路采用红外遥控技术的风机控制电路设计 正文
采用红外遥控技术的风机控制电路设计

采用红外遥控技术的风机控制电路设计

点击数:7184 次   录入时间:03-04 11:49:09   整理:http://www.55dianzi.com   红外控制电路

  采用红外遥控技术,通过单片机实现对设备进行无线非接触控制,是一种体积小、功耗低、功能强、成本低、抗干扰能力较强,且容易实现的信息传输和控制手段。因此,红外遥控技术在彩电、音响设备、空调、玩具、门铃等装置上得到了广泛应用。将该技术应用到会议室、车间、地下室等需要通风换气场合的风机设备上,由单片机实现对风机开关机、风速调整、定时关机等功能的控制,可增强选择通风设备安装位置的灵活性,实现设备的遥控控制和无人值守工作。

  一、硬件设计
  
  控制模块的功能:控制风机的开关机、调整风机转速(高、中、低三挡),设定风机的工作时间(0.5小时、l小时、1.5小时、2小时四挡)。为实现对风机的红外遥控控制,将控制模块分为遥控器和控制电路两部分,遥控器以红外遥控发射控制电路CP8223R为核心,设置“开/关”、“速度”、“定时”三个功能按键,遥控器可向控制电路发送这三种控制信号的红外编码信号。控制电路接收遥控器发送的编码信号,经单片机解码后识别遥控功能码。如果是开关和调速功能码,通过控制选择可控硅的导通或截止,在接入风机的三路交流电中选择一路导通或全断开,达到控制风机转速和开/关机的目的;如果是定时功能码,单片机设置定时工作参数(0.5小时、1小时、1.5小时、2小时四挡),并开始计时,当到达定时时间时,关闭风机。在进行相应操作时,单片机点亮相应功能的LED指示灯。控制电路板上设置两个按钮开关,作为控制风机的人工设置键。

  1.红外遥控发射器电路设计
  
  电路使用CP8223R作为遥控发射器的主控芯片,该芯片具有5个功能键,可自设用户码(共32/64个),工作电压2.5V~5V,输入振荡频率为455kHz,载波频率为38kHz。电路如下图所示。图l中二极管Dl接在KOO与CCS引脚之间,K01~K04与ccs引脚之间不接二极管,因此,发送代码中的用户码为80H。

红外遥控发射器电路

  当有按钮开关按下时,芯片的OUT脚输出由38kHz载波调制的一串脉冲编码信号,经三极管Ql驱动,控制红外发射管D2工作。每次发射以9ms的高电平4.5ms的低电平作为引导位,后接8位用户码、用户码的反码,然后是8位功能码及功能码的反码,并以结束位结束一次发射,各键对应的功能代码如附表所示。本设计中只选用前三个功能码。

  2.红外遥控接收电路设计
  
  下图为红外接收头及按键开关与单片机的接口电路。电路中红外接收头采用性能可靠、价格便宜的一体化红外接收头HS0038,它可接收38kHz频率的红外信号,在内部对信号进行放大、检波和整形处理后,输出,TTL电平的编码信号,可以直接与单片机89C2051的输入脚匹配连接。在未收到红外信号时,一体化红外接收头HS0038的输出端为高电平,当接收到38kHz的红外信号时,其输出端变为低电平。电路中其输出引脚与单片机89C2051的外部中断O(INT0)引脚相连接,作为单片机的外部中断输入信号,并采用下降沿触发方式触发外部中断O。单片机通过对中断信号的处理,获得接收到的遥控特征编码,并根据解析的功能码实现对风机进行控制。按钮开关SW1和SW2接到单片机的P3.4和P3.5引脚,作为手动设置按键,其中SW1作为开机、速度控制功能按键,SW2为定时控制功能按键;单片机定时扫描这两个键,并实现相应的控制功能。

红外接收头及按键开关与单片机的接口电路

  3.风机控制电路设计
  
  下图为风机控制电原理图。风机电机为串接了具有中间抽头电感的交流220V电机。图中的“公共端”接到电机的一端,“高速端”接与电感相连接的电机的另一端,“中速端”接到电感的中间抽头,“低速端”接电感的最后端,通过选择接通220V交流的接入点实现对风机的转速控制。电路电源部分为由变压器Tl输出的8V交流电,经全桥BR1、C6整流滤波,U2(79L05)稳压后获得的-5V电源。单片机的Vcc引脚与电源地相连,GND引脚与-5v相连。发光二极管L8、L3、L2、L1用来分别指示风机工作的定时时间(0.5小时、l小时、1.5小时、2小时),由单片机根据接收到的红外遥控功能码,或图l中定时控制功能按键SW2的操作选择控制。发光二极管L6、L5、LA用来指示风机的转速,分为高速、中速、低速三挡,由单片机根据接收到的红外遥控功能码,或图l中调速功能按键SW1的操作选择控制,同时单片机通过三极管Q1~Q3选择可控硅T1~T3的导递或截止,使交流220V有选择地加到所选高、中或低速的输入端,从而达到控制风机转速的目的。

风机控制电原理图

  二、程序设计
  
  单片机程序主要由四部分构成,即初始化程序、主程序、外部中断0的服务程序以及定时器l的中断服务程序。

  其中初始化程序设置风机的初始状态值、堆栈指针、中断控制位以及定时器的工作方式和初值等。主程序的功能为:(1)根据接收的遥控定时功能码或定时按钮SW2的操作,负责设置风机的定时时间值、检查是否到达工作时间并控制风机的开关机;(2)根据接收的遥控速度、开关功能码或开关机、速度控制功能按键SW1的操作,选择控制一个可控硅导通或全部截止,即选择风机的转速和开关机;(3)扫描两个按键开关的状态,检查是否接收到新遥控代码,并根据风机原状态调整为新的状态。外部中断0的服务程序根据计数器O的计数值识别接收的遥控编码。定时器Tl以0.18秒的时间间隔产生定时器中断,其中断处理程序对计时值进行加l计算。

  下面重点讨论软件对遥控编码的识别以及实现对风机的控制功能。

  1.遥控编码分析
  
  遥控接收器输出端的波形特征如右图所示。遥控接收器输出端的波形

  2.解析遥控编码
  
  对遥控代码的解析是由外部中断0服务程序对定时器0的计数值大小判别实现的。由右图可知,数据位0的周期为0.84ms,数据位1的周期为1.96ms,引导码的周期为13.5ms,停止位的周期为49ms,因此外部中断0的服务程序只要读取计数器0的计数值,根据计数值的大小即可判断当前接收的特征码。由于遥控器振荡的离散性、红外接收器的不一致性、单片机之间的差异以及遥控距离和环境等因素影响,定时器对同一特征码的计数值可能不一致,因此在程序中需要进行容错处理。下图为解析遥控编码程序流程图。

  下图中的参数t为两次外部中断之间定时器0的计时值,count为外部中断INTO发生的计数值,即收到红外遥控码的位数,code为接收用户码和其反码以及功能码及其反码的变量,共32位,4字节。t的大小用来决定接收到的红外特征码,为了进行冗余容错处理,经反复试验,将t的值从12.3ms~14.2ms定义为起始码,从0.768ms~1.152ms定义为位0,从1.536ms~2.702ms定义为位1,大于38.78ms定义为停止位。经长期实际使用证明,这样的定义程序能够完全有效地解析识别遥控编码,不会产生漏码和误码。

解析遥控编码程序流程图

 

  3、风机控制功能
  
  在主程序中实现对风机的控制,主要依据接收到的功能代码和按钮开关的操作,实现对风机开关机、调速以及定时的控制,下图为风机控制的程序流程图。

  图中code3为接收到的4字节代码code中的功能码。对遥控代码的有效性判别,一是需要检查用户码(80H)及其反码(7FH)是否正确,二是要检查功能码及其反码是否正确,即二者差异或是否为FFH,对于传输过程中导致的误码,程序不做处理。对风机开关机和速度的控制,一是要修改单片机RAM中记录风机工作状态的参数,二是通过改变图3中所示的单片机P1.0~P1.2三个输出脚的电平,控制选择可控硅T1~T3的导通和截止,达到控制风机工作与否以及选择转速的目的。

风机控制的程序流程图

  关于定时功能控制,此段程序只负责修改RAM中记录定时时间的参数值,定时器l的中断服务程序负责计时计数,主程序的其他部分随时检查是否到达计时时间,并控制关机。




本文关键字:技术  风机  红外控制电路电器控制 - 红外控制电路