公务员期刊网 论文中心 正文

STM32单片机下智能风扇控制系统设计探析

前言:想要写出一篇引人入胜的文章?我们特意为您整理了STM32单片机下智能风扇控制系统设计探析范文,希望能给你带来灵感和参考,敬请阅读。

STM32单片机下智能风扇控制系统设计探析

摘要:本文所设计的智能风扇控制系统以stm32F103ZET6芯片为核心,集温湿度检测、人体感应、语音识别、空气加湿、手机交互等功能为一体。本系统具有手动控制以及智能控制两种工作模式,智能控制模式下,通过温度测量模块的数据采集,对风速与人体舒适度的关系进行建模,最终获得匹配的最佳风扇转速数;在人工控制模式中,通过LCD触摸屏、手机APP以及语音来控制风扇转速。经反复实验可得,该系统有较强的稳定性和自适应性,相对其他产品优势明显。

关键词:智能风扇控制系统;STM32;PWM控制

1系统总体设计

本文所设计的智能风扇控制系统主要由七大模块构成,分别是温湿度检测模块、人体感应模块、语音识别模块、风扇驱动模块、空气加湿模块、LCD触摸屏以及蓝牙模块。具体实现的功能有:(1)在LCD液晶屏上实时显示温湿度、风扇工作模式、风扇转速、加湿功能是否开启等相关信息;在蓝牙连接的情况下会将这些信息发送给手机,在手机APP上实时更新显示。(2)可通过语音、手机和LCD触摸屏设置风扇的模式和各部件的运作。(3)在手动模式下,风扇的转速根据用户输入的风力等级指令来变化,一共有3级风力等级可以设置。(4)在智能模式下,用户可以自行建立风扇转速与温度的函数关系,风扇转速将依照该函数随温度的变化而变化。(5)风扇配备人体感应模块,可实现人来风来、人走风停的功能。

2硬件模块设计

2.1主控芯片

本次选用的主控芯片是以Cortex-M3为内核的STM32F103ZET6单片机,该芯片不仅最高工作频率可达72MHz,而且还具有64KBSRAM、512KBFLASH、8个定时器、5个串口、1个FSMC接口以及112个通用IO口等,资源相当丰富,从性能与功耗两方面综合考虑,该控制芯片是一个极佳的选择。

2.2温湿度测量模块

DS18B20是一款高精度的数字温度传感器,它具有体积小、适用电压宽、硬件开销低、抗干扰能力强、接口简单等优点。DHT11是一款湿温度一体化的低功耗数字传感器,该传感器包括一个电阻式测湿元件和一个NTC测温元件,与单片机进行简单连接后,就能够实时地采集本地湿度和温度。DS18B20和DHT11均具有“单总线”接口,仅需要一个I/O口便可以实现和STM32的通信,双方之间的通信协议采用单总线协议。由于DHT11的温度测量精度较低,故使用时只取其测量的湿度值,温度值通过DS18B20获得。

2.3人体感应模块

本次设计采用HC-SR505人体感应模块检测人体,HC-SR505是基于红外线技术的自动控制产品,它具有灵敏度高、可靠性强、体积小,工作电压低的优点。设计时,将HC-SR05配置成可重复触发方式:感应到人体输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平。

2.4蓝牙模块

本次设计采用HC-05蓝牙模块与手机端进行交互,HC-05蓝牙模块可连接到微控制器的串行端口,并允许微控制器通过蓝牙连接其他设备通信,其成本低、传输数据稳定、使用简单便捷,在使用时,需将其RX和TX端与STM32的RX和TX端交替连接,配置并统一好通信格式后便可以很轻松地与手机进行交互,使用者可通过手机控制风扇的运作。

2.5语音识别模块

LD3320是基于非特定人体语音识别技术的语音识别芯片,LD3320芯片上集成了高精度的A/D和D/A接口,不再需要外接辅助的Flash和RAM,即可以实现语音识别以及人机对话功能,并且识别的关键词语列表是可以动态编辑的。该模块支持SPI与串口两种通信接口,本次设计中采用SPI接口与STM32进行通信。

3软件设计

3.1主程序设计

系统的主程序设计流程如图1所示,在主程序中先初始化系统和各个模块;然后,在主循环中进行温度检测;语音、蓝牙、LCD触摸屏的输入检测与处理,用户可以通过语音、蓝牙和LCD触摸屏来设置风扇的运行模式以及是否加湿空气等其他功能;接下来,LCD屏更新温湿度、风扇工作模式等相关信息;随后,判断当前系统的工作模式,如果是在智能模式下,则计算出风扇的转速,其中,v是风扇的转速,T是环境温度,k和b是风力调节参数,用户可以通过语音、手机APP等方式,结合自身喜好修改该参数;如果是在手动模式下,系统则根据用户输入的风力等级指令输出标定好的风扇转速;最后,系统会采用PID算法控制输出PWM波的占空比,以使风扇达到期望的转速。人体感应信号作为外部中断的触发信号,外部中断选择双边沿触发方式,进入中断后再读取感应信号的电平,判断是人靠近还是人离开,实现人来风来、人走风停的功能。

3.2PWM电机控制程序设计

STM32F103ZET6一共有8个定时器,其中6个定时器有4路输出比较通道,即可以同时输出4路PWM波,本次设计采用TIM3的CH1输出PWM波控制风扇电机的工作,其主要步骤如下:开启TIM3时钟,配置对应引脚为复用输出;初始化TIM3,设置TIM3的ARR和PSC;设置TIM3_CH1的PWM模式,使能TIM3的CH1输出;使能TIM3,修改TIM3_CCR1来控制占空比。TIM_CCR1的装载值是通过PID算法计算得出的,风扇电机带有检测其转速的编码器,将TIM4配置为编码器模式,读取单位时间内风扇编码器上的脉冲数,以此计算出风扇的实际转速,整定好PID各参数后,根据理想转速与实际转速采用位置式PID计算出TIM_CCR1的装载值,以此输出需要的PWM波,使风扇快速达到稳定、精准的转速。

4结语

本次设计以STM32F103ZET6为核心控制芯片,是对传统风扇的智能化升级与改造。本系统的两种运行模式,使风扇能自如应对生活中多样化的需求,在智能控制下,能根据环境温度自动调节相应功能,而在人工模式下,则能通过液晶屏、手机APP、语音等多种手段,来自定义用户最舒适的环境体验。系统总体较为节能、高效,应用场景广泛,有着良好的市场前景。

参考文献:

[1]张洋,原子教你玩STM32(库函数版)[M].北京:北京航空航天大学出社,2015.

[2]沈红卫,STM32单片机应用与全案例实践[M].北京:电子工业出版社,2017.

[3]侯殿有.单片机C语言程序设计[M].北京:人民邮电出版社,2010.

[4]张毅刚.单片机原理及应用[M].北京:高等教育出版社,2003.

[5]谭浩强.C程序设计[M].北京:清华大学出版社,1991.

[6]黄智伟.32位微控制器系统设计[M],北京:北京航空航天大学出社,2010.

[7]张友德.单片微型机原理及应用[M],上海:复旦大学出版社,2000.

作者:万方高 卢俊宇 卢俊诚 卢泽林 单位:哈尔滨理工大学电气与电子工程学院

精选范文推荐