学 生 课 外 科 技 作 品 竞 赛
题 目: 红外遥控电扇调速器 学 院: 专 业: 班 级: 作 者: 完成日期:
目录
1 摘要-------------------------------------------------------------------2 2 引言-----------------------------------------------------------2 3 功能要求------------------------------------------------------2 4方案论证-------------------------------------------------------3
5 系统框图------------------------------------------------------4 6 硬件说明------------------------------------------------------4
6.1 主控芯片STC12C5410单片--------------------------------------------------------4 6.2 液晶屏使用SMC1602----------------------------------------------------------------4 6.3数字温度传感器DS18B20-----------------------------------------------------------5 6.4遥控信号接收头------------------------------------------------------------------------5 6.5信号发生电路---------------------------------------------------------------------------5 6.6风扇调速电路---------------------------------------------------------------------------6
7软件说明-------------------------------------------------------6
7.1 DS18B20程序框图---------------------------------------------------------------------6
7.2红外接收程序设计---------------------------------------------------------------------7
8系统参数----------------------------------------------------------------------------------8 9制作与调试------------------------------------------------------------------------------9
9.1总体特点------------------------------------------------------9
9.2 电路划分-----------------------------------------------------9 9.3 硬件调试-----------------------------------------------------9 9.4 软件调试-----------------------------------------------------9
10参考文献------------------------------------------------------------10 11遥控使用说明------------------------------------------------11 12附录 系统原理图--------------------------------------------12
摘要:
本科技作品是基于STC12C5410单片机开发的电扇遥控调速系统。电扇遥控系统主要包括普通红外遥控发射器、红外接收电路、液晶显示模块电路、D18B20温度读取模块、信号分频电路、电源电路、PWM控制风扇接口电路。本系统具有远距离遥控开、关、3档手动调速、定时、实时温度液晶显示、智能调速等功能。本系统采用单片机PWM给电风扇调速,具有无污染、节能、高效的特色,并且使用方便,功能丰富,具有一定的市场前景。
Abstract :
This technical work is based on the STC12C5410 monolithic integrated circuit development
1
electric fan remote control velocity modulation system. The electric fan external guidance system mainly includes the ordinary infrared remote control launcher, the infrared accepting circuit, the liquid crystal display modular circuit, the D18B20 temperature read module, the signal frequency dividing circuit, the power circuit, the PWM control ventilator interface circuit. This system has the long-distance range to control remotely, closes, 3 grades of manual velocity modulation, fixed time, real-time temperature functions and so on liquid crystal display, intelligent velocity modulation. This system uses monolithic integrated circuit PWM to the electric fan velocity modulation, has without the pollution, the energy conservation, the highly effective characteristic, and the easy to operate, the function is rich, has certain market prospect.
关键词: STC12C5410、红外遥控、PWM、DS18B20
引言:
随着人们生活水平的提高,各电子产品进行着突飞猛进的发展,电子测量仪也逐渐丰富起来,原来的模拟产品逐步向数字化转化,并且不断走向人性化。
红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来,用作单片机系统的输入,则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。而且通过使用遥控器,操作时可以实现人与设备的分离,从而更加方便使用。
1功能要求
设计一个普通电扇的红外遥控调速电路
(1)遥控距离10m以上。 (2)3级调速,高,中,低。 (3)遥控开机,关机。 (4)能够遥控设定时间定时关闭电扇。(5)设手动档和自动挡,自动档时由室温自动调速。(6)液晶屏显示风扇运行状态。
2方案论证
方案1:继电器选通调速
基本结构如图一
2
光耦 单片机 光耦 光耦 继电器1 继电器2 继电器3 风速1 风速2 风速3
图一
这种调速方式需要电风扇内部的线圈有三个抽头,分别由单片机的三个I/0口来控制三个继电器的导通与截至达到调速的目的。从理论上讲没有问题,但是这样的调速方式会增加硬件电路的成本,而且每种速度电扇始终处于导通状态,浪费了电能。
方案2:PWM脉宽调速
基本结构如图二
单片机 PWM光耦 双向晶闸管 风速1 风速2 风速3
图二
PWM控制技术就是对半导体开关器件的导通和关断进行控制, 使输出端得到一系列幅值相等而宽度不相等的脉冲, 用这些脉冲来代替正弦波或其他所需要的波形。目前, 数字PWM 技术以其控制灵活、高效节能等优势, 被广泛应用于分时多路复用系统、射频传输、光数据存储器、通信系统和数字音频系统。它克服了模拟调制中的不足, 实现了调制过程的全数字化, 有利于参数整定和变参数调节, 便于通过改变程序软件或调制算法来实现多种方案及完成对不同领域的控制, 提高了控制的可靠性和精度, 实现了控制的灵活性。
这种调速方式只需要电扇内部线圈的一个抽头就可以了,仅用单片机的一路PWM,通过改变巨型脉冲的占空比,利用一个周期内开通和关断晶闸管达到风扇调速的目的。这种调速方式,硬件电路简单,可以降低成本,而且节约电能。 综合上述两种方案,这里选取方案二为风扇调速。
3系统框图
系统结构框图如图三
3
遥控 发射 红外接收 蜂鸣器 STC12C5410LCD1602DS18B20 显示 CD4060分频电路 AC~220V 变压、滤波 整流 单片机PWM MOC3041 BTA12-600B 图三
电风扇 4硬件说明
4.1主控芯片选用宏晶公司的STC12C5410单片机,该单片机价格低性能好,有如下特点: 高速:1个时钟/机器周期,增强型8051内核,速度比普通8051单片机快8~12倍 宽电压:3.3V~5.5V
10K字节的片内Flash程序存储器,擦写10万次以上 512字节的片内RAM数据存储器 4通道捕获比较单元(PWM)
ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器 硬件看门狗(WDT)
通用I/O口可以设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻, 开漏 每个I/O口区动能力均可达到20mA,但整个芯片最大不得超过55mA
4.2 液晶屏使用SMC1602
显示容量16×2个字符 芯片工作电压4.5~5.5V 工作电流2.0mA (5V)
4.3数字温度传感器DS18B20
4
DS18B20 是美国Dallas 公司生产的一线式数字温度传 感器,具有3 引脚TO-92 小体积封装形式;温度测量-55~ +125℃,可编程为9~12 位A/D 转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16 位数字量方式串行输出;其工作电源既可在远端引入,也可以采用寄生电源方式产生;多个DS18B20 可以并联到3 或2 根线上,CPU 只需要 一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省微处理器的端口。
4.4遥控信号接收头
接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。 接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便
① 脉冲信号输出接,直接接单片机的IO 口。 ② GND接系统的地线(0V); ③ Vcc接系统的电源正极(+5V);
4.5信号发生电路
这里用CD4060BE分频,产生1024HZ的信号,为单片机的PWM输出提供基准信号。 CD4060电压范围为 3 - 18V,静态电流随电压提高而上升,在 +5V 供电时,静态电流约 0.25 - 5uA
4.6风扇调速电路
5
光耦MOC3041的驱动电流为15mA 双向晶闸管 BTA12-600B: ①IT(RMS) 12 A
②VDRM/VRRM 600 and 800 V ③IGT (Q1) 5 to 50 mA
5软件说明
5.1 DS18B20程序框图:
发DS18B20复位命令
跳过ROM命令 发读取温度命令
N
9字节读完没? Y N CRC校验正确?
Y
移入温度暂存器
结束
5.2 红外接收程序设计:
6
采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图所示。
图为遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)
上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射
红外接收程序框图: 外部中断0
开定时器1
N 大于20ms
引导码?
Y
N 大于20ms
等待外部0中断
Y N
32位数据读完?
Y
键码读取成功
关闭定时器1
结束
7
红外读取代码: int0() interrupt 0
{ if(TH1==0xb1)TR1=1; // TH1的初值为0xb1 第一次中断,开定时器1 if(j==8){a=0x01;k++;j=0;} if(TH1>0xe4&&TH1<0xe8)
{TR1=0;TL1=0xdf;TH1=0xb1;TR1=1;a=0x01;j=0;k=0;b[0]=0x00;b[1]=0x00;b[2]=0x00;b[3]=0x00;} // 如果是引导码则计数开始
if(TH1>0xb4&&TH1<0xb7) //判断读取的数据是不是0 { TR1=0;a<<=1;j++;TL1=0xdf;TH1=0xb1;TR1=1;} if(TH1>0xb8&&TH1<0xbb) //判断读取的数据是不是1 {TR1=0;b[k]+=a;a<<=1;j++;TL1=0xdf;TH1=0xb1;TR1=1;} }
//当计数值溢出时中断 time1() interrupt 3 { EA=0; TR1=0; TH1=0xb1; TL1=0xdf;
if((b[0]==0x80&&b[1]==0x7f)&&(b[2]+b[3])==0xff) //判断本次读数是否有效 {
ab[9]=b[3]; }
a=0x01;j=0;k=0;b[0]=0x00;b[1]=0x00;b[2]=0x00;b[3]=0x00; IE0 = 0; EA = 1; }
系统参数
◆系统静态功耗:7mA(5V) ◆测温范围:--55
◆温度测量最小单位:0.1; ◆测量温度:-55~+125℃; ◆温度测量最小单位:0.1℃; ◆背光显示时间: 10S; ◆系统工作电压:AC 220V ◆系统运行功耗:小于45瓦
制作与调试:
8
总体特点:电路系统原理不复杂,由于有强弱电之分,应当合理布局,隔离强电与弱电,防止相互干扰。
电路划分:STC12C5410单片机主板电路,电源电路, PWM控制风扇接口电路,液晶显示电路。 硬件调试 :
CPS1 CPS0
0 0 内部时钟, fosc/12。 0 1 内部时钟, fosc/2。 1 0 Timer0 溢出。
1 1 由 ECI/P3.4 脚输入的外部时钟。
PWM是8位的,所以:PWM的频率=PCA时钟输入源频率/256 占空比 = ( pulse_width/256 ) * 100%
由于采用外部ECI输入,输入信号频率为1024 Hz 所以:PWM的频率=PCA时钟输入源频率/256=4Hz
用示波器测量单片机PWM输出的频率和占空比,实测频率为4Hz,运行以下程序时高电平占25%.测试结果与理论值符合。 软件调试:
Keil 软件经过反复调试解决了软件的各种问题 以下是PWM的软件的调试程序: #include sfr CCAP0L = 0xEA; sfr CCAP0H = 0xFA; sfr CCAPM0 = 0xDA; sfr CCAPM1 = 0xDB; sbit CR = 0xDE; void main(void) { CMOD = 0x06; // Setup PCA timer CL = 0x00; CH = 0x00; CCAP0L = 0xc0; //Set the initial value same as CCAP0H CCAP0H = 0xc0; //25% Duty Cycle CCAPM0 = 0x42; //0100,0010 Setup PCA module 0 in PWM mode CR = 1; //Start PCA Timer. while(1){}; } 9 参考文献 【1】王兆安 黄俊 电力电子技术 西安交通大学出版,2000 【2】李群芳 万世明 单片机原理与应用—嵌入式系统开发基础,2006 【3】电子制作合订本 电子制作杂志社,2005 【4】楼然苗 李光飞 单片机课程设计指导,2007 【5】http://www.ourmpu.com/mcujx/mcujx.htm 手把手教单片机 【6】http://www.21icsearch.com/ 芯片资料搜索 【7】李广第 朱月秀 王秀山 单片机基础 北京航空航天大学出版社,2006 【8】聊太全 李萧 郭明琼 常用数字集成电路原理与应用 人民邮电出版社,2006 10 遥控使用说明 本系统一共用到遥控器18个按键中的9个键,当电风扇电源开关合上时液晶屏上第一行显示 STOP! ST 19.2*C 表示STOP!表示遥控还没开启,后面的是现在的室温。最左上方红色的按键为开启键,没有按到这个键时其他键都不起作用,但液晶屏的背光和每次按键的声音还会响应,每按一个键背光都会亮10秒钟然后自动关闭。 当按下开启键后,液晶屏上第一行显示Wind 1 TP 19.2*C 表示现在的风速是1档最 小,第二行显示Hand Mode &HDU表示开机时是手动模式,可以按遥控上的1,2,3档键来手动调速。 当按下zoom键时液晶屏第二行显示 SETUP TIME 0:00表示可以设置定时关闭,按下 加号或减号就可以以步进的方式定时每次步进30分钟最大定时9个半小时。再按一下zoom定时开始,当定时的时间到时系统自动关闭,需要遥控的开启键才能唤醒。 Mute是手动模式和自动模式的切换键,按第一下,液晶屏第二行显示 Auto mode 表示 现在是自动模式,风扇的速度由室温决定 小于25度时风扇关闭,液晶屏第一行显示不带感叹号的STOP,表示当温度上升时风扇还能被唤醒,当温度大于等于25度时风扇自动调到Wind 1 温度大于等于28度时风扇自动调到Wind 2 温度大于等于32度时风扇自动调到Wind 3。再按一下Mute键恢复手动模式。 mute + –2 58 0 + –3 6 9 jump14 7zoom 11 因篇幅问题不能全部显示,请点此查看更多更全内容