2方案设计
2.1 系统基本设计
主要设计的思路为:实时环境温度通过温度传感器DS18B20检测,然后把信号传给单片机STC89C51,让单片机处理数字温度信号,LED数码管用来显示设定的温度和实时温度。需要说明的是,设定的温度值和实时环境温度值取一位小数显示。同时,电机的转动速度通过PWM脉宽调制来调节。另外,电路还设置了三个按键,分别具备加减和设置功能来设置温度上下限值,实现“温度高、风力大;温度低、风力弱”。主要内容为:
(1)用户可按下按键来设定温度的上限值和下限值。
(2)实时温度比下限值小时,风扇不转。
(3)实时温度大于下限值小于上限值时,风扇缓慢转动。
(4)实时温度比上限值大时,风扇转速最快。
2.2方案论证
为了控制直流风扇的转速,让风扇电机在一定的温度变化范围内改变速度,则温度传感器要具有很高的识别分辨率,且控制电机换档的器件一定要稳定,比较可靠。
2.2.1温度传感器的选择
首先,选择温度传感器:
第一个方法:选择热敏电阻。当实时环境温度升高或降低时,热敏电阻的阻值也会变大或变小,再根据它的电压变化信号由放大电路放大后传给模数转换芯片ADC0809,从而得到数字信号,最后由单片机进行分析处理。
第二个方法:选择温度传感器DS18B20。DS18B20的特点数字集成式,它的原理是:直接采集到数字温度信号,再交由单片机处理。
分析第一个方法,热敏电阻有价格不贵,比较常见,容易买到的优点。但它的缺点有:当温度信号产生比较小的变化时,阻值不是特别敏感,也许还会产生失真尤其是在采集信号、放大信号、转换信号的过程中,此外非线性R-T关系是热敏电阻的一 个典型特点,在温度变化时阻值会有一定的偏差,如果修改电路来解决这个问题的话, 电路会比较繁琐,而且不一定能够检测到细微的温度变化。综上,不采用第一个方法。
分析第二个方法,因为高度集成化是数字温度传感器DS18B20的一个特点,温度检测也比较准确,并且它的温度分辨率极高,而这正是设计所需要的。DS18B20直接e输出数字温度信号,在一定程度上对系统编程有很大的好处,使得编程比较简单。与单片机连接的电路也会因为它采用的是单总线技术而变得清楚容易,再加上它有着出色的抗干扰能力,所以综上,选用第二个方法。
2.2.2控制核心的选用
在本次设计中用单片机控制系统的运行。采用代码编程实现检测温度和判断温度功能,所得的信号再通过I/O端口输出。STC89C51兼容MCS-51产品,4k字节在系统可编程Flash存储器,32个可编程I/O口线,低功耗,高性能,掉电后中断可以唤醒,具有掉电保护功能。价格便宜,实用性强。之所以不选择电压比较器电路,是因为电路虽然简单,不需要编写程序代码,但是不能做到全面的控制,用户无法根据自己的需求调节设定温度上下限值。而在单片机上编写代码,将传感器测得的温度在数码管上显示出来,清楚易懂,精准度高,用户也可以自己设置上下限温度来满足需求。综上所述,用单片机控制系统是最好的选择。
2.2.3显示电路
第一个方法:选择数码管实现温度的显示。
第二个方法:选择液晶显示屏LCD实现温度的显示。
讨论第一个方法,三级管驱动数码管成本低,功耗低,亮度高,即使是在黑暗环境里清晰都能够显示的很清楚,进行比较简单的编程就可以实现,所以该方法已被广泛运用在很多方面。它的缺点是,LED一个个的亮起来时,能够看到闪烁的现象,但当数字扫描周期小于人类视觉的暂留时间20MS,就看不到闪烁的现象。所以需要合适的扫描频率才能够成功实现此功能。 STC89C51单片机的智能温控风扇设计+PCB电路图(2):http://www.youerw.com/zidonghua/lunwen_29399.html