智能风扇控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数理与信息工程学院《单片机原理及应用》期末课程设计
题目:基于单片机的智能电风扇控制系统
专业:物联网运行与管理
班级:
姓名:
学号:
指导老师:
成绩:
2014年12月
目录
第1节引言 (3)
1.1 智能电风扇控制系统概述 (3)
1.2 本设计任务和主要内容 (3)
第2节系统主要硬件电路设计 (5)
2.1 总体硬件设计 (5)
2.2 数字温度传感器模块设计 (5)
2.2.1 温度传感器模块的组成 (5)
2.2.2 DS18B20的温度处理方法 (6)
2.3 电机调速与控制模块设计 (7)
2.3.1 电机调速原理 (7)
2.3.2 电机控制模块硬件设计 (8)
2.4 温度显示与控制模块设计 (9)
第3节系统软件设计 (10)
3.1 数字温度传感器模块程序设计 (10)
3.2 电机调速与控制模块程序流程 (15)
3.2.1 程序设计原理 (15)
3.2.2 主要程序 (16)
第4节结束语 (19)
参考文献 (20)
基于单片机的智能电风扇控制系统
数理与信息工程学院电子信息工程041班汪轲
指导教师:余水宝
第1节引言
电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。
尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。
1.1 智能电风扇控制系统概述
传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。
本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风力大小的效果。
1.2设计任务和主要内容
本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。
本设计主要内容如下:
①风速设为从高到低5个档位,可由用户通过键盘手动设定。
②当温度每降低2℃则电风扇风速自动下降一个档位。
③当温度每升高2℃则电风扇风速自动上升一个档位。
④用户可设定电风扇最低工作温度,当低于该温度时,电风扇自动停转。
第2节 系统主要硬件电路设计
2.1 总体硬件设计
系统总体设计框图如图2-1所示
图2-1 系统原理框图 对于单片机中央处理系统的方案设计,根据要求,我们可以选用具有4KB 片内E2PROM 的AT89C51单片机作为中央处理器。作为整个控制系统的核心,AT89C51内部已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高。是比较合适的方案
2.2 数字温度传感器模块设计
温度传感器可以选用LM324A 的运算放大器,将其设计成比例控制调节器,输出电压与热敏电阻的阻值成正比,但这种方案需要多次检测后方可使采样精确,过于烦琐。所以我采用更为优秀的DS18B20数字温度传感器,它可以直接将模拟温度信号转化为数字信号,降低了电路的复杂程度,提高了电路的运行质量。 2.2.1 温度传感器模块组成
本模块以DS18B20作为温度传感器,AT89C51作为处理器,配以温度显示作为温度控制输出单元。整个系统力求结构简单,功能完善。电路图如图2-2所示。
系统工作原理如下:
DS18B20进行现场温度测量,将测量数据送入AT89C51的P3.7口,经过单片机处理后显示温度值,并与设定温度值的上下限值比较,若高于设定上限值或低于设定
键盘输入
温度显示
单片机系统
电机控制模块
数字温度传感模块
下限值则控制电机转速进行调整。
图2-2 DS18B20温度计原理图
2.2.2 DS18B20的温度处理方法
DS18B20直接将测量温度值转化为数字量提交给单片机,工作时必须严格遵守单总线器件的工作时序。
表2-1 部分温度值与DS18B20输出的数字量对照表
温度值/℃ 数字输出(二进制) 数字输出(十六进制) +85℃ 0000 0101 0101 0000 0550H +25.625℃ 0000 0001 1001 0001 0191H +10.125℃ 0000 0000 1010 0010 00A2H
+0.5℃ 0000 0000 0000 1000 0008H 0℃ 0000 0000 0000 0000 0000H -0.5℃ 1111 1111 1111 1000 FFF8H -10.125℃ 1111 1111 0110 1110 FF5EH -25.625℃ 1111 1111 0110 1111 FF6FH -55℃ 1111 1100 1001 0000 FC90H
XTAL2
18
XTAL1
19
ALE 30EA
31
PSEN 29RST
9
P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78
P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD
17
P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1
AT89C51
R14k7R24k7R34k7R44k7R54k7R64k7
R74k7R84k7
X1
CRYSTAL
C1
22p
C2
22p
Q1
2N2907
Q2
2N2907
27.0
DQ 2VCC
3
GND 1U2
DS18B20