APP下载

基于单片机的智能控温风扇系统设计

2023-05-24彭文莉

无线互联科技 2023年5期
关键词:单片机传感器

彭文莉

摘要:随着单片机技术在风扇系统中的融入,智能风扇逐渐进入人们的日常生活。文章设计实现了一个基于51单片机的多功能智能控温风扇系统。该系统采用DS18B20温度传感器检测环境温度,主要模块包括主控模块、电源电路、MCU控制模块、温度采集模块、无线遥控模块、电机模块和数码管显示模块。经过测试,该系统能检测电风扇周围环境温度并且根据用户设定的调温模式自动进入识别模式。若是自动调温模式,系统则会控制电风扇转速并根据温度的变化做出相应的调整。

关键词:单片机;风扇系统;控温;传感器

中图分类号:TP311.1文献标志码:A

0 引言

随着计算机技术和通信技术的飞速发展,人们的生活质量逐步提高。在炎热的夏季,采用空调制冷的频率远远高于风扇。近年来,由于环保意识的增强,风扇又逐渐进入人们的生活,尤其受到老人和儿童的青睐[1]。市场人士称,家用电风扇其实并没有随着空调的普及而淡出市场,近年来反而出现了市场销售复苏的态势[2]。其主要原因:(1)风扇和空调的降温效果不同,空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;(2)电风扇有价格优势,价格便宜而且相对省电,安装和使用都非常简单[3]。将单片机技术融入风扇系统,设计与实现一款具有智能调控风速功能的风扇具有非常重要的现实意义。

1 傳统电风扇存在的问题与现实需求分析

传统电风扇多采用机械方式进行控制,功能少,噪声大,各挡的风速变化大[4]。随着科技的发展和人们生活水平的提高,家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。而传统的温控风扇利用风扇轴承附近的测温探头侦测风扇的进风口温度,从而对风扇的转速进行调节。这种温控虽然解决了一定的问题,但是存在着精度粗糙,而且温控的转速只能做到高速和低速两极变速。本文基于单片机,将它和主板的CPU温度侦测相结合并应用于风扇的转速精确控制上。

本文设计的智能控温风扇系统,要求在用户端采用数码管实时显示温度;可以手动设置温度的上下限,主要包含3个按键,分别是设置键、加键和减键。当温度小于下限风扇不转,温度在上下限之间50%时转动,大于上限时,风扇全速转动。

2 需求解决方案

基于问题总结和现实需求分析,本系统提出了一种解决方案,总体设计思路阐述如下:系统以STC90C52单片机为基础,温度采集选用DSl8B20数字温度传感器来检测温度,通过无线遥控远程控制,用户与单片机的交互需要通过VS1838一体化红外接收头来实现,电机使用LM298电机驱动,显示功能通过LCD12864来实现。总体框架如图1所示。

该总体设计方案使得温度采集模块可从MCU处理器中获取CPU的实时温度信息,MCU处理器将该温度信息反馈给调速驱动模块,从而控制电机达到调节风扇风速的目标。(1)本文设计的风扇风级为三级,通过CPU温度和红外遥控接收模块接收的环境温度实时调整风扇的风级,实现风扇的智能调控。(2)该风扇除三级风级以外,还有一个待机状态。当MCU处理器温度处在设定的温度以下时,将风扇控制在待机状态,这时的转速仅为500转速左右,大大降低了噪声和风扇的功耗。(3)当MCU处理器的温度远远超过设定的温度时,调速驱动模块控制电机在三级以上提高一个转速。这样的设计相比传统的温控风扇具有更好的灵活性。

3 系统的硬件设计

3.1 控温风扇系统设计

该控温风扇系统能获取红外线遥控发射模块读取的热敏电阻温度和MCU处理器的温度,根据这两项温度的高低变化,控制风扇的运转速度,及时解决噪声和高功耗的问题。该温控风扇必须提供足够的转速,在高温下的热空气中,风扇能稳定工作。在操作上,风扇的稳压器可以感受到温控散热风扇的加速运转。而在较低的温度下,风扇转速会适当降低,反应时间取决于传感器的长度及它的热灵敏度。设计的风扇可以在风扇控制器的控制下,根据温度的高低自动调整风扇的转速甚至彻底停转来达到减小噪声的目的。

针对环境温度,利用热敏电阻感应环境温度,将环境温度的数值传输给IC控制器,然后IC控制器根据传回的温度进行风扇的转速控制。本文将风扇IC内部设定一个固定的程序,比如,温度在30℃左右,风扇会以最大挡位持续运行。热敏电阻侦测到的温度在25℃左右时,风扇会自动调整转速,以特定的转速进行运转。当热敏电阻侦测到的温度小于20℃时,风扇IC控制器会发出停止运转的指令。

