红外遥控接收器的设计要点Word文档格式.docx
- 文档编号:16202837
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:19
- 大小:1.31MB
红外遥控接收器的设计要点Word文档格式.docx
《红外遥控接收器的设计要点Word文档格式.docx》由会员分享,可在线阅读,更多相关《红外遥控接收器的设计要点Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
由于红外线抗干扰能力强,且不会对周围的无线电设备产生干扰电波,同时红外发射接收范围窄,安全性较高。
红外遥控虽然被广泛应用,但各产商的遥控器不能相互兼容。
当今市场上的红外线遥控装置一般采用专用的遥控编码及解码集成电路,由于其灵活性较低,应用范围有限。
所以采用单片机进行遥控系统的应用设计,遥控装置将同时具有编程灵活、控制范围广、体积小、功耗低、功能强、成本低、可靠性高等特点,因此采用单片机的红外遥控技术具有广阔的发展前景。
二、设计目的
本设计主要研究并设计一个基于单片机的红外接收系统,并实现对八路开关的控制。
控制系统主要是由MCS-51和52系列单片机、电源电路、红外接收电路、LCD显示电路等部分组成,单片机编码发射遥控信号经红外接收处理传送给单片机,单片机根据不同的信息码控制八路LED发光二极管各个状态,并完成相应的状态指示。
三、设计要求
3.1整个控制系统的设计要求
1、被控设备的控制实时反映,从接收信号到信号处理及对设备控制反映时间应小于1s;
2、整个系统的抗干扰能力强,防止误动作,总体成本低。
3、直流控制交流,抗干扰能力强,反应迅速不产生误动作,能承受大电流冲击。
四、设计方案
(一)单片机控制器模块
方案一:
采用目前比较通用的51系列单片机。
此单片机的运算能力强,软件编程灵活,自由度大,市场上比较多见价格便宜且技术比较成熟容易实现。
方案二:
采用凌阳16位单片机SPCE061A作为控制核心。
与51单片机相比,SPCE061A具有更加丰富的资源,有32个可编程的I/O口,14个中断源。
但考虑到本设计没有用到如此多资源且价格贵,市场比较少见,技术不稳定。
综合分析考虑,选择方案一。
(二)驱动与开关
采用晶闸管直接驱动。
其优点是体积小,电路简单,外围元件少。
但控制电流小,大电流晶闸管成本高,并且隔离性能差。
采用三极管驱动继电器。
其体积大,外围元件多。
优点是控制电流大,隔离性能好。
根据实际情况,拟采用方案二。
整体设计思路为:
红外数据接收则是采用LT0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。
然后根据所得的指令去操作相应的用电器件工作,如图4-1所示。
图4-1电路设计整体框图
五、硬件设计
5.1单片机及其硬件电路设计
5.1.1单片机的介绍
STC89C52RC系列单片机是有超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟机器周期和6时钟机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。
特点:
1、增强型6时钟机器周期,12时钟机器周期8051CPU;
2、工作电压:
5.5V-3.4V(5V单片机)/3.8V-2.0V(3V单片机);
3、工作频率范围:
0-40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz;
4、用户应用程序空间4K/8K/16K/20K/32K/64K字节;
5、片上集成1280字节/512字节RAM;
6、通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器、仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成;
8、EEPROM功能;
9、看门狗;
10、内部集成MAX810专用复位电路(D版本),外部晶体20M以下时,可省外部复位电路。
11、共3个16位定时器/计数器,其中定时器0还可当成2个8位定时器使用;
12、外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒;
13、通用异步串行口(UART),还可用定时器软件实现多个UART;
14、工作温度范围:
0-75℃/-40-+85℃;
15、封装:
PDIP-40,PLCC-44,PQFP-44。
5.1.2时钟电路及RC复位电路
STC89C52RC芯片内部有一高增益反相放大器,用于构成振荡器.反相放大器的输入端为XTAL1,输出端为XTAL2。
在XTAL1、XTAL2(第19、18引脚)两端跨接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。
晶振频率为11.0592MHz。
C12,C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。
其电容的作用主要是对频率进行微调,一般取30-45PF左右。
使用该电路可产生稳定的11.0592MHZ频率,受外界的环境的干扰影响非常小。
其接法如图5-1所示:
图5-1晶振电路
复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序。
除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。
复位操作有上电自动复位和按键手动复位两种方式。
本设计采用了按键手动复位方式。
该复位电路如图5-2所示。
复位电路采用了按键与上电复位。
上电与按键均可以有效复位。
上电瞬间RST引脚获得高电平,单片机复位电路随着电容的C11的充电,RST引脚的高电平逐渐下降。
RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
按键复位是直接将高电平通过电阻R11、R10分压到达RESET引脚,实现复位操作。
图5-2复位电路
5.2红外发射电路
(1)红外线遥控制系统的原理框图:
将指令脉冲编码信号调制在载波振荡器产生的载波上(也称脉码调制),然后用这脉码调制信号去驱动红外发光二极管,以发出经过调制的红外光波,其红外遥控系统电路如图5-3所示。
图5-3红外遥控系统电路图
5.3单片机红外接收器的电路设计
硬件电路组成有:
红外接收电路、电源电路、用电器控制电路、八路开关电路。
5.3.1红外接收电路
LT0038是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。
接收器对外只有3个引脚:
OUT、GND、VCC与单片机接口非常方便,如图5-4所示。
图5-4LT0038外型图
1脚接电源(+VCC),2脚GND接系统的地线(0V),3脚脉冲信号输出,经非门U6缓冲与P24的判断信号进行逻辑与使得进入INT0的信号恰好是红外数据发射电路输出端P25的相反相信号,只要检测到INT0信号下降沿从而测出控制指令的功能。
LT0038内部结构框图:
图5-5LT0038内部结构工作流程
LT0038接收原理:
红外线接收是把遥制发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。
这些工作通常由一体化的接收头来完成,输出TTL兼容电平。
最后通过解码把脉冲信号转换成数据,从而实现数据的传输。
图5-6是一个红外线接收电路框图。
图5-6红外接收及控制电路框图
本课题的核心部分在于红外发射、接收及八路开关功能演示。
其中红线数据接收是对红外二进制脉冲的宽度进行测量,从而获得红外遥控的脉冲信息。
怎样才能实时、准确地对红外二进制脉冲波形进行测量呢?
采用外部中断成为了理所当然的选择,外部中断只有低电平和下降沿触发两种方式,这就使得单片机只能一次性对脉冲的高电平或低电平进行测量,而一连串的脉冲是不可能分开多次测量的,因此,为了解决这一问题,本人将从接收头出来的红外二进制脉冲信号与标志位(P24)进行逻辑或非,然后再输入到INT0(P3.2)引脚,使得输入INT0的信号恰好是红外数据发射电路输出端P25的信号,只要检测到INT0信号下降沿到上升沿的这段时间。
如果相邻的两个中断间隔的时间长度为1.125ms,说明接收到的是“0”;
时间长度是2.25ms则为“1”。
因此,脉冲电平的每一次跳变都会形成一次中断,在中断服务子程中即可实现一次性对一连串连续波形的测量,在测量后对0和1的个数据统计从而测出控制指令的功能。
硬件或非门的反应速度是纳秒级的,满足实时要求。
红外接收电路连接图如图5-7所示。
图5-7红外接收电路图
5.3.2电源电路的设计
由于本设计不需要高功率电源,所以采用三端稳压器足以满足要求,如图5-8所示
图5-8电源电路
5.3.3八路LED开关电路
八路开关电路的实现是本次设计的重点,通过八路开关的功能演示来体现本次多功能红外遥控器的设计思想,其电路图5-9所示。
图5-9八路LED开关电路
K4是八路开关电路的总开关,只要接收到八路开关电路工作的红外控制信号,则K4就会闭合,LED灯才能进入演示功能。
LED1亮表明该路电路接通,灭则表明电路电路断开,其他LED灯功能类同。
5.3.4电磁式继电器
电磁继电器是一种常见的以电控电的交流继电器,图5-10这种继电器的结构示意图。
图5-10电磁式继电器
电磁继电器的工作原理是,当继电器线圈通电后,线圈中的铁芯产生强大的电磁力,吸动衔铁带动簧片,使触点1、2断开,1、3接通。
当线圈断电后,弹簧使簧片复位,使触点1、2接通,1、3断开。
我们只要把需要控制的电路接在触点1、2间(1、2称为常闭触点)或触点1、3间(称为常开触点),就可以利用继电器达到控制红外线辐射区域设备的目的。
在设计本论文的电磁继电器次端的工额定工作要求大于250伏,触点间允许通过的电流大于30安培,继电器的原边控制电流为几十毫安培,电压为3-5V。
在本论文的设计中电磁式继电器的作用是在继电器原边用微(弱)电来控制次边强电,使得整个红外信号接收处理控制系统在侦察到红外信号后电磁继电器开关动作被控设备处于待机状态,其控制电路如下图5-11所示。
图5-11电磁式继电器
5.3.5LCD1602液晶显示电路
LCD1602液晶显示器是一种低功耗,体积小,显示内容丰富、超薄轻巧、高可靠性的理想显示模块。
它内置192种字符(160个5×
7点阵字符和32个5×
10点阵字符)具有64个字节的自定义字符RAM,可自定义8个5×
8点阵字符或四个5×
11点阵字符。
利用单片机驱动LCD1602液晶显示器的电路如图5-12所示。
图5-12LCD1602显示电路图
5.4小结
发射模块采用AT89C2051单片机作为控制核心,硬件电路组成:
4X4矩阵键盘电路、红外发射电路、红外接收电路、电源电路。
遥控编码脉冲信号由引导码、系统码、系统反码、功能码、功能反码等信号组成。
以PPM码(脉冲位置调制码)对红外数据调制在38KHz的载波上。
接收模块采用STC89S52单片机作为控制核心。
硬件电路组成:
采用LT0038小型一体化红外接收头、电源电路、八路LED开关电路、LCD1602显示电路。
六、程序设计
6.1红外接收模块
6.1.1红外接收电路主程序流程图
主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过LCD1602显示当前LED灯熄灭的状态如此循环,如图6-1所示。
图6-1红灯接收主程序流程图
6.1.2红外接收电路子程序流程图
子程序是首先读取T0定时器的长度,如果是1.125ms就认为是“0”,将其存入缓冲区并且计数器加一,如果是2.25ms就认为是“1”,将其存入缓冲区并且计数器加一。
如果计数器值为32时,就接收结束标志位并且将计数器清0,如果计数器值不为32时,就认为是接收误码,计数器也将清0,此时重新等待读取红外信号。
如图6-2所示。
图6-6红外接收程序流程图
6.2小结
单片机对红外遥控八路开关的控制括二个子系统分别是:
红外遥控器指令发射、红外遥控指令接收。
发射主程序设计是首先是初始化键盘和红外发射端口的参数值,然后让单片机扫描检测键盘,如果有按键按下就让其相应的按键编码通过红外发射管发射出去。
接收主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过LCD1602显示当前LED灯熄灭的状态如此循环。
七、系统测试
7.1系统功能测试
经过硬件和软件的设计后制作出了作品,并对作品进行了系统的测试,达到了设计要求。
下面进行遥控的开关状态量进行测试,数据如表6-1,达到红外遥控功能。
表6-1遥控发射与接收的对应关系
次数
按键
设备Z指示灯
对应发光二极管
显示
状态
1
B
亮
灭
Welcome
正常
S1
发光
Device1on
2
Device1off
S2
Device2on
Device2off
S3
Device3on
Device3off
S4
Device4on
Device4off
S5
Device5on
Device5off
S6
Device6on
Device6off
S7
Device7on
Device7off
S8
Device8on
Device8off
长按5S
全部熄灭
Devicealloff
通过示波器可以测到输出波形(Ch1)与接收波形(Ch2)的关系,如图6-7所示:
图6-7发射与接收波形对应波形
八、参考文献
1、迟荣强:
《单片机原理及接口技术》[M],高等教育出版社,第56页。
2、何立民:
《单片机应用技术选编》[M],北京航空航天大学出版社,第79页。
3、张龙三:
《C语言控制与应用》[M],清华大学出版社,第28页。
4、沙占友:
《单片机外围电路设计》[M],电子工业出版社,第53页。
5、赵健:
《实用声光及无线电遥控电路300例》,中国电力出版社出版,第21-52页。
6、黄继昌:
《电子元器件应用手册》[M],北京人民邮电出版社,第12-52页。
7、张伟、王力、赵晶:
《电子设计与制版ProtelDXP入门与提高》[M],北京人民邮电出版社,第41-52页。
九、致谢
本次设计综合我们所学到的专业知识,把理论联系到实际;
为了提高自己的综合能力,从选题、收集资料、模块电路设计、绘制原理图、程序的编制到最后的资料整理都是自己亲自完成的。
在老师的指导和同学的帮助下,我克服了对复杂电路设计的畏惧情绪,顺利完成了本次设计任务。
通过本次设计,我对电路设计以及软件控制等方面都有了更为深刻的认识,并在实际电路连接中,掌握了很多技能。
我真诚的感谢老师,她是一位非常认真、严谨的老师,对电路设计、制作有着丰富经验,他对本人的设计思路及其最终实现都提出了非常宝贵的意见,并指出了设计思路中存在的不足,使得本次设计能够圆满成功。
同时我还要感谢我寝室的同学在学习、生活上对我的关心,也给了我莫大的支持。
本次课题的设计是一次理论与实际相结合的考验,它使我更加真切的体会到,作为一名自动化专业的学生,光会纸上谈兵是远远不够的,实际动手能力和扎实的理论知识同等重要。
本次设计对于我来说,既是一次对理论知识的巩固和提高,也是对实际动手操作能力的锻炼和加强。
这是本人完成系统的整体设计,难免会出现错误和不足之处,恳请批评指正!
附录1
voidsendirdata()
{
uchars=0,user=0,shuju=0,hc=0;
TR0=1;
/***发送引导码******************************************/
endcount=700;
//发送9ms起始码的高电平
p3_7=1;
count=0;
do{}while(count<
endcount);
endcount=350;
//发送4.5ms的结果码低电平
p3_7=0;
/***发送系统码*******************************************/
user=system;
for(s=0;
s<
=7;
s++)
endcount=30;
//发送公共的0.56ms高电平
hc=user&
wy[s];
//发送脉冲间距
if(hc==0){endcount=30;
}
else{endcount=120;
/***发送系统反码******************************************/
if(hc==0){endcount=120;
else{endcount=30;
/***发送数据码********************************************/
shuju=keyvalue;
hc=shuju&
/***发送数据反码******************************************/
s++)
红外编码子程序
//函数名称:
voidintr0_int()
//函数功能:
外中断0中断服务函数
voidintr0_int()interrupt0using2//外中断0用于判断脉冲个数
if(!
First_INT)//第一次外中断来时设置
time=0;
First_INT=1;
}
else
if(time>
330)//判断起始码,起始码来时设置&
&
time<
700
Star_Flag=1;
CodeNum=0;
elseif(Star_Flag==0)//没有接收到起始码,放弃
if(Star_Flag&
time!
=0)//开始接收
if((time>
=30)&
(time<
60))Code[CodeNum]=0;
//计数值设置
elseif((time>
=100)&
150))Code[CodeNum]=1;
//计数值清零,以对下一个脉冲宽度进行计时
CodeNum++;
//码字计数器加1
if(CodeNum>
=33)//脉冲个数判断,共32个
TR0=0;
Star_Flag=0;
First_INT=0;
flag=1;
LCD1602初始化程序
voidlcd_init(void)
{LCD_DATA=0;
WriteCommandLcd(0x38);
//工作方式初始化
//显示模式设置
WriteCommandLcd(0x08);
//关闭显示
WriteCommandLcd(0x01);
//显示清屏
WriteCommandLcd(0x06);
//显示光标移动设置
WriteCommandLcd(0x0c);
//显示开及光标移动设置
附录2
系统总电路原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 红外 遥控 接收器 设计 要点