一种基于单片机的红外遥控开关设计

著录项
  • CN201610351329.1
  • 20160524
  • CN107422656A
  • 20171201
  • 长沙闽壹湖电子科技有限责任公司
  • 不公告发明人
  • G05B19/042
  • G05B19/042

  • 湖南省长沙市天心区木莲西路187号天天向上家园第1、5、6栋1323房
  • 湖南(43)
摘要
本发明专利涉及遥控开关技术领域,具体涉及一种基于单片机的红外遥控开关设计。本发明介绍了一种由普通遥控器作为信号控制器的红外遥控电源开关,采用USB接口对整个控制系统进行适配供电,利用一体化红外线接收头接收遥控器信号并由单片机STC90C516RD+进行解码处理,并对多路电源继电器进行驱动,最终实现了对后置电路电源开关的功能性控制。本发明采用一体化红外接收头以及USB接口对整个系统进行供电,使得本设计电路更为简单实效且具有较强的抗干扰性,同时对设计成本实现了最大减缩。
权利要求

1.本发明介绍了一种由普通遥控器作为信号控制器的红外遥控电源开关,采用USB接口对整个控制系统进行适配供电,利用一体化红外线接收头接收遥控器信号并由单片机STC90C516RD+进行解码处理,并对多路电源继电器进行驱动,最终实现了对后置电路电源开关的功能性控制。

2.根据权利要求1所述的一种基于单片机的红外遥控开关设计,其特征在于,本发明的STC90C516RD+单片机是宏晶科技推出的新一代超高速低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。

3.根据权利要求1所述的一种基于单片机的红外遥控开关设计,其特征在于,本发明采用红外一体化接收头PC838,在用小功率发射管发射信号情况下,其接收距离可达15m。

4.根据权利要求1所述的一种基于单片机的红外遥控开关设计,其特征在于,本发明的MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5V单电源供电,RS232接口为异步传输标准接口,因此一般用于20m以内的通信。

5.根据权利要求1所述的一种基于单片机的红外遥控开关设计,其特征在于,本发明采用的是USB接口来对整个遥控系统进行适配供电,从而使得本发明的电源部分稳定且对电路实现了最大简化,相比较的单片机传统供电系统来说更为节能,成本更节约。

说明书

一种基于单片机的红外遥控开关设计

技术领域

本发明专利涉及遥控开关技术领域,具体涉及一种基于单片机的红外遥控开关设计。

背景技术

随着电子技术的发展和人们生活水平的不断提高,越来越多的电子产品走进人们的日常生活,而这些电器,绝大多数是采用红外遥控方式,遥控器的使用给人们的日常生活和生产带来了极大的便利。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅安全可靠而且能有效地隔离电气干扰。

红外遥控不影响周边环境、不干扰电气设备;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控,在室内近距离遥控中得到了广泛的应用;而采用单片机进行遥控开关的设计,具有编程灵活多样,操作个数可以随意设定等优点。目前,市场上一般设备系统均采用专用的遥控编码及解码集成电路,但是由于功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。本发明设计正是应用红外遥控系统上述特点,实现了对多路开关的控制。

发明专利内容

本发明专利涉及遥控开关技术领域,具体涉及一种基于单片机的红外遥控开关设计。本发明介绍了一种由普通遥控器作为信号控制器的红外遥控电源开关,采用USB接口对整个控制系统进行适配供电,利用一体化红外线接收头接收遥控器信号并由单片机STC90C516RD+进行解码处理,并对多路电源继电器进行驱动,最终实现了对后置电路电源开关的功能性控制。

本发明采用一体化红外接收头以及USB接口对整个系统进行供电,使得本设计电路更为简单实效且具有较强的抗干扰性,同时对设计成本实现了最大减缩。

附图说明

图1:系统框架原理图。

图2:红外遥控系统框图。

图3:本设计使用的成品遥控器键码图。

图4:遥控编码的“0”和“1”图。

图5:电磁继电器内部示意图。

具体实施方式

为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明专利,并不用于限定本发明专利。