3.2 电源电路设计

单片机电源电路的设计是单片机硬件系统中首先要考虑的一个问题。由于本系统需要连接室内220 V交流电,故本系统采用开关电源将室内U(220 V)交流电压经过电源变压器降压后得到交流电压U,再经桥式整流得到脉动电压U。经过一个大电容C和小电容C并联进行高频滤波得到电压U,再经过LM338稳压器得到相对平滑的电压U,经输出整流、输出滤波电路等把输出电压给单片机及其他设备供电。而12864接口电路采用的是12864接口,该接口采用的是两线的串行接口:一条线是SCK(时钟线),一条线SID(数据线)。

3.3 温度传感器电路设计

本文研究的多功能自动调温系统中,DS18B20温度传感器的作用主要用于检测风扇当前环境,用来给软件程序读取之后根据设定从而达到自动根据不同温度调整风扇转速的目的。DS18B20温度传感器采用单总线协议与单片机通信,单片机发送一次复位信号后,DS18B20温度传感器从低功耗模式转换到高速模式,等待主机复位。复位结束后,再发送响应信号,并拉高总线准备传输数据。一次完整的数据为 40位,按照高位在前、低位在后的顺序传输。设计该数据格式如表1所示。

表1表明,响应信号的数据校验和为8位,温度分为整数部分和小数部分,分别划分为8位。由于DS18B20温度传感器的分辨率只能精确到个位,所以小数部分数据全为 0。校验和为前 4 个字节数据相加,校验的目的是保证数据传输的准确性。

DS18B20温度传感器只有在接收到开始信号后才触发一次温度采集,如果没有接收到主机发送复位信号,则不主动进行温度采集。当数据采集完毕且无开始信号后,自动切换到低速模式。该电路主要由NPN型晶体管、TLP521-1型光电耦合器和大功率NMOS管组成。上位机程序控制系统将检测温度值与系统设定值进行比较,按照PID控制算法进行运算,将单片机中可调的PWM信号,经晶体管驱动后,控制光电耦合器的通断,继而控制NMOS管IRF840A的通断时间,从而控制风扇对象,使其达到设定的风速。

3.4 电机PWM电路设计

电机使用LM298电机驱动,该电机为直流电机,直流电机的控制比较简单,通过L298N电机驱动配合工作并且性能出众。电动机是一种旋转式电动机器,它将电能转变为机械能,主要包括一个用以产生磁场的电磁铁绕组或分布的定子绕组和一个旋转电枢或转子。在定子绕组旋转磁场的作用下,其在电枢鼠笼式铝框中有电流通过并受磁场的作用而使其转动。这些机器中有些类型可作电动机用,也可作发电机用。它是将电能转变为机械能的一种机器。通常电动机的做功部分做旋转运动,这种电动机称为转子电动机;也有做直线运动的电动机,称为直线电动机。

3.5 红外接收头和遥控电路设计

实现无线遥控远程控制需要通过VS1838一体化红外接收头来实现功能。这种一体化红外线接收头体积小,灵敏度高,外接元件少,抗干扰的能力强,使用起来十分方便。红外遥控信号是一连串的二进制脉冲。为了使其在无线传输过程中免受其他红外信号的干扰,通常都是先将其调制在特定的载波平率上,然后再经红外发射二极管发射出去,而红外线接收装置则要滤除其他杂波,只接受该特定频率信号并将其还原成二进制脉冲码,即解调。在本文所设计的多功能自动调温系统中,红外传感接收头主要用于接收由无线遥控输出的信号,实现用户和单片的交互作用,用来对单片机发出指令。

3.6 OLED12864显示屏设计

本文设计的显示屏采用OLED技术。OLED技术的可视角度能降低屏幕的功耗,具有更加完美的可视角度,在物理结构上,兼具柔性、透明等特征,作为风扇的显示屏会直接提高用户的体验,具有核心的优势。本文设计的屏幕像素矩阵的划分是比较特殊的,整个屏幕水平方向划分为8个页面,垂直方向则是按像素划分为128 column。每个页面column包含8个像素,通过一个十六进制数,也就是1个字节,8个位来控制,每个位控制1个像素。即储存寄存器每个存储点的0/1控制映射到1个像素点的亮和灭。如果要在左上角显示一个亮点,需要发送0x01(16进制的1)到数据地址,设计代码如下:

Wire.beginTransmission(0x3C);// 控制指令

Wire.write(0x40);// 写地址

