智能电风扇控制系统的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能电风扇控制系统的设计
目录
1 方案设计 (2)
1.1 系统整体设计 (2)
1.2 方案设计 (2)
1.3 研究的背景与意义 (3)
2 硬件设计 (3)
2.1 器件的选择 (3)
2.1.1 温度传感器的选择 (3)
2.1.2 控制核心的选择 (3)
2.1.3 显示器件的选择 (3)
2.1.4 调速方式的选择 (4)
2.1.5 驱动方式的选择 (4)
2.2 各部分的电路设计 (4)
2.2.1 开关复位与晶振电路 (4)
2.2.2 独立控制键盘电路 (5)
2.2.3 LCD显示电路 (5)
2.2.4 风扇驱动电路 (6)
2.2.5温度采集电路 (7)
2.2.6 电路总图 (8)
3 软件设计 (9)
3.1 主程序流程图 (10)
3.2 液晶显示子程序 (10)
3.3 温度传感器DS18B20子程序 (11)
3.3.1 温度读取程序 (11)
3.3.2 温度处理程序 (11)
4 硬件调试 (12)
4.1 按键电路的调试 (12)
4.2 温度传感器电路的调试 (13)
4.3 电机电路的调试 (13)
4.4 红外感应电路的调试 (14)
5 结论 (14)
参考文献 (14)
摘要:主控制芯片使用的是STC89C51,采用DS18B20来检测环境的温度,并且将监测到的环境温度发送给单片机。

并且通过系统预先设定的检测温度值与温度的比值来判断电机是否正常启动,显示屏采用的LED1602,可以显示系统设定的温度和检测到的温度。

关键词:STC89C51单片机;电风扇;液晶显示器1602
虽然随着科技的发展空调已经变得普及,但是风扇因为结构简单依然被很多
家庭广泛的应用。

伴随着温控技术的不断进步,为了让电风扇变得更加节能,越
多越多的人们开始关注了智能电风扇系统的研制,又由于单片机价格比较便宜,
购买比较容易,操作也非常简单,还拥有较高的控制精度,所以人们就想办法把以前的风扇与现在的单片机结合在了一起,设计出来了智能电风扇。

它能够根据识别人的位置打开或者关掉风扇。

同时还能够根据室内的温度来调节使人们感到凉爽的风速。

1 方案设计
1.1 系统整体设计
这个设计的运行基础如下图1所示,首先DS18B20会对周围的环境温度进行检测,DS18B20会把检测到的环境信息传到单片机上,因为有预先设置的数据单片机会将环境信息经过处理之后,调节到合适的风速并将其在显示屏上显现出来。

在本次的设计中设置了两个温度,分别是TL和TH,其中,TL是预设值,也是风扇启动最小温度,TH是风速档位切换温度的界限。

设置的按键一共有三个,分别是K1、K2和K3。

按键K1负责切换切换TL和TH,按键K2可以使温度降低,K3可以使温度升高。

按一次K2是降低一度,按一次K3是使温度升高一度。

我们在设计中应用红外感测器来识别风扇周围是否有人,进而控制风扇的打开以及关闭。

当周边没有人且持续了一段时间之后,系统会自动控制将风扇进行关闭。

当周边有人的时候,并且最低温度到达了预设值,便会自动打开电机,电风扇便会运行。

并且本次系统还具有PWM脉宽调制,可以通过对电机的控制来控制风扇的转速。

图1整体系统的结构图
1.2 方案设计
本次智能电风扇系统设计的主要是由2个功能组成,第一个功能是可以根据周围的温度自动调节风扇的转速,预先设定一个温度值,如果DS18B20检测到温度低于该温度值,便会把转速调慢,使温度升高。

如果DS18B20检测到温度高于该温度值,便会把转速调块,使温度降低。

第二个功能是可以自动控制电风扇的开启,主要是通过红外探头实现的,如果红外探头检测到该智能电风扇周围在过去一段的时间内没人存在的情况下,便会自动关闭该智能电风扇。

如果周围有人
存在的情况下,并且周围的温度高于预先设定的值的时候,电机便会运转起来。

1.3 研究的背景与意义
最近这些年,虽然空调凭借着强大的制冷效果得到了越来越多的人使用,但是随着现代人绿色生活的兴起,低碳意识的普及,意识到了空调的使用会破坏臭氧层,加剧温室效应,这样便使得低污染的电风扇的市场需求变得更大。