本发明介绍了一种由普通遥控器作为信号控制器的红外遥控电源开关,采用USB接口对整个控制系统进行适配供电,利用一体化红外线接收头接收遥控器信号并由单片机STC90C516RD+进行解码处理,并对多路电源继电器进行驱动,最终实现了对后置电路电源开关的功能性控制。

本发明采用一体化红外接收头以及USB接口对整个系统进行供电,使得本设计电路更为简单实效且具有较强的抗干扰性,同时对设计成本实现了最大减缩。

系统框架原理图如图1所示,遥控器发出的红外遥控信号经红外接收器PC838接收转化成TTL信号后送给STC90C516RD+的中断口1,单片机采集到这些数据后产生外部中断,进入解码程序,对其进行红外解码处理并获得对后置电路所需的控制信息,这些控制信息可直接从I/O口输出,当I/O输出高电平是,使得本设计电路中的三极管9013导通,继电器线圈导通形成磁场,吸住弹片,常闭断开,常开闭合,连通后置电路中的供电电源,由于继电器的控制线圈有电感,在关断的瞬间会产生较大的反电势,因此需要在继电器线圈上反向并联一个二极管,以保护驱动三极管不被击穿,该设计采用的二极管是IN4007。遥控发射模块:在本设计中应用到的是普通的成品遥控发射器,用来发射含有键码值的红外线,供红外接收头接收。红外接收模块:接收遥控器发射含有键码值信息的红外线,经过接收、放大、整形之后转化成可供单片机识别的TTL电平信号,并送往单片机并被单片机解码。单片机解码模块:单片机对红外接收头传递来的TTL电平信号进行解码处理,得到遥控器的键码值,从而执行后置继电器电路的控制功能。继电器控制模块:单片机驱动继电器的通断工作,从而对后置电路中的供电电源实现开关通断功能控制。

如图2(红外遥控系统框图)所示发射部分包括键盘矩阵、编码调制、LED红外发送器,接收部分包括光电转换放大、解调、解码电路,而整个接收部分将完全由上述的PC838红外一体化收头来完成,本设计的发射部分采用成品遥控器来发送控制信号。红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波,红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。发射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制。

遥控发射器专用芯片很多,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以WD6122遥控发射器专用芯片组成发射电路为例说明编码原理,该芯片类型的遥控发射器成品键码值如图3所示。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图4所示。

所述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。

遥控器将按键信息进行编码后调制到红外线的某个频率通过发光二极管发射出去,红外接收管接收到发射管发出的红外信号后对该信号进行解调原始编码信息,红外遥控接收头解调出的编码是串行二进制码,包含着遥控按键信息,但它还不便于CPU读取识别,因此需要先对这些二进制码进行解码。当遥控器上任意一个按键按下超过36ms时,控制芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右即可。 根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码。单片机把解码所得的二进制存入相应的存储单元,这样就完成了某一按键的红外解码操作,同样地,按此可以实现其它按键的红外解码,最后形成遥控器按键相应的键值表。就这样单片机程序就可以识别遥控器相应的功能键,通过遥控器向单片机发出相应的命令,单片机接收到命令后通过驱动电路使继电器动作从而实现用电设备的开关。

STC90C516RD+单片机是宏晶科技推出的新一代超/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。

红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本设计中采用红外一体化接收头PC838,在用小功率发射管发射信号情况下,其接收距离可达15m。它能与TTL、COMS 电路兼容,接收红外信号频率为38 kHz,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地(GND)、+5 V 电源(VCC)、解调信号输出端(接单片机外部中断)。红外一体化接收头的测试:可以在PC838 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。

MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5V单电源供电,RS232接口为异步传输标准接口,因此一般用于20m以内的通信。

本设计采用的是USB接口来对整个遥控系统进行适配供电,从而使得本设计的电源部分稳定且对电路实现了最大简化,相比较的单片机传统供电系统来说更为节能,成本更节约。

要实现遥控开关,需要选择继电器配合单片机以及红外遥控实现遥控开关的功能,本设计选用的是5V额定电压的电磁继电器。电磁继电器一般由铁芯、线圈、衔铁、触点等组成的,(本设计应用的5引脚电磁继电器内部结构示意如图5所示),只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。继电器一般有两股电路,为低压控制电路和高压工作电路。

