控制/MCU
传统电风扇多采用机械方式进行控制,功能少,噪音大,各档的风速变化大。随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。随着电子制造业的不断发展,社会对生产率的要求越来越高,各行业都需要精良高效、高可靠性的设备来满足要求。作为一种老式家电,电风扇具有价格便宜、摆放方便、体积轻巧等特点。由于大部分家庭消费水平的限制,电风扇作为一个成熟的家电行业的一员,在中小城市以及乡村将来一段时间内仍然会占有市场的大部分份额,但电风扇功能简单,不能满足智能化的要求。本文利用了单片机的红外控制功能,对电扇的控制结构进行了重新的设计,使得人在距离电扇10 m范围内就可以短程控制电扇,使得人不用走近电扇即可对电扇的风速进行调控,方便,实用,具有广阔的市场前景。
1 系统功能简介
传统的电扇都是由机械按键来控制电扇的启停,本设计采用红外遥控进行控制,由一单片机作为发射电路的主控部分,根据传统的机械按键也设计了4个按键控制,分别是关闭,小风速,中档风速,高风速。用户可以在夏天的时候,坐在沙发上,就可以完成电扇的打开,关闭,高速,低速的调节。
该设计的系统的框图如图1所示。
由图1我们可以看到该设计一共由6大模块构成,其中2个单片机AT89C52模块是相同的,他们分别是单片机的最小系统,具有单片机的最基本的启动和复位功能,其中按键部分完成按键功能,将0或者1的电平送给单片机进行处理,至于红外发送模块,功能就是把单片机编制好的红外编码发送出去,红外接收模块仅仅完成接收工作。后面的单片机模块完成对红外脉冲的解码,由不同的编码完成对电机的控制,也就相当于对电扇进行控制了。
3 系统硬件设计
3.1 遥控发射电路设计
如图2所示,该图为红外遥控发射电路图。
在图2中,单片机采用AT89C52,这是遥控电路的主芯片。ATMEL公司生产的AT89C52单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性的Flash程序存储器,它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要性能特点如下:
*8 kB FLASH ROM,可以擦除1 000次以上,数据保存10年。
*256字节内部RAM。
*电源控制模式:1)时钟可停止恢复2)空闲模式3)掉电模式。
*6个中断源。
*4个中断优先级。
*4个8位I/O口。
*全双工增强型UART。
*3个16位定时/计数器:T0,T1(标准80C51)和增加的T2(捕获和比较)。
*全静态工作方式:0~24 MHz。
在单片机的右半部分,接有4个按键分别是S2,S3,S4,S5与单片机的P0口的0到3号端口相连。P0口在用作输入的时候,必须接有上拉电阻。在单片机的左半部分是最小系统模块和红外发射部分,遥控器的信息码由AT89C52单片机的定时器1中断产生40 kHz红外线方波信号,由P3.5口输出,经过三极管9013放大,由红外线发射管发送。改变电阻R3的大小可以改变发射距离。
3.2 红外遥控接收电路设计
如图3所示,该图为红外遥控接收电路图。
如图3所示,单片机的左半部分是万能红外接收头IR1838,其管脚1为输出,管脚2,3分别是接地和电源的输入,电源电压仍然为5 V,左半部分的单片机的最小系统完成的是单片机的复位功能和启停,右半部分电路是由一个DAC0808芯片构成,该芯片输出与一个放大器相连,通过放大后将电压加在直流电机的两端,从而驱动了电机的工作。关于DAC0808它的主要参数为,误差最大,快速建立时间为150 ns,高速输入乘以转换率为:8 mA/μs,电源电压为±4.5~±18 V到,该芯片为低功耗的,最大功耗为33 mW。该DAC是8位的,也就意味着输入的范围为0到255,输出的电压从0~10 V变化的,这样最小精度为10/255 V,但是经过一个集成放大器后,也就能驱动一个小小的电动机了。
4 系统软件设计
4.1 红外发射和接收原理
先讲一讲什么是红外线。我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~O.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线遥控就是利用波长为0.76~1.5μm之间的近红外线来传送控制信号的。
常用的红外遥控系统一般分发射和接收2个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940 nm左右,外形与普通发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明3种颜色。判断红外发光二极管好坏的办法与判断普通二极管一样:用万用表电阻挡量一下红外发光二极管的正、反向电阻即可。红外发光二极管的发光效率要用专门的仪器才能精确测定,而业余条件下只能用拉距法来粗略判定。
接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。
由于红外发光二极管的发射功率一般都较小(100 mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。前些年常用μPC1373H、CX20106A等红外接收专用放大电路。最近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有3只引脚,即电源正(VDD)、电源(GND)和数据输出(VO或OUT)。红外接收头的引脚排列因型号不同而不尽相同,可参考厂家的使用说明。成品红外接收头的优点是不需要复杂的调试和外壳屏蔽,使用起来如同一只三极管.非常方便。但在使用时注意成品红外接收头的载波频率。红外遥控常用的载波频率为38 kHz,这是由发射端所使用的455 kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455 kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。在本系统的中采用的是40 kHz的红外发射波,接收装置采用的是万能红外接收头IR1838。
4.2 遥控码的编码格式
遥控码采用脉冲,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。
为了使接收可靠,第一位码宽为3 ms,其余为1 ms,遥控码数据帧间隔大于10 ms,其编码波形如图4所示。
如图4所示,当某个操作键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40 kHz的方波由红外线发射管发射出去。在上述的发射电路中,一共设置了4个按键,其中S2,S3,S4,S5的编码分别是电器码2,3,4,5,对于发射电路,每发送一个数据帧最短的时间间隔是10 ms。例如在按下S4时,即先发送3 ms的前导码,随后再发送5个1 ms的脉冲,就表示按键S4被按下了,单片机红外接收电路在接收到一串串脉冲之后,通过软件完成对红外的解码,通过设置,每个编码对应于电动机不同的操作,比如2这个编码,那么单片机的P0口输出00000000,再经过DAC0808之后,输出电压为0,这样电动机就可以停止工作了。类似的编码3,4,5分别对应直流电机的低速,中速和高速的操作。
4.3 单片机红外发送和接收程序
由于程序较长,所以在本设计中只给出部分的核心的红外发送和接收程序。关于红外的发送程序如下:
关于单片机的红外接收解码过程,其核心程序如下:
由面的解码程序可以知道,用到了一个中断接收的程序,其中remotein为临时变量,解码时的关键在于对脉冲个数的计量,这样keyvol的值就能很方便的读出来,再用到一个switch语句就可以分别对风速进行控制了。
5 结束语
红外遥控的特点是不影响周边环境,不干扰其它电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。
全部0条评论
快来发表一下你的评论吧 !