所以研制智能电风扇就变得重要了起来。

在此背景下,我设计了这款智能电风扇系统,可以使我们的生活变得更加便利。

2 硬件设计
2.1 器件的选择
2.1.1 温度传感器的选择
在本次的智能电风扇设计中采用的是DS18B20传感器,这种传感器不仅可以对温度进行非常精准的检测,还能使检测出的温度值变成信号传递给单片机让单片机处理,这样在设计程序和电路的时候,就能大大被简化了,并且DS18B20传感器使用的是单总线技术,传感器以及单片机也因为其简洁性,所以外界对于整个系统之间的影响以及干扰是十分小的。

图2DS18B20温度传感器
2.1.2 控制核心的选择
在本次的智能电风扇设计中采用的单片机的型号是STC89C51单片机,STC89C51单片机通过编程可以控制信号的输入输出和处理,这样DS18B20传感器传递过来的信号就能得到处理,进而达到了通过温度来控制智能电风扇转速的目的。

2.1.3 显示器件的选择
在本次的智能电风扇系统中显示器的选择使用的是LCD液晶显示屏1602。

该显示器显示的字符非常的丰富,在显示的过程中不会出现闪烁的情况,可以全程保证温度数据和转速数据的正常显示。

图3LCD1602显示器
2.1.4 调速方式的选择
本次的智能电风扇系统利用软件来模拟PWM,以能够调节电机转速,输出信号是脉冲序列的宽度决定的,因此调节其宽度就能改变信号。

电机的转速与占空比的大小成正比,所以通过矩形波PWM来通过占空比控制其转速,这样做的好处是:
(1)输出信号的调节通过软件延时来进行。

当低电平延时结束的时候,会进行一小会儿的延迟,相应的电平会反向,当高电平结束的时候,也会进行的同样的操作,这样就可以通过软件的延时输出不同的占空比信号,并且这样的操作几乎是没有成本的,所以在此次的智能电风扇系统的设计中,使用了这种模式。

(2)该方案成本低,但是对于系统中的各项要求都能够进行完成,而且其还具有很大的调整空间,来进行其他的功能的设计补足。

2.1.5 驱动的挑选
方案一:ULN2803达林顿反向驱动器。

方案二:L298N电桥驱动电路。

第一种方案此反向驱动器性能高容易控制,但是在驱动力上具有明显的短板,所以在电机调速中不采用这种方法。

第二种方案L298N电桥驱动电路,这种驱动器是非常容易上手的,并且L298N电桥驱动电路的驱动力非常强,在进行调速的时候性能也非常的优越,所以在本次系统的设计方案决定采用L298N电桥驱动电路。

2.2 各部分的电路设计
在电风扇的控制系统中,各种硬件都比较简便,模块有控制、显示和驱动以及检测模块同时还包括风扇。

此外,系统要正常工作,还需要一些必要的组件来辅助,主要是晶体振荡器和电源。

2.2.1 开关复位与晶振电路
本文设计的系统主要包含晶体振荡器电路和开关复位电路这两个电路。

晶体振荡器电路是用于产生时钟信号的,从而保证系统可以执行准确的工作。

复位电路主要用于复位每个端口工作的电路。

晶体振荡器使用12M晶体振荡器向电路提供工作信号脉冲,每秒12M是单片机的工作状态。

因此当晶体振荡器位于由单片机的XTAL1和XTAL2组成的振荡电路中时,会出现某些谐波,这会影响电路的
稳定性。

因此,需要将两个30pf电容器连接到晶体引脚接地。

尽可能的减少谐波的影响。

电路图如下面图5所示。

图4晶振电路与复位电路
在图4的晶振以及复位这两个电路中,晶振与XTAL1脚相互连接,用来反馈电路的功能。

C2是30pf,C3也是30pf,C1是10UF,R1是10K,晶振频率是12MHz。

2.2.2 独立控制键盘电路
在本次的智能电风扇系统设计种,设计了三个独立的按键,分别是K1、K2、K3。

他们之间相连的电路图如图5所示:
图5按键电路
K1,K2和K3这三个按键是独立的,K1与I / O端口P1.5相连,K2与I / O端口P1.6相连,K3与I / O端口P1.7相连,并且他们都与大地相连。

当按下按钮的时候,它的电路会从高电平变为低电平,这个时候电路就会相连通,单片机就能扫描预定的系统来设置温度。

