基于单片机的风扇控制器设计序言自然风是指自然界里的天然阵风,风量时大时小,给人以舒适感觉。
在生活中,我们可以感受自然风给我们带来的清爽,也可以享受空调带来的阵阵凉意。
风扇虽然在一定程度上给人们的生活带来了便捷,而电风扇的风量则不同,它是固定不变的,虽然配以摇头装置,仍不能达到自然风的效果。
长时间吹固定不变的风量,不但会感到不舒服,而且对人的健康也不利,随着变频空调的发明,我们设想能否设计一种风扇,其工作效果可以象变频空调一样,象自然风一样,来解决经济条件还没有能接受空调或在一些不适合使用空调的地方的人们生活矛盾。
解决的方法是给电风扇安装一个摸拟自然风控制器,有了它可使电风扇发出变化的风量,好像自然界里的天然阵风,这种模拟自然风对老人和小孩尤为适宜,同时设计的风扇具备多档定时功能,也使其适合夜间睡眠使用。
该设计控制器期望能达到长期可靠运行,风扇速度可调节并不少于8档,能实现定时关机。
风扇能模拟自然风,其转速能由快到慢,再由慢到快反复循环。
在本次设计,制作,调试过程中得到了李月红老师的大力支持,指导和帮助。
特此表示感谢!××××× 2007.5.28第1章智能化风扇控制器硬件设计1.1智能化风扇控制器系统设计方案及简介方案一:采用数字电路控制。
其原理方框图如图1-1所示。
采用数字集成电路通过对脉冲振荡器的调节和脉冲计数实现定时关机。
电路可由可控式振荡器、脉冲计数与分频器、脉冲译码与分配器与晶闸管触发电路。
但是不能随意控制档速,而且硬件的连接有些复杂。
不够实用。
图1-1数字电路控制方案方案二:采用单片机控制。
利用单片机丰富的I/O端口,及其控制的灵活性,采用数模转换实现基本的调速功能、还有时钟显示功能。
其原理如图1-2所示。
通过比较以上两种方案,单片机有较大的活动空间,既能实现所要求的功能,又能在很大的程度上扩展功能,而且可以方便的对系统进行升级,所以我们采用后一种方案[1]。
图1-2单片机控制方案1.2 单片机外围电路设计1.2.1 AT89C51简介AT89C51是AT89C52是美国ATMEE公司生产的低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes 的随机存取数据存储器(RAM ),器件采用ATMEE公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合,可灵活应用于各种控制领域[2]。
(1)特性概述:工串行通信口,片内振荡器及时钟电路。
同时,AT89C52 可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
(2).主要性能参数:·与 MCS-51产品指令和引脚完全兼容·4k 字节可重擦写Flash 闪速存储器·1000次擦写周期·全静态操作:0Hz-24MHz·三级加密程序存储器·126 *8字节内部RAM·32个可编程I/0口线·2个16位定时/计数器·6个中断源·可以编程串行UART 通道•低功耗空闲和掉电模式(3)引脚功能说明:V CC :电源电压 GND :地P0:P0口是一组8位漏级开路型双向I/O 口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL 逻辑门电路,对 图1-3 89C52管脚图端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash 编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1:P1口是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(I IL ),与AT89S51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX )见下表(表1-1)Flash 编程和程序校验期间,P1接收低8位地址。
表1-1 P1.0 P1.1特殊功能P3:P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出电)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能。
见流(IIL下表(表1-2)RST:复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器和数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,一般情况下,ALE仍以时钟震荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE的操作。
该位置位后,只有一条MOVC 和MOVX指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机型外部程序时,应设置ALE禁止位无效。
表1-2 P3口特殊功能PSEN:程序存储允许(PSEN)外部程序存储器的读选通信号,当AT89C52有外部程序存储器取指令(或数据)时,每个机器周期两个PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器时,将跳过两个PSEN信号。
EA/VPP:外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH)端必须保持低电平(接地)。
需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件使用是12V的编程电压Vpp[3]。
1.2.2单片机电路设计在本模块中单片机基本工作电路有4种电路:电源电路、控制电路、晶振电路、EA引脚电路,单片机基本模块[4]如图1-4所示。
图1-4单片机模块电路1.电源电路主电源引脚:40引脚VCC:接+5V电源正端。
20引脚VSS: 接+5V电源地端。
2.控制电路开关引脚P3.4 P3.5口:控制风扇风俗,高电平有效。
3.晶振电路AT89C52单片机片内含有一个高增益的反相放大器,通过X1,X2外接作为反馈元件的晶体后便成为自激振荡器,如图1-5所示:X1:振荡器反向放大器的及内部时钟发生器的输入端。
X2:振荡器方向放大器的输出端。
图1-5晶振电路4. EA引脚电路EA引脚功能为内外程序存储器选择,其引脚连接如图1-7所示:EA为高电平时,单片机访问内部程序存储器,但在PC值超过0FFFH时,将自动向执行外部程序存储器内的程序。
EA为低电平时,单片机则只访问外部程序存储器,而不管它是否有内部程序存储器。
所以在我们这个系统中,EA接+5V高电平。
图1-6 EA引角图1.3显示电路设计1.3.1数码管应用设计1.数码管简介设计选用七段发光二极管(LED)数码管,LED数码管是目前最常用的数字显示器,图1-9(a)、(b)为共阴管和共阳管的电路,(c)为两种不同出线形式的引出脚功能图。
一个LED数码管可用来显示一位0~9十进制数和一个小数点。
小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。
LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。
图1-8 74HC245管脚图(a) 共阴连接(“1”电平驱动)(b) 共阳连接(“0”电平驱动)(c) 符号及引脚功能图1-9 LED数码管2. 扫描方式动态扫描:单片机P0口是段码,低电平有效。
P2口是位码,高电平有效。
各个数码管的段码都是P0口的输出,即各个数码管输入的段码都是一样的, 为了使其分别显示不同的数字, 可采用动态显示的方式,即先只让最低位显示所要数据,经过一段延时,再让次低位显示次低位数据,如此类推。
由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚。
因为动态扫描利用了人眼的视觉暂留效果,周期动态的扫描,一个端口可以挂几个数码管,节省端口资源。
静态扫描:静态扫描一个端口只挂一个数码管,每个端口都需要8位的段位驱动显示段码。
静态扫描相对于动态扫描有一定的局限性,多用于个数较少的数码管显示。
设计采用动态扫描方式,用单片机 P0口作为数码管段位控制;P2口通过译码器选通数码管[5]。
这里为了能使数码管正常工作如图1-10所示接了上拉电阻,使得有足够的电流使数码管工作!图1-10数码管图1.4数模转换电路设计DAC0808为8位D/A转换器件。
当输入数据全为0时,其输出电压接近零;当输入数据全为1时,其输出电压最高,电压值由基准电压VREF决定。
待用的基准电压为15V,而输入数据在00H-FFH之间变化,即D/A输出的电压有256种。
由此计算出电源精度为15V/256=0.05859约为0.06V。
若要输出6V的直流电压,则输入数据=6/0.06=100,转换成十六进制为64H。
只要输出6V的直流电压,则输出数据6V的电压。
该电压经过预防TL082去推动LM317,有LM317出处余姚的电压值实现了数控调节电压。
(DAC0808芯片如图1-11所示)图1-11DAC0808芯片图1.4.1运放电路介绍TL082是一个输入宽带高速运算放大器能放大来自DAC0808的电压。
(内部结构图及个引脚图如图1-12所示)图1-12TL082内部结构图及引脚图1.4.2稳压部分介绍LM317是个稳压块起到稳定来自TL082的电压。
稳定的出处到用电器。
实物图如图1-13所示!图1-13LM317实物图第2章智能风扇控制器软件的设计2.1软件总体设计方案流程图该系统软件主要由中断模块、主程序模块、时间处理模块和电压模块。