Wire.write(0x01);// 写数据

Wire.endTransmission();// 结束

本文设计的3种模式必须显示模式和风速,而且不同风速会显示关、慢、中、快。在温控模式下,系统还显示温度、阈值。定时模式显示倒计时。

4 系统的软件设计

程序设计是系统开发不可或缺的一部分,程序设计一般包括绘制程序的流程框图,编写程序及汇编几个步骤。本系统的软件部分可以分为两个模式:手动模式和自动模式。在上电进入系统后,本设计会有一个模式选择的界面产生。软件的总体设计方案阐述如下:(1)通过PWM驱动控制5 V风扇风速情况;(2)通过步进电机控制风扇摇头是否启动;(3)设置是否进行风扇定时;(4)4路按键分别负责风扇的启动/停止、摇头启动/停止、风扇速度3挡选择、定时时间选择功能;(5)液晶实时显示风扇的启动/停止、摇头启动/停止、风扇速度3挡情况、定时时间情况;(6)定时结束后,风扇转动以及摇头都会停止,和实际使用一致,和按停止按键功能一样;(7)通过蓝牙,手机App可查看当前风扇所有状态,实现控制功能是否完全符合兼容按键控制功能。

4.1 模式选择界面

在选择模式下可以通过按键来切换模式并通过按键进入模式,其中,使用K1按键来进行模式的选择,分为自动模式和手动模式;通过K2进入所选择的模式。部分核心代码如下。

设备接收命令和按键功能对应:*K1# //启动停止命令;*K2# //摇头命令;*K3# //速度切换命令;*K4# //定时切换命令。

设备上报命令和红外数据:*Q1R1S3T15#;Q1 //启动状态,如果停止状态为Q0;R1 //摇头状态,如果不摇头为R0;S3 //风速3挡,可以为0,1,2,3;T15 //定时倒计时剩余15s,如果为T00-T20表示倒计时,如果为TXX表示不定时处于当前状态。

4.2 手动模式

在手动模式下,通过按键来控制风扇的转动和扫风模式以及退出到选择界面的功能。在手动模式中,按下K1键来进行风扇的加速,分为低速模式、中速模式、高速模式和停止。通过K3来控制扫风,当按下一次K3后,会进入扫风模式,风扇扫风,再次按下K3,停止扫风。按下K4后,会退出手动模式进入模式选择界面。

4.3 自动模式

在自动模式下,系统会自动检测周围环境并决定是否进入扫风模式和使风扇转动。首先会检测前方是否有人,若没有人,无事发生;若有人,进入2。若前方有人,会检测左侧是否有人,若无人且环境温度大于27℃,风扇转动但不扫风;若有人,进入3。若左侧有人,会检测右侧是否有人,若无人且环境温度大于27℃,风扇转动且左半边扫风;若有人且环境温度大于27℃,风扇转动且0度到180度扫风。若环境温度在27℃到29℃之间,风扇转速为低速模式;若环境温度在29℃到31℃之间,风扇转速为中速模式;若环境温度在31℃以上,风扇转速为高速模式。如果要实现自动模式的效果,要在舵机的桨上将电机和红外模块粘上,这样才能更好地实现自动模式中所期望的效果。

5 结语

本文为一种温控风扇系统,具有灵敏的温度感测和数码管显示功能,系统以STC89C51单片机作为控制平台对风扇转速进行控制。可由用户设置高、低温度值,测得温度值在高低温度之间时打开风扇弱风挡,当温度升高超过所设定的温度时自动切换到大风挡,当温度小于所設定的温度时自动关闭风扇,控制状态随外界温度而定。所设高低温值保存在温度传感器DS18B20内部E2ROM中,掉电后仍然能保存上次设定值。本系统具有性能稳定、控制准确、成本低、体积小、操作简单且容易维护等特点。

参考文献

[1]杨秀秀,晏菁.基于STM32的多功能温控风扇设计[J].电子测试,2021(19):35-37.

[2]罗政球.基于单片机的多功能遥控智能温控风扇设计[J].电子制作,2022(7):81-84.

[3]刘晶,郑红霞,郭文斌.基于单片机的智能温控风扇设计[J].农家参谋,2020(22):105-106.

[4]黄浚恒,李冶,刘宾坤.基于51单片机的智能温控风扇设计[J].物联网技术,2022(7):127-129.

(编辑 王永超)

猜你喜欢

单片机传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
基于单片机的SPWM控制逆变器的设计与实现
“传感器新闻”会带来什么
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
跟踪导练(三)2
光电传感器在自动检测和分拣中的应用
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计