K1控制TH或TL的调整。

K2和K3可以设定控制温度的加和减。

2.2.3 LCD显示电路
在设计方案中,显示温度我们选用的是LCD1602。

该电路与单片机微控制器之间的连接如图7所示。

该显示屏的第一行是系统检测到的室内空气气温以及风扇的速度档位,传感器对温度的显示可以精确到小数点后一位,第二行则显示要达到的目标温度设定。

其中P代表风扇转速的档位,T代表传感器感受到的室温,TL代表电动机启动时要达到的温度,TH代表齿轮切换的温度界限。

U3
图6LCD连接电路
2.2.4 风扇驱动电路
电路通过调整占空比来对电机的运行控制。

依靠I / O接口连接驱动模块以及进行信号传输,从而完成相应电机的驱动操作。

使用此方法对速度调节也能产生效果。

可以用键盘输入想要设置的预设温度,随后红外传感器感受的温度信号会和预先设置的温度进行比较,通过有效分析比较结果,如果达到相应输出目标的输出信号那么就会驱动电动机改变其转速来控制。

电动机的转速会随着系统预设,随着外部的温度改变而改变,并且两者将显示出一定程度的正比例关系,也就是说,随着转速的升高,相应的速度将继续增加。

温度升高时,如果温度过低,系统将立即终止操作。

此外,如果红外技术无检测到不存在相关人员且测量温度高于预定值时。

电机将相应运行,这将驱动智能电风扇运行。

相关的电路配置如图7所示。

图7直流电机连接电路
2.2.5温度采集电路
将DS18B20引入系统,并且把主控制芯片与相应的温度传感器相连。

在接下来的操作中,低温系数振荡器产生的时间形式信号并不由自己来处理。

而是由振荡计数器来进行转化和进行计数的操作。

但是在此工作中,系统必须完成设置对应-55°C的基础值。

否则如果计数结果是零但是振荡这个周期并没有停下来。

那么测得的温度范围就已经超出了,那么系统就会将执行温度寄存器加1操作,然后来回循环直到振荡周期结束。

这个时候,寄存器显示的是传感器实时测量温度。

存储机制是二进制形式,所以温度的确定可以通过信号来读取命令。

但是不得不考虑的是温度振荡器的非线性,虽然其非线性只是一部分,为确保输出的精度也需要对其进行一定程度的代偿。

这个电路能够以数字形式对信号来进行输出,与单片机实时通信过程中一定要有上拉电阻。

相关的引脚连接图如下图8所示。

图8DS18B20连接电路
2.2.6 电路总图
图9是该智能电风扇控制系统的电路总图,是2.2这一章节从2.2.1~2.2.5的总结,集成了晶振电路与开关复位电路,独立控制键盘的电路,LCD显示电路,温度采集电路,风扇的驱动电路。

U3
图9 总电路图
3 软件设计
本次设计的智能电风扇系统在编程的时候使用的是C语言,选择C语言的原因是因为C语言效率高,编程比较便捷,入门的门槛比较低。

3.1 主程序流程图
图10主程序流程图
3.2 液晶显示子程序
明白时序图之后就是编写电路程序了,我们对显示器进行了初始化,这样做是为了避免一些干扰性可能引起的误差,对相关的字符的位置和处理的函数进行了有效精准显示,从40H~4FH开始编写,具体实现的流程如图11所示。

图11液晶显示程序的流程图
3.3 温度传感器DS18B20子程序
3.3.1 温度读取程序
当传感器接收到了温度信号以后,便会立刻进行处理转换,最后输出的是电信号,相关的框图如图12所示。

图12DS18B20的程序流程图
3.3.2 温度处理程序
在上一步读取了温度转换成电信号以后,会进行处理操作,使得电信号转化
为数字信号,并在显示屏中显示出来,如下图13所示。

图13温度处理子程序流程图
4 硬件调试
此处与硬件电路有关的调试工作是比较容易的。

具体来说,它主要红外的感受检测,按键,等硬件还有相关的电机电路进行调试,保证系统安全正常运行。

4.1 按键电路的调试
这步的操作比较简单。

K1负责切换调节TL还是调节TH,按键K2可以使温度降低,K3可以使温度升高。

按一次K2是降低一度,按一次K3是使温度升高一度。

通过调试发现按下相应的按键会出现相应的结果,按键电路可以正常的使用,具体如下图14和15所示。

