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

摘要:本文设计了一款智能电风扇控制系统,使用STC89C51作为主控制芯片,通过DS18B20检测环境温度并将温度信号发送给单片机。电机是否启动,以及电机的转速由系统设定温度值与检测温度值的比较结果控制。同时用LED1602显示检测到的温度和系统设定温度。
关键词:电风扇;STC89C51;液晶显示器1602;

目录
1 引言 2
2 方案设计 3
2.1 系统整体设计 3
图1 整体系统结构图 3
2.2 方案论证 3
3硬件设计 4
3.1器件的选择 4
3.1.1 温度传感器的选择 4
3.1.2 控制核心的选择 5
3.1.3 显示器件的选择 5
3.1.4 调速方式的选择 5
3.1.5 驱动方式选择 6
3.2 各部分电路设计 6
3.2.1 开关复位与晶振电路 6
3.2.2 独立控制键盘电路 7
图6 按键电路 7
3.2.3 LCD显示电路 8
图7 LCD连接电路 8
3.2.4温度采集电路 8
3.2.5 风扇驱动电路 9
图9 直流电机连接电路 10
3.2.6 电路总图 11
4 软件设计 11
图11 主程序流程图 12
图12 液晶显示程序流程图 13
图13 DS18B20程序流程图 13
4.3.2 温度处理程序 13
图14 温度处理子程序流程图 14
表1 16
参考文献: 19
致谢 21

1 引言
风扇的结构简单,并且方便使用,是一种常见的降温工具。虽然现在空调已经走进人们的生活,但是风扇作为一种节约能源,并且环保的降温工具,很多家庭都在使用。随着科技的发展,温控技术的不断进步,为了使电风扇更加节能方便,智能电风扇收到了越来越多的关注。因为单片机具有操作简单,便宜易购得,智能化程度高,抗干扰能力强,控制精度高的优点,所以单片机在很多的智能化产品中得到了应用。现阶段,智能电风扇的设计已经取得了一定的成果,可以通过人体检测来控制电扇的自动开启关闭,并能根据温度的不同控制风扇风速的大小。实现智能控制。[1]
本文设计了由单片机STC89C51作为控制核心的智能电风扇。采用温度传感器DS18B20检测环境温度后发送给单片机,通过单片机将温度信息显示在LCD1602上。通过PWM驱动风扇电机的转动。风扇能根据传感器检测到的温度与系统设定温度的比较结果完成转速的自动调节,并能根据人体检测结果控制电机自动开启关闭。
2 方案设计
2.1 系统整体设计
本系统的工作流程为;DS18B20将检测到的温度信号发送给51单片机,通过显示器1602将检测到的温度显示出来,单片机根据检测到的温度信号进行风速控制,同时风速信息也显示在其此显示器上。[8]系统有两个设定温度,TH和TL,其中TH为风速档位切换温度界限,TL为风扇启动最小温度。设置按键有三个,K1、K2和K3。调节TH还是调节TL由其中一个按键K1控制,另外两个按键K2、K3分别对温度进行调高和降低,温度信息后有一位小数。当按下K1时可调节TH,再次按下K1可调节TL。按下K2加一度,按下K3减一度。为了达到风扇自动开启关闭的目的,本系统还设置了一个红外探头,来检测是否有人员,如果超过一定时间没有检测到人员则其会自动关闭。为了对风扇转速进行调节,同时还利用了PWM脉宽调制来对电机进行控制。本系统的总体结构见图1。

图1 整体系统结构图
2.2 方案论证
本系统的主要控制目标就是风扇的转速可以根据温度信号的变化而改变,如果检测到室温低于设定值,则风扇会停止运行,且温度的设定值可以用独立按键改变。在风扇吹风区持续一段时间无人之后可以自动关闭。同时要求系统的温度分辨率达到较高的要求,电机工作可靠性较高。
3硬件设计
3.1器件的选择
3.1.1 温度传感器的选择
在本设计中,有以下两种方案可供选择:
方案一:采用热敏电阻。随着环境温度的改变,热敏电阻也会随之改变,然后产生输出电压变化的微弱电压变化信号。经过转化芯片将电压变化信号转化为数字信号,并发送给单片机,通过单片机对风速进行调节。
方案二:数字式集成温度传感器DS18B20。此种芯片属于一类应用广泛的温度传感器,其集成化程度较高,可以实现精确的温度信号测量目的,DS18B20输出的温度信号可以直接发送到单片机控制单元。
这以上两种方案各有一定的优点和缺点,对第一种方案而言,它的优点在于价格便宜,容易购得。不过其也存在明显的缺点,热敏电阻灵敏性不高,无法反映出细微的温度差别。并且在信号进行放大和转换时容易产生失真情况,此外其电阻和温度的变化关系也较复杂,对不同的热敏电阻可能需要专门确定出相应的温度曲线,在这些因素的影响下,相应电路复杂性就显著的提高。此外其对一些小的温度变化难以检测出来。据此可以看出此方案并不适合本系统。
对于方案二,数字式集成温度传感器DS18B20具有高度集成化的特点,可以大大降低外界放大转化以及其他电路的误差因数,温度误差变得很小。它的温度检测原理和热敏电阻的检测原理有本质的区别,使它的温度分辨力极高。温度值可以在器件内部转化成数字量直接输出,简化了系统程序的设计,又由于该传感器采用先进的单总线技术(1-WRIE),与单片机的接口变的非常简洁,抗干扰能力强。综合考虑这些因素本系统采用这个方案。
图2 温度传感器DS18B20
3.1.2 控制核心的选择
本文设计时选择了STC89C51单片机作为控制核心,其可以通过编程来对温度信号进行控制,并将信号处理后通过输入输出接口发送到电机,并据此来对电机的转速进行控制。此种单片机的优点表现为工作电压低,可以达到很高的性能要求,同时稳定性高,工作耗能小,其中的存储器RAM空间较大,可以方便的和MCS-51兼容,此外其成本也不高,因而可以很好的满足本系统要求。

图3 STC89C51
3.1.3 显示器件的选择
方案一:LED共阴极数码显示管。
方案二:LCD液晶显示屏1602。
第一种方案的主要优点在于成本低,功耗小,且在光线很暗情况下也可以很清晰的显示信号,此外温度计控制也相对简单,因而此种模式在很多显示领域得到应用。不过其也有一定缺陷,具体表现为,其通过动态扫描模式显示的,这样在工作过程中会产生闪烁,如果闪烁的频率较高,则数据显示会出现问题,导致一些数字无法准确的展示出来,因而综合考虑不选择这种方案。
第二种方案的优点在于可以很清晰的显示,且对一些符号也可以方便的显示出,有很高的显示性能,且不会出现闪烁。而本系统需要同时显示出温度,风速和红外状态等信息,因而综合考虑,选择这种显示方式。
图4 LCD1602
3.1.4 调速方式的选择
方案一:利用芯片DAC0832进行控制,也就是单片机根据接收到的温度信号来对电机转速进控制,此芯片可以对单片机转换后的信号发送到无级调速电路,并据此来对电机转速进行调节。
方案二:通过软件模拟PWM来对电机转速进行调节,此种调速方式主要是利用占空比对脉冲序列的宽度进行调节,从而得到所需要波形的调节模式。在此种占空比调节模式中,矩形波PWM信号的应用频率较高。[14]占空比也就是一个周期时间内高电平所占的百分比,如果此数值越大则相应的电机转速就越越高,如果其比例达到了100%,则转速也达到了最高水平。[3]通过输入输出接口来输出PWM信号时,可以选择如下几种模式:

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