系统软件设计代码如下:

#include<reg52.h>

#include<intrins.h>

#include"macroandconst.h"

#include"infr.h" //红外解码程序头文件声明

#include"Control.h" //继电器控制程序头文件声明

void Inital()

{

IE = 0x84; //允许总中断中断,使能 INT1 外部中断;

TCON = 0x04;

}

Main()

{

Inital();

P2=0x00; //驱动晶体管是高电平,所以一开始将

while(1) // I/O的电平拉低;

{

if(PassWord!=0)//PassWord在红外解码的头文件当中定义,可以直接在此引用;

{

Relay(); //继电器控制程序;

}

}

}

void Exter1() interrupt 2 //外部中断程序;

{

IR_IN(); //红外解码功能子程序调用;

}

红外解码程序:

#include<reg52.h>

#include"macroandconst.h"

#include"Delay.h" //延时程序头文件声明;

#include"Control.h"

sbit IRIN=P3^3;

uchar IRCOM[7];

uchar PassWord=0;

/* 函数名称:红外解码程序

函数功能:对红外接收头输出信号进行解码并编码*/

void IR_IN() //红外解码程序

{

unsigned char j,k,N=0;

EX1 = 0; //关断外部中断,一面再次接接收, delay(15); // 造成程序混乱;

if (IRIN==1) //引导码是以低电平开始,所以一开始得检测

{

EX1 =1;//再次打开外部中断,接收系统码和数据码以及

return;// 数据反码确认IR信号出现

}

while (!IRIN) //等IR变为高电平,跳过9ms的前导低 { //电平信号;

delay(1);

}

while (IRIN) //等 IR 变为低电平,跳过4.5ms的前导

{ //高电平信号;

delay(1);

}

for (j=0;j<4;j++) //收集四组数据

{

for (k=0;k<8;k++) //每组数据有8位

{

while (!IRIN) //等 IR 变为高电平

{

delay(1);

}

while (IRIN) //计算IR高电平时长

{

delay(1);

N++;

if (N>=30) //判断是否超时

{

EX1=1;

return;

} //0.14ms计数过长自动离开;

} //高电平计数完毕

IRCOM[j]=IRCOM[j] >> 1; //数据最高位补“,不是接

if (N>=8) //收串口数据,而是根据脉 { //冲的延时来判断‘1’和‘0’;

COM[j] = IRCOM[j] | 0x80; //数据最高位补‘1’

}

N=0;

}

}

if (IRCOM[2]!=~IRCOM[3]) //判断接受的数据与其反码是{ //否相等,相等则重新接收;

EX1=1;

return;

}

PassWord=IRCOM[2]; //将接收到的按键码值赋值给变量;

EX1 = 1;

}

继电器控制程序:

#include<reg52.h>

#include"macroandconst.h" //附录1中包含文件信息;

#include"InfR.h"

#include"Delay.h"

sbit Relay_1=P2^0;

sbit Relay_2=P2^1;

sbit Relay_3=P2^2;

sbit Relay_4=P2^3;

//sbit P2_0=P2^0;

/* 函数名称:继电器控制程序

函数功能:实现对继电器的红外控制*/

void Relay()

{

switch(PassWord)

{

case 0x0c: //遥控器1键的键码;

Relay_1=~Relay_1; //实现I/O口的高低电平

//转换,控制制驱动晶体管的

//通断,从而控制继电器开合;

break;

case 0x18: //遥控器2键的键码;

Relay_2=~Relay_2;

break;

case 0x5e: //遥控器3键的键码;

Relay_3=~Relay_3;

break;

case 0x08: //遥控器4键的键码;

Relay_4=~Relay_4;

break;

PassWord=0;//每次处理完控制程序之后需要将其值清零;

}

}

所用相关延时程序:

#include<intrins.h>

#include"macroandconst.h"

/*函数名称:延时函数

函数功能:实现x*0.14MS的延时*/

void delay(uchar x) //x*0.14MS

{

uchar i;

while(x--)

{

for (i = 0; i<13; i++)

{}} }

以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。

本文发布于:2024-09-24 10:19:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/72331.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议