基于AT89C51单片机的智能温控风扇设计Word下载.docx
《基于AT89C51单片机的智能温控风扇设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的智能温控风扇设计Word下载.docx(29页珍藏版)》请在冰豆网上搜索。
3.2主控芯片介绍
3.2.1AT89C51简介
3.2.2AT89C51主要功能和系统参数
3.2.3AT89C51单片机引脚说明
3.2.4AT89C51单片机最小系统
3.3DS18B20温度采集电路
3.3.1DS18B20温度处理方法
3.3.2DS18B20工作原理
3.4其他电路
3.4.1数码管驱动显示电路
3.4.2风扇驱动电路
3.4.3按键模块
第四章
系统软件设计
4.1主程序流程图
4.2DS18B20子程序流程图
4.3数码管显示子程序流程图
4.4按键子程序流程图
第五章
系统调试
5.1系统功能
5.1.1硬件调试
5.1.2系统实现的功能
5.1.3系统功能分析
总结
致谢
参考文献
附录
附录1:
protel原理图
附录2:
系统PCB板图
附录3:
源程序
在炎热的夏天人们常用电风扇来降温,但传统电风扇多采用机械方式进行控制,存在功能单一,需要手动换挡等问题。
随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得智能电风扇得以逐渐走进了人们的生活中。
智能温控风扇可以根据环境温度自动调节风扇的启停与转速,在实际生活的使用中,温控风扇不仅可以节省宝贵的电资源,也大大方便了人们的生活。
本设计为一种温控风扇系统,具有灵敏的温度检测和显示功能,采用单片机AT89C51为核心控制器对风扇转速进行控制,使用温度传感器DS18B20检测温度数据,通过数码管显示实时温度,根据采集的温度,实现了风扇的自起自停。
可由使用者设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风档,当温度升高超过所设定的温度时自动切换到大风档,当温度小于所设定的温度时自动关闭风扇,控制状态随外界温度而定。
关键词:
单片机AT89C51;
温度传感器DS18B20;
数码管;
电风扇
第一章绪论
近年来,虽然空调以其强大的制冷效果赶超过电风扇,但随着绿色生活,低碳生活意识的普及,空调的高耗电量、加剧温室效应、破坏臭氧层等弊端,使得低功耗低污染的电风扇仍有很大市场需求。
传统电风扇采用机械方式进行控制,大部分只有手动调速,功能单一,存在隐患或不足。
比如说人们常常离开后忘记关闭电风扇,浪费电且不说还容易引发火灾,长时间工作还容易损坏电器。
对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:
当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。
为解决上述问题,我们设计了这套温控自动风扇系统。
本系统采用高精度集成温度传感器,用单片机控制,能显示实时温度,并根据使用者设定的温度自动在相应温度时作出小风、大风、停机动作,精确度高,动作准确。
它的广泛应用和普及将给人们的日常生活带来极大的方便,其发展趋势可根据其性质进行相应的改进可以运用与不同场合的温度监测控制,并带来大量的经济效益。
本设计以AT89C51单片机为核心,通过温度传感器对外界环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动调节档位,实现“温度高、风力大、温度低、风力弱”的性能。
(1)风速有小风、大风、停机共3个档位,可由用户通过按键设定。
(2)每当温度低于下限值时,则电风扇风速关闭。
(3)每当温度在下限和上限之间时,则电风扇转速缓慢。
(4)每当温度高于上限值时,则电风扇风速全速运转。
第二章方案选择
温度传感器可由以下几种方案可供选择:
方案一:
选用热敏电阻作为感测温度的核心元件,通过运算放大器放大由于温度变化引起热敏电阻电阻的变化、进而导至的输出电压变化的微弱电压变化信号,再用AD转换芯片ADC0809将模拟信号转化为数字信号输入单片机处理。
具体方案如图2-1
图2-1热敏温度采集电路
方案二:
采用热电偶作为感测温度的核心元件,配合桥式电路,运算放大电路和AD转换电路,将温度变化信号送入单片机处理。
此方案原理和方案一的原理大同小异,AD转换电路一样,就是模拟量输入的处理方式不一样,热电偶的还需要配合桥式电路,整体更加复杂点,但是此方案的测温范围更广。
方案三:
采用数字式集成温度传感器DS18B20作为感测温度的核心元件,直接输出数字温度信号供单片机处理。
对于方案一,采用热敏电阻有价格便宜、元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,虽然可以通过一定电路予以纠正,但不仅将使电路复杂稳定性降低,而且在人体所处温度环境温度变化中难以检测到小的温度变化。
故该方案不适合本系统。
对于方案二,采用热电偶和桥式测量电路相对于热敏电阻其对温度的敏感性和器件的非线性误差都有较大提高,其测温范围也非常宽,从-50摄氏度到1600摄氏度均可测量。
但是依然存在电路复杂,对温度敏感性达不到本系统要求的标准,故不采用该方案。
对于方案三,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转换等电路的误差因素,温度误差很小,并且由于其感测温度的原理与上述两种方案的原理有着本质的不同,使得其温度分辨力极高。
温度值在器件内部转换成数字量直接输出,简化了系统程序设计,又由于该传感器采用先进的单总线技术(1-WRIE),与单片机的接口变的非常简洁,抗干扰能力强。
采用电压比较电路作为控制部件。
温度传感器采用热敏电阻或热电偶等,温度信号转为电信号并放大,由集成运放组成的比较电路判决控制风扇转速,当高于或低于某值时将风扇切换到相应档位。
采用单片机作为控制核心。
以软件编程的方法进行温度判断,并在端口输出控制信号。
对于方案一,采用电压比较电路具有电路简单、易于实现,以及无需编写软件程序的特点,但控制方式过于单一,不能自由设置上下限动作温度,无法满足不同用户以及不同环境下的多种动作温度要求,故不在本系统中采用。
对于方案二,以单片机作为控制器,通过编写程序不但能将传感器感测到的温度通过显示电路显示出来,而且用户能通过键盘接口,自由设置上下限动作温度值,满足全方位的需求。
并且通过程序判断温度具有极高的精准度,能精确把握环境温度的微小变化。
故本系统采用方案二。
采用数码管显示温度,动态扫描显示方式。
采用LED数码管这种方案。
虽然显示的内容有限,但是也可以显示数字和几个英文字母,在这个设计中已经足够了,并且价格比液晶字符式要低的多,为了控制设计制作的成本,在此设计中选用LED数码管显示。
采用液晶显示屏LCD显示温度。
显示用液晶字符式,可以用软件达到很好的控制,硬件不复杂,液晶字符显示器可以显示很丰富的内容,但是液晶字符式价格昂贵。
对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。
不足的地方是扫描显示方式是使数码管逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。
对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。
但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原则考虑,本系统采用方案一。
采用变压器调节方式,运用电磁感应原理将220V电压通过线圈降压到不同的电压,控制风扇电机接到不同电压值的线圈上可控制电机的转速,从而控制风扇风力大小。
采用三极管驱动PWM进行控制。
脉宽调制是按一定的规律改变脉冲序列的脉冲宽度,调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是以矩形波PWM信号,在控制时需要调节PWM波的占空比。
占空比是指高电平持续时间在一个周期时间内的百分比。
在控制电机转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大。
对于方案一,由于采用变压器改变电压调节,有风速级别限制,不能适应人性化要求。
且在变压过程中会有损耗发热,效率不高,发热有不安全因素。
对于方案二,PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。
让信号保持为数字形式可将噪声影响降到最小。
噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。
对噪声抵抗能力的增强是PWM相对于模拟控制的另外一个优点,而且这也是在某些时候将PWM用于通信的主要原因。
从模拟信号转向PWM可以极大地延长通信距离。
第三章系统硬件设计
本系统由集成温度传感器、单片机、LED数码管、三极管驱动电路及一些其他外围器件组成。
使用AT89C51单片机编程控制,通过修改程序可方便实现系统升级。
系统的框图结构如下:
通过修改程序可方便实现系统升级。
图3-1系统框图
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储数据存储器(RAM);
器件采用ATMEL公司的高密度、非易失性存储技术生产;
兼容标准MSC-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51可灵活应用于各种控制领域。
具有以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
图3-2AT89C51单片机引脚图
(1)与MCS-51产品指令系统完全兼容
(2)4K字节可重擦写FLASH闪速存储器
(3)1000次擦写周期
(4)全静态工作:
0Hz-24MHz
(5)三级程序存储器锁定
(6)128×
8位内部RAM
(7)32个可编程I/O口线
(8)2个16位定时器/计数器
(9)6个中断源
(10)可编程串行UART通道
(11)低功耗闲置和掉电模式
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收