摘 要
作为传统的家用电器,随着空调的普及,电风扇的市场地位受到了巨大的冲击,传统的开关、调速功能已经不能满足市场的需求。人们希望电风扇在体积小、使用方便等的基础上,能够拥有更多的功能,而红外遥控的广泛应用及单片机技术的成熟,则使得红外遥控系统成为了电风扇的发展趋势。
本设计方案基于市场的需求,结合红外遥控设计简单、方便、成本低廉等特点,采用专用的遥控发射接收芯片HS0038,在此基础上设计了一个简易的红外遥控电风扇系统。系统包括接收和发射两大部分,本文设计实现了电风扇的基本功能:开关功能、三级调速、定时等功能。经过多次的测试与电路调整,系统的各项功能均能正常实现。
关键词:红外遥控,信号调制,编码,解码
Abstract
As a traditional household appliance, along with the popularity of air conditioning, electric fan market position by the huge impact and the traditional switch, speed adjustment can't meet the demand of the market. People hope electric fan in the small volume, convenient, etc, and on the basis of to have more features, and the wide application of infrared remote control and single chip microcomputer technology maturity, it makes the infrared remote control system become the trend of the development of electric fans.
This design scheme based on the demand of the market, combined with infrared remote control design is simple, convenient, low cost and other characteristics, the use of a special radio transmission HS0038 receiver chips, and based on this, designs a simple system of infrared remote control electric fan. System including receiving and launch of two parts, this paper designed the basic functions of the electric fan: switch function, category five speed adjustments. After many tests and circuit adjustment, the system can realize the functions are normal.
Key words:Infrared remote control, Signal modulation, Encoding, Decoding
第1章 绪论
选题背景及意义
单片机自 20 世纪 70 年代问世以来,以其极高的性价比,受到人们的重视和关注,应用很广,发展很快。单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易等特点。目前单片机应用到各个领域,导弹的导航装置,飞机上各种仪表的控制,计算机网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC卡等。这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗器械了,因此,单片机的学习、开发与应用极其重要。
红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um~1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um~0.76um的光波可为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um~0.38um的光波为紫外光(线),波长为0.76um~1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰,且价格便宜,市场上非常容易买到。而且通过使用遥控器,操作时可以实现人与设备的分离,从而更加方便使用。
红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波;红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。
发射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几部分组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进行调制,再由驱动电路进行功率放大后由发射电路向外发射经调制定的指令编码信号。
接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几部分组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进行放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即还原为编码信号。指令译码器将编码指令信号进行译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制(机构)。
目前传统风扇市场受到空调的严重冲击,空调的遥控便捷性是传统风扇无法企及的,但是同样风扇的价格优势也是空调无法比拟的。价格低廉、结构简单的风扇更加容易进入人们的家庭。为了使风扇能够像空调一样远距离的控制,使人们的生活更加方便,我们可以采用基于单片机的红外遥控系统对风扇进行遥控,这样风扇也能像空调一样进行遥控。
红外遥控的设计思路
本次设计在于研究红外线遥控工作原理及实现方式,以及红外发射管和接收器的工作原理和使用方法。采用TC9012发射集成电路,AT89C51单片机,455kHz晶体振荡器,红外发射管,HS0038红外接收头,按键组成红外线遥控系统对风扇进行遥控,实现风扇的五级转速遥控。
本次设计分为硬件设计和软件设计两个部分,硬件部分又分为系统发射电路原理、系统接收电路原理,系统发射电路由TC9012发射集成电路实现,系统接收电路由AT89C51实现。软件部分又分为解码程序和接收程序。
红外遥控系统发射电路采用编/解码专业集成电路芯片来进行控制操作,控制部分包括键盘矩阵,编码调制,LED红外发送器。接收电路包括解调,解码电路。
红外通信的基本原理实质就是指利用红外线来作为载体传送信息,把单片机等产生的编码控制信号,经由调制电路调制为32~40 KHz的方波信号(提高发射效率、降低功耗)。在经由驱动电路驱动红外发光二极管(IRLED)发出红外遥控信号,在接收端使用与发送端相配对的红外光电二极管,接收含有控制信号的红外信号,在将该红外信号解调为电信号后,送入单片机进行解码,以得到相应的控制信号,从而完成红外信息的传送。
本红外遥控发射系统采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经TC9012芯片进行调制从而产生不同的编码信号,再由驱动电路驱动红外发射器发射红外信号。
红外接收电路是红外遥控系统中的指令信号及检出电路,通过一体化红外接收头HS0038(集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作)然后将接收到的信号发送给AT89C51, 然后AT89C51通过内部程序对所接收信号进行判断,然后就驱动相应的外部设备进行相应的动作。此设计的遥控开关是在通用遥控的基础上加以改进的,其实就是将红外遥控器接收部分采用单片机AT89C51来控制,即当一体化红外接收器接收到红外遥控信号,经放大、解码、滤波后,将原编码信号传送到单片机AT89C51中,进行信号识别编码,然后进行相应的处理,以达到控制电路的目的。
通过按下不同的按键,红外发射器发射不同频率的信号波,然后通过红外一体化接收头接收进行相应的放大解调从而进行相应的动作操作。
第2章 硬件设计
2.1红外通信简介
红外通信,就是通过红外线传输数据。在电脑技术发展早期,数据都是通过线缆传输的,线缆传输连线麻烦,需要特制接口,颇为不便。于是后来就有了红外、蓝牙、802.11等无线数据传输技术。
红外通信技术适合于低成本、跨平台、点对点高速数据连接,尤其是嵌入式系统。其主要应用:设备互联、信息网关。设备互联后可完成不同设备内文件与信息的交换。信息网关负责连接信息终端和互联网。红外通信技术是在世界范围内被广泛使用的一种无线连接技术,被众多的硬件和软件平台所支持其特点主要有:
1.通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发。
2. 主要是用来取代点对点的线缆连接。
3. 新的通信标准兼容早期的通信标准。
4.小角度(30度锥角以内),短距离,点对点直线数据传输,保密性强。
5. 传输速率较高,4M速率的FIR技术已被广泛使用,16M速率的VFIR技术已经发布。
6.不透光材料的阻隔性,可分隔性,限定物理使用性,方便集群使用:红外线技术是限定使用空间的。在红外不传输的过程中,遇到不透光的材料,如墙面。它就会反射,这一特点,确定了每套设备之间,可以在不同的物理空间里使用。
7.无频道资源占用性,安全特性高:红外线利用光传输数据的这一特点确定了它不存在无线频道资源的占用性,且安全性特别高。在限定的空间内使用进行窃听数据可不是一件容易的事。
8.优秀的互换性,通用性。因为采用了光传输,且限定物理使用空间。红外线发射和接收设备在同一频率的条件下,可以相互使用。
9.无有害辐射,绿色产品特性:科学实验证明,红外线是一种对人体有益的光谱,所以红外线产品是一种真正的绿色产品。
此外,红外线通信还有抗干扰性强,系统安装简单,易于管理等优点。
红外数据通信技术的缺点 :
1.受视距影响其传输距离短;
2.要求通信设备的位置固定;
3.其点对点的传输连接,无法灵活地组成网络等。
但是这些缺点并没有给IrDA的应用带来致命的障碍,红外技术已在手机和笔记本电脑等设备上得到了广泛的应用。
红外通信,保密性强、信息容量大、结构简单,既可以在室内使用,也可以在野外使用,具有良好的方向性。由于红外射束易受尘埃、雨水等物质的吸收,所以在野外使用时应注意气候环境的影响。
由于红外线遥控不具有向无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计家用电器的红外线遥控器时,不必要像无线电遥控器那样,每套(包括发射器和接收器)要有不同的遥控频率或编码(否则,就会隔墙控制而干扰邻居的家用电器),所以同类产品的红外线遥控器,可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方便。由于红外线为不可见光,因此对环境的影响很小。红外光的波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。
家用的家电红外遥控器发出的一般是通过38kHz载波调制的红外信号。红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机系统中。
2.2元器件介绍
2.2.1 STC89C52的主要性能
●8KB可改编程序Flash存储器(可经受1000次的写入/擦除).
●全静态工作:0Hz~24MHz.
●3级程序存储器保密.
●128×8字节内部RAM.
●32条可编程I/O线.
●2个16位定时器/计数器.
●6个中断源.
●可编程串行通道.
●片内时钟振荡器.
另外,STC89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式—空闲方式(Idle Mode)和掉电方式(Power Down Mode).在空闲方式中,CPU停止工作,而RAM,定时器/计数器,串行口和中断系统继续工作.在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一次硬件复位为止。
2.2.2 STC89C52引脚功能说明
图2—1是STC89C52的引脚结构图,有双列直插封装(DIP)方式和方形封装方式,下面分别叙述这些引脚的功能. (1).主电源引脚
① VCC电源端.
②GND:接地端.
(2).外接晶体引脚XTAL1和XTAL2
①XTAL1:接外部晶体的一个引脚.在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接受振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。
②XTAL2:接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端.,采用外部振荡器时,此引脚应悬浮不连接。
③单片机外接电路
片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~12MHz之间选取。C1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。这样就确定了单片机的4个周期分别是:
振荡周期=1/12;机器周期(SM)=;
图2.1 STC89C52模块
XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种机械振动又会产生交变电场,上述物理现象称为压电效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率,也称谐振频率。即用来连接STC89C52片内OSC的定时反馈回路。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使STC89C52单片机内的OSC电路按石英晶振相同频率自激振荡。通常,OSC的输出时钟频率为0.5MHz-16MHz,典型值为12MHz或者11.0592MHz。电容C1和C2可以帮助起振,典型值为30pF,调节它们可以达到微调的目的。
单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。MCS-51单片机的RST引脚是复位信号的输入端。例如:若MCS-51单片机时钟频率为12MHz。
上电瞬间,RST端的电位与VCC相同,随着电容的逐步充电,RST端的电位逐渐下降,此时ζ=22×10-6×1×103=22ms.当按下键时,RST端出现5×1000/1200≈4.2V,使单片机复位。
(3).控制或与其它电源复用引脚RST,ALE/PROG,PSEN和EA/Vpp.
①RST:复位输入端.当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。
②ALE/PROG:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节.即访问外部存储器,ALE仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。
如果需要的话,通过对专用寄存器(SFR)区中8EH单元的D0位置数,可禁止ALE操作。该位置数后,只有在执行一条MOVX或MOVC指令期间,ALE才会被激活.另外,该引脚会被微弱拉高,单片机执行外部程序时,该设定禁止ALE位无效。
③PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号。当STC89C52由外部程序存储器取指令(或常数)时,每个机器周期两次PSEN有效(即输出2个脉冲).但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
④EA/VPP外部访问允许端,要使CPU只访问外部存储器(地址为0000H—FFFFH),则EA端外部必须保持低电平(接到GND端)然而要注意的是:如果保密被编程,复位时在内部会锁存EA端的状态。
当EA 端保持高电平(接VCC端)时,CPU则执行内部程序存储器中的程序。在Flash存储器编程期间,该引脚也用于施加12V的编程允许电源VPP(如果选用12V编程)。
(4).输入/输出引脚P0.0—P0.7,P1.0—P1.7,P2.0—P2.7,P3.0—P3.7
①P0端口(P0.0—P0.7):P0是一个8位漏极开路型双向I/O端口.作为输出端口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作为高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
在Flash编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节.验证时,要求外接 上拉电阻。
②P1端口(P1.0—P1.7):P1是一个带有内部上拉电阻的8位I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入.对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口,P1口作输入口使用时,因为有内部的上拉电阻,那些被外部信号低的引脚会输出一个电流(IIL)。
③P2端口(P2.0—P2.7):P2是一个带有内部上拉电阻的8位双向I/O端口.P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入.对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口.P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX@DPTR指令)时,P2送出高8位地址。在访问8位地址的外部数据寄存器(如执行MOV@RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区P2寄存器的内容)在整个访问期间不会改变。
P3端口(P3.0—P3.7):P3是一个带内部上拉电阻的8位双向I/O端口.P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。
2.2.3 HS0038红外接收头
HS0038一体化的红外接收头将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本设计中,采用HS0038一体化红外接收头。
HS0038是黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m,能与TTL、COMS 电路兼容。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 μs,同时能对信号进行放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地、+5 V 电源、解调信号输出端。
红外一体化接收头的测试可以利用如图2-7所示的电路进行,在HS0038 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。
HS0038测试电路如图2-7所示。
图2-7 HS0038测试电路
平时,遥控器无键按下,红外发射二极管不发出信号,遥控接收头输出信号1。有键按下时。0和1编码中的高电平经遥控接收头倒相后输出信号0。由于接收头输出与单片机的中断脚相连,低电平将会引起单片机中断。单片机在中断时使用定时器0开始计时,通过软件可以判断出高电平、低电平和一个周期的结束,由此便可得知接收到的是引导码还是0或者1。如果接收到一个周期内高电平时间4.5ms,低电平时间也为4.5ms,则认为接收到的是引导码;如果计时值等于1.12ms,则接收到的是编码0;如果计时值等于2.25ms,则接收到的是编码1。在判断时间时,应考虑一定的误差值。因为不同的遥控器由于晶体振荡器参数等原因,发射及接收到的时间内也会有很小的误差。
解码方法如下:
(1)初始化外部中断0和定时器0,设定定时器0为16位计时器,初始值0。
(2)第一次进人遥控中断后,开始计时。
(3)通过软件判断第一个周期高低电平的时间范围,如果计时值与前导码的时间相符, 则进人第(4)步;如果什时值不符,则进入第(6)步。
(4)继续接收下面的地址码、地址码、数据码、数据反码。
(5)当接收到32位数据时,说明一帧数据接收完毕。此时可停止定时器的计时,并判断 本次接收是否有效。如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于OFFH,则接收的本帧数据码有效。否则丢弃本次接收到的数据。
(6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。
2.3电路原理图
2.3.1系统接收电路
系统接收电路由红外线接收器,AT89C51芯片,接口电路等部分组成。一体化红外接收头HS0038将接收的红外信号转变成电信号,经检波放大,滤去38KHZ的载波信号,恢复原来的指令脉冲,然后送入微处理器AT89C51中进行识别编码,解译出遥控信号的内容,并根据控制功能输出相应的控制信号,送往接口电路进行相应的处理。
系统接收电路如图2-9所示,单片机通过接收红外信号,然后对此信号进行解码,根据破解代码与设定代码的比较,单片机输出相应的控制信号,实现红外遥控功能。
ATC89C51芯片内部有一高增益反相放大器,用于构成振荡器.反相放大器的输入端为XTAL1,输出端为XTAL2。在XTAL1、XTAL2(第19、18引脚)两端跨接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路,晶振频率为12MHz。C2,C3是两个瓷片电容,与晶振Y1构成了自激谐振电路,其电容的作用主要是对频率进行微调,一般取30-45PF左右。使用该电路可产生稳定的11.0592MHZ频率,受外界的环境的干扰影响非常小。
图2-9 系统接收电路原理
复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序。除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。
复位操作有上电自动复位和按键手动复位两种方式。本设计采用上电自动复位方式。
上电瞬间RST引脚获得高电平,单片机复位电路随着电容的充电,RST引脚的高电平逐渐下降,RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。
参 考 文 献
胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2006
张迎新.单片机原理及应用[M].北京:电子工业出版社,2008
张元良.单片机开发技术实例教程[M].北京:机械工业出版社,2011
李庆梅基于AT89C51的智能电风扇的调速器的设计[J].自动化技术与应用,2008:50-55
张凯. 学习型红外遥控器的设计[J]. 科技信息. 2010:41-53
赵亮. 跟我学51单片机(六)——单片机外部中断及红外遥控器解码[J]. 电子制作. 2011:142-155
倪云峰.单片机原理与应用[M]. 西安:西安电子科技大学出版社,2009
张凯. 学习型红外遥控器的设计[J]. 科技信息. 2010:1-13