单片机的温控风扇的设计

目 录
引言 1
一、系统整体设计 2
(一) 功能要求 2
(二) 系统结构图 2
(三) 方案论证与选择 2
二、系统硬件设计 3
(一) 单片机 3
(二) 温度采集模块 5
(三) 显示模块 6
(四) 电机驱动模块 7
三、系统程序设计 9
(一) 系统程序论述 9
(二) 温度传感器程序设计 9
(三) LCD1602液晶显示程序设计 10
(四) 电机控制程序设计 12
四、系统调试与结果 13
(一) 调试软件介绍 13
(二) 调试界面显示 13
(三) 系统调试与结果分析 13
总结 16
致谢 17
参考文献 18
附录 19
(一)原理图 19
(二)PCB图 20
(三)实物图 21
(四)源程序 22
引言
温度是我们日常生活中经常关注的一个物理量,它代表着物体表面的冷热程度,与我们的日常生活息息相关。它的数值大小或数值的变化幅度,会对我们日常生活造成不同程度的影响。
随着时代的发展,人们对温度的要求越来越高,特别是在家电方面。空调与电风扇,是家居生活中经常用到的改善室内温度的工具,但是空调昂贵的价格以及受适用场合限制较大,电风扇占据的市场还是有相当分量的。传统电风扇的一大突出缺点,就是需要人手调节档位调节转速,这样不仅费力有麻烦。比如人们忘记关掉风扇,这是非常耗电的,严重的还会引发火灾,特别是在夜间降温的时候,风扇依然在工作,人们在熟睡状态不知道,致使风扇一直开着,会影响到人们的身体健康。即使风扇有定时功能,但是范围有限,无法根据温度的变化灵活设置。
为解决上述问题,设计了这一自动的、实时的温控风扇系统。用单片机对环境温度进行实时采集与显示,根据预先设置好的温度参数,温度发生变化时,自动调节风扇的转速。
一、系统整体设计 *好棒文|www.hbsrm.com +Q:  3_5_1_9_1_6_0_7_2 
电的,严重的还会引发火灾,特别是在夜间降温的时候,风扇依然在工作,人们在熟睡状态不知道,致使风扇一直开着,会影响到人们的身体健康。即使风扇有定时功能,但是范围有限,无法根据温度的变化灵活设置。
为解决上述问题,设计了这一自动的、实时的温控风扇系统。用单片机对环境温度进行实时采集与显示,根据预先设置好的温度参数,温度发生变化时,自动调节风扇的转速。
一、系统整体设计
功能要求
温控风扇系统设计涉及到温度数据采集、电机控制部分、液晶显示设计,综合起来,需要实现的功能是实时温度采集,在液晶显示屏幕上显示出来,系统根据当前温度值,与设定好的温度值比对,经过算法换算,输出信号给电机驱动控制电机运转,从而满足课题要求。
系统结构图
系统主要由以下几个模块组成:Atmega328p主控芯片、温度采集模块、温度设置模块、液晶显示模块、电机控制模块。其中温度采集模块主要用到的传感器是数字温度传感器,区别于传统的温度模拟量采集的传感器,通过发送指令,即可获取到当前温度数据,无需转换。温度设置模块是有一个电位器模块,采集其电压信息,换算为0到100范围内温度值。液晶显示则采用字符型显示模块,这种模块控制起来比较简单,发送相应的指令就可以显示状态字。

图1 系统结构图
方案论证与选择
主控芯片的选型
方案一:PIC16C84单片机,是一款拥有8位CMOS-EEPROM的微型控制器,在其芯片内部具有1K*14的EEPROM程序存储器,程序的指令宽度有14位。
方案二:AT89C51单片机,这是一款8位微型控制器,接口丰富,一共有40个引脚,功能引脚32个。在单芯片上,使用灵活,兼容性好,可以提供有效的解决方案。
方案三:Arduino单片机,芯片采用Atmega328p型号。Arduino 类型单片机,是一款开源的微控制器开发平台,简单、易学,拓展性强,可以与各种传感器连接使用。
综上所述,考虑了制作成本和功耗,以及学习周期与效率 ,又根据系统需要选择设计选择方案三。
温度传感器选型
温度数据采集的方法有很多种,传感器的种类也有很多,如K型热电偶、数字温度传感器、非接触式红外探测温度传感器等等。选用不同的温度传感器,与其搭配的调理电路也不尽相同。
方案一:选用热敏电阻传感器与LM324运算放大器,集成在一块电路板上,作为温度传感器集成模块,设计思路是将其设计成一个具有比例控制的调节器,即将热敏电阻传感器的电压值按比例放大,与热敏电阻的阻值成正比关系;其设计原理非常简单易懂,制作起来也比较容易,但这种设计方案需要进过多次试验,记录试验数据,得出变化规律,即需要写一个算法,才可以提高采样准确度,其调试过程过于烦琐。
方案二:传感器DHT11,这是一款集成温度、湿度检测,数字量输出的复合型传感器模块,模块内部包含有一个名叫NTC温度测量元件,以及电阻式的湿度测量元件,温度测量在0-50℃范围内,误差在2°C左右,湿度测量在20-90%RH范围内,误差5%RH左右。这款传感器测量的误差范围相对较大,而且温度测量范围比较窄,应用的场合非常有限。
方案三:DS18B20数字温度传感器,这一款温度传感器通过内部序列处理,就可以直接将模拟量的温度信号转化为数字信号输出,因此,这样只需将DS18B20数字温度传感器接入单片机的引脚上,即可读取温度数据,误差范围不大,在-+0.5℃范围内,精度也很高,最高精度可以达到0.0625℃。
综上所述,结合课题要求,需要一款简单、易用、稳定性好,精度高的温度传感器,因此选用方案三。
液晶模块选型
在电子市场上有很多适合单片机开发用的液晶显示模块,如TFT彩色显示屏模块,0.96寸OLED显示屏,LED点阵显示屏等等。类型不同,协议不同,指令不同,控制方法不同,性能各异。根据课题需求,能实现简单的字符、数字显示即可,因此做了以下两个液晶显示屏选型的方案。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1455.html

好棒文