信息与电脑China Computer & Communication软件开发与应用
基于STM32的智能风扇控制系统设计
胡慧之
(无锡城市职业技术学院,江苏 无锡 214153)
摘 要:笔者设计的智能风扇控制系统以STM32F407为控制核心,结合温度检测、人体感应、语音识别、蓝牙数据传输等模块,对常用风扇进行了改进。该系统具有人工控制和智能控制两种工作模式,在智能控制模式下,风扇会根据检测到的环境温度自动调整风扇转速,使环境温度恒定在人体最舒适的范围内;在人工控制模式下,用户可利用LCD触摸屏、手机APP和语音人为控制风扇转速。此外,该系统还采用红外热释电传感器对人体进行检测,有人时正常工作,无人时风扇会延时一段时间再自动关闭,避免能源浪费。
关键词:STM32;智能风扇;PWM控制
中图分类号:TM925.11 文献标识码:A 文章编号:1003-9767(2019)23-059-03
Design of Intelligent Fan Control System Based on STM32
Hu Huizhi
Abstract: The intelligent fan control system designed by the author takes STM32F407 as the control core, and combines
(Wuxi City College of Vocational Technology, Wuxi Jiangsu 214153, China)
temperature detection, human body induction, speech recognition, Bluetooth data transmission and other modules to improve the common fans. It has two working modes: manual control and intelligent control. In the intelligent control mode, the fan automatically adjusts the fan speed based on the detected ambient temperature, so that the ambient temperature is constant within the most normally, the fan is automatically turned off after a delay, and energy is saved.
Key words: STM32; intelligent fan; PWM control
comfortable range of the human body. In manual control mode, the fan speed can be controlled manually using the LCD touch screen, mobile app and voice. In addition, the infrared pyroelectric sensor is also used to detect the human body. When someone is working
0 引言
传统电风扇大多数功能单一,只有选档吹风、定时、定速等功能,不能根据温度变化调整转速,存在一定的健康隐患和能源浪费。例如,在天气较热的夜晚时用户只能凭感觉粗略定时、定速,设定的时间到了就停止工作。时间、风速设定不适宜,会影响人们的睡眠质量,甚至对身体健康造成损害。而且,传统风扇一般都不具备实时显示温度的功能,不能给用户提供定时、定速的参考温度值,不适宜的定时、定速都将会造成能源的浪费。
随着自动控制技术的迅速发展,各种智能风扇正逐渐走入人们的生活。但是,目前大多数智能风扇只能实现1~2个智能控制功能,例如,人体红外检测功能或温度自动检测功能等,这一状况已无法适应日益激烈的市场竞争,更无法满足用户日益增长的体验需求。本文设计的智能风扇控制系
统集智能调速、语音调速、手机APP调速等多种功能,可以更好地满足人工智能时代用户的新需求。
1 系统总体设计
本文设计的智能风扇控制系统主要由测温模块、人体感应模块、语音模块、风扇驱动模块、触摸屏模块和蓝牙模块组成,系统整体框图如图1所示。
测温模块 人体感应模块语音模块 触摸屏 图1 系统整体框图
STM32核心控制模块 风扇驱动模块 蓝牙模块 手机APP作者简介:胡慧之(1980—),女,江苏无锡人,硕士研究生,副教授。研究方向:单片机应用。
— 59 —
软件开发与应用
信息与电脑China Computer & Communication2019年第23期
具体功能如下:(1)在液晶屏上实时显示环境温度和风扇的转速;(2)在液晶屏上显示当前所处工作模块(人工/智能),并在液晶屏上切换工作模式;(3)在智能模式下,根据测得的环境温度,风扇可自动调节转速,同时可在液晶屏上设置温度的上下限值;(4)在人工模式下,可通过液晶屏、手机APP和语音调节风扇转速和切换工作模式。(5)能进行人体检测,有人时风扇正常工作,无人时风扇延时一段时间再自动关闭。
具有定时功能的REL电平输出。STM32F407通过通用I/O接口连接到AS312,当AS312检测到人体活动时,其会向STM32F407的I/O口输出高电平,没检测到人体活动时,则输出低电平。本设计将人体感应信号作为外部中断源,以中断的方式实现风扇无人时智能关闭功能[3]。2.4 语音模块
本设计中风扇调速语音口令的识别功能由专用芯片LD3320来实现。此芯片不需要用户事先训练和录音,识别准确率可达95%。芯片上集成了语音识别处理器和16位A/D转换器、16位D/A转换器、麦克风接口、声音输出接口等外部电路,不需要外接任何辅助芯片就能轻松实现语音识别。芯片的工作电压为3.3 V,支持并行接口或者SPI接口。本设计选用SPI接口方式实现与STM32F407的通信。2.5 蓝牙传输模块
本设计选用的是HC-06蓝牙模块,具有成本低、功耗低、传输速率高、抗干扰能力强等特点。蓝牙传输模块使用串口全双工通信方式,可直接与单片机连接。蓝牙模块的RXT引脚与STM32F407的TXD引脚相连,TXD引脚与STM32F407的RXT引脚相连。2.6 LCD液晶屏模块
本设计采用人工交互窗口是带触摸屏的ALIENTEK 2.8寸TFTLCD模块,该模块支持65K色显示,显示分辨率为320×240,接口为16位的80并口,在系统中显示温度、时间等实时数据,并进行模式和温度设置的输入。TFTLCD模块自带XPT2046触摸屏控制芯片。XPT2046是一款4导线制、低功耗触摸屏控制器,支持1.5~5.25 V的数字I/O接口,内部集成有12位分辨率125 kHz转换的A/D转换器,能通过执行两次A/D转换查出被按的屏幕位置,还具有触摸压力测量功能。2.7 电机驱动模块
电机驱动选用L298N模块,具有双路H桥电机驱动,可以方便地同时驱动两路直流电机。其输出电流为2 A,最高工作电压为50 V,可以驱动感性负载。输入端可以直接与单片机相连,从而很方便地受单片机控制。
2 硬件设计
2.1 STM32单片机
本设计选用的核心控制芯片是基于ARM Cortex™-M4内核的STM32F407,它是一款高性能、高度兼容、易开发、低功耗、低工作电压以及具有实时数字信号处理的32位闪存微控制器产品[1]。它的工作频率较高,可以高达168 MHz,通信接口多达15个,包括6个USART、3个SPI、3个IC、2个CAN和1个SDIO接口。同时,内部集成了AD转换、PWM输出等功能,增量式PID控制算法无需建立复杂的数学模型,就能达到较好的控制效果,已经广泛地应用在电机调速、数据测量等领域[2]。2.2 测温模块
虽然STM32F407内部自带温度传感器,但因为芯片温升等问题,与实际温度差别较大。因此,本设计选用了外部温度传感器DS18B20来测量室温,温度测量范围为-55~125℃,精度为±0.5℃。DS18B20拥有独特的单线接口方式,与单片机连接时不需任何外围元件,只需要一根口线就可以实现与单片机的双向通信,测量结果以9~12位数字量串行传送。测温模块接口电路如图2所示,DS18B20的分辨率选择12位。
2
3 软件设计
图2 测温模块接口电路
3.1 主程序设计
系统的软件设计主要包括测温、人体感应、口令识别、蓝牙传输、PWM电机控制、LCD显示等模块程序的设计。
系统上电后,先对各模块进行初始化设置,将智能模式设置为默认,但可在液晶屏上进行模式的选择。在智能模式下,风扇会根据测得的室温实时调节其转速;在人工模式下,用户通过液晶屏、手机APP或语音进行调速。人体检测信号
2.3 人体感应模块
人体检测选用了超低功耗的AS312型热释电人体红外传感器。AS312传感器的人体探测敏感元把感应到的人体信号通过甚高阻抗差分输入电路耦合到数字智能集成电路芯片上,然后经ADC将信号转化成15位数字信号,当热释电红外信号超过选定的数字阈值时就会有LED动态输出和
— 60 —
2019年第23期
信息与电脑China Computer & Communication软件开发与应用
作为中断源,当风扇检测到有人靠近时,其自动启动;反之,则开始计时,人离开一定时间后(默认5分钟)风扇自动关闭。主程序流程如图3所示。
开始系统初始化各模块初始化 温度检测 LCD显示温度、时间、模式等 检测工作模式 智能检测温度 PWM调速 根据命令调整转速 人工 读取控制命令 (三种输入方式) 先开启TIM14和GPIO时钟,配置PF9选择复用功能AF9(TIM14)输出;然后初始化TIM14,设置ARR和PSC等参数,通过ARR和PSC的值确定输出PWM的周期;接着设置TIM14_14的PWM模式,使TIM14能输出CH1;最后通过修改TIM14_CCR1的值来控制不同的占空比,以此控制风扇不同的转速。占空比的值根据所测环境温度,通过增量式PID算法计算确定。
4 结 语
本设计以STM32F407为核心控制芯片,在通用风扇的基础上,结合人工智能时代人们的新需求,对风扇控制系统进行了改进。通过本智能设计,风扇能根据室内温度实时调整风扇转速,同时还实现了液晶屏、语音、手机APP等多种人工控制方式,而且智能风扇有避免无人空转的功能,高效、实用、节能,有比较广阔的应用前景。
图3 主程序流程图3.2 PWM电机控制程序
本程序完成的是PWM波的产生以及PWM波占空比的调节。STM32F407具有多个TIM定时器,除了TIM6和TIM7,其他的定时器都可以产生PWM波输出。通用定时器能同时产生4路的PWM输出,本设计选用TIM14的CH1,其产生一路PWM输出控制风扇的运转,控制过程如下:首
参考文献
[1]黄智伟,王兵,朱卫华.STM32F 32位ARM微控制器应用设计与实践[M].北京:北京航空航天大学出版社,2014:51-56.
[2]徐宇宝,林华,王子权.基于STM32智能温控自调速风扇PID控制研究[J].齐齐哈尔大学学报,2018,34(5):7.
[3]王东,莫先.基于STM32和HC-SR501智能家居的智能照明系统设计[J].重庆理工大学学报,2016,10(6):137.
(上接第58页)
均能满足需要。可实现对实验室常用设备进行有效跟踪管理,学生用户可以通过小程序查看设备柜自助取还记录,管理员可以通过物联网传感器实时监测设备状态和借还情况。
参考文献
[1]骆波涛,马文清,李沛东.基于RFID的实验室设备管理系统的设计与实现[J].软件导刊(教育技术),2011(8):86-88.
[2]毛行标.RFID技术在高校实验室设备资产信息化管理系
图2 软件系统模块方案
统中的应用[J].中国现代教育装备,2006(11):69-70.
[3]洪松琛.RFID技术在电力物资仓储配送的应用[J].中外企业家,2013(4):137,139.
[4]魏振涛,浦晓亮,徐向群,等.基于物联网技术的智能家居的发展[J].科技与创新,2019(13):97-98.
5 结 语
根据系统设计方案进行硬件集成以及软件模块开发,测试结果显示RFID阅读器对非金属或金属带外包设备的识别率达到100%,调用第三方平台人脸识别效率平均在500 ms左右,
— 61 —
因篇幅问题不能全部显示,请点此查看更多更全内容