图14 TL的调节图15 TH的调节
4.2 温度传感器电路的调试
DS18B20温度传感器与主控芯片的P1.6在一定程度上实现了通讯的功能,单片机上的引脚都进行了相应的插拔,都没有出现什么错误,操作也非常的简单。

操作相对便捷。

对温度传感器DS18B20通过进行外部加热的方式进行了调试,显示屏的数字明显增加,所以该温度传感器可以进行正常的工作。

各个引脚的位置在使用的时候千万不能接反,因为这样会损坏芯片。

4.3 电机电路的调试
可以改变温度的预设值,查看风速有没有发生变化,其中T是检测到的系统温度,TH是切换一档和二档,TL是电机启动的温度,当检测到的温度T大于预先设定的TH的时候,变成了二档。

当检测到的温度T小于预先设定的TH的时候,变成了一档。

当测到的系统温度T大于电机启动的温度TL的时候,电机启动,检测到的温度T小于预先设定的TH的时候,变成了一档。

当测到的系统温度T小于电机启动的温度TL的时候,电机不启动,那么风扇也就不会转动,具体的调试数据如下表1所示,经过观察研究发现我们预先的实验目标已经达到了。

表1 调试相关的温度
T TL TH P
27.5℃28℃
29℃0
30℃0
31℃0
32℃0 26℃
26℃ 2
27℃ 2
28℃ 1
4.4 红外感应电路的调试
经过调试以后,红外探头在没有人存在的时候便会关闭风扇,如果有人存在的时候,且温度比预先设定的数值高的时候,电机便会运转起来。

进而风扇就会被开启。

5 结论
这个能够智能控制电风扇的系统,主控制芯片使用的是STC89C51,采用DS18B20来检测环境的温度,并且将监测到的环境温度发送给单片机。

并且通过系统预先设定的检测温度值与温度的比值来判断电机是否正常启动,显示屏采用的LED1602,可以显示系统设定的温度和检测到的温度。

通过这次毕业设计,使我把学到的知识和实际结合了起来并且锻炼了我独立思考的能力,通过翻找大量的参考文献使我对解决问题有了一个更加清晰的思路,我觉得自己不仅仅学到了知识,还更加完善了自我设计行为的规范。

很感谢学校给了我这次机会让我好好的锻炼了自己。

参考文献
[1]李学龙.使用单片机控制的智能遥控电风扇控制器[J].电子电路制作.2018.9:13-15.
[2]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社.2019.342-344.
[3]蓝厚荣.单片机的PWM控制技术[J].工业控制计算机.2018.23(3):97-98.
[4]胡汉才.单片机原理及其接口技术[M](第2版).北京:清华大学出版社.2014.49-77.
[5]胡全.51单片机的数码管动态显示技术[J].信息技术.2019.13:25-26.
[6]李钢,赵彦峰.1-Wire总线数字温度传感器DSI8B20原理及应用[J].现代电子技术.2018.28(21):77-79.
[7]马云峰.单片机与数字温度传感器DS18B20的接口设计[[J].计算机测量与控制.2017.10(4):278-280.
[8]王会明,侯加林.智能电风扇控制器的研制[J].电子与自动化.2018.5(4):25-26.
[9]谭浩强.C程序设计[M](第三版).北京:清华大学出版社.2015.37-65.
[10]孙号.Proteus软件在设计电子电路中的应用[J].仪表技术.2019.8:74-75.
[11]付三丽,王鹏运,黄恒一,王英辉,高媛.智能温控电风扇的设计[J].物联网技术,2020,10(03):101-104.
[12]吕德深,梁承权,蒋建旭,韦祖册,覃莉莉.“随温而动,随声而应”智能电风扇设计[J].信息技术与信息化,2019(10):53-56.
[13]李阳,赵娟.基于单片机的智能电风扇的设计[J].南方农机,2018,49(23):179-180.
[14]张娟,王露,刘世月,俢继伟,王鑫雷,陈云.基于51单片机的智能电风扇设计[J].机械工程与自动化,2018(06):157-158+161.
[15]李红菊.基于STC89C52单片机的无线智能温控迷你电风扇[J].信息与电脑(理论版),2018(12):118-121.
[16]李文博.数字温度传感器DS18B20与单片机的接口设计[[J].信息与电脑.2017.10(4):278-280.。

相关文档
最新文档