基于STM32的智能电风扇设计
2014-11-07刘慧勇杨虹
刘慧勇+杨虹
摘 要: 随着科技的日新月异,智能家居逐渐走入普通家庭,风扇作为基本的家用电器也将成为智能家居的一部分。这里介绍的是以STM32单片机为控制单元并结合嵌入式技术设计的一款具有温控调速、自动追踪人体位置、智能启停、液晶显示时间、温度等信息的智能电风扇。经过前期设计、制作和最终的测试得出,该风扇电源稳定性好,操作方便,运行可靠,功能强大,价格低廉,节约能耗,能够满足用户多元化的需求。该风扇具有的人性化设计和低廉的价格很适合普通用户家庭使用。
关键词: STM32单片机; 电风扇; 智能控制; 人性化设计
中图分类号: TN830.1?34; TP23 文献标识码: A 文章编号: 1004?373X(2014)21?0108?03
Design of intelligent electric fan based on STM32 MCU
LIU Hui?yong, YANG Hong
(Faculty of Science, Beijing Information Science and Technology University, Beijing 100101, China)
Abstract:The intelligent home goes into ordinary family gradually with the rapid change of science and technology. The fan as the basic household appliance will also become a part of the intelligent home. The intelligent fan taking STM32 MCU as a control chip and combining the embedded technology is introduced, which has functions of speed regulation with temperature, automatic tracking of human body position, smart start?stop, liquid crystal display of time, temperature and other information. The final test results show that the fan has a stable power, convenient operation, reliable operation, strong function, low price and energy cost. It can meet the needs of users. The fan with humanized design and low price is very suitable for ordinary family.
Keywords: STM32 MCU; electric fan; intelligent control; humanization design
0 引 言
传统电风扇多采用机械控制,功能单一,噪声大,定时时间短,摇头模式固定,变档风速变化较大。针对这些缺点,本文采用了一款性价比高、功耗低的基于ARM Cortex?M3内核的STM32单片机[1]作为控制单元制作了一台智能电风扇,该风扇巧妙地运用人体红外感应技术、微机控制技术、无级调速技术[2]、温度传感技术、液晶显示技术。把智能控制技术应用到家用电器的控制中,可以根据感应人体红外实现风扇的摇头或定位,可以根据环境温度的采样实现风速的自动调整,可以根据不同人群的使用要求自行设定风扇的间歇工作时间;能够显示时间、环境以及工作状态的信息,具有友好交互界面;采用的芯片功能强大,方便进行功能扩展。
1 总体设计
该风扇采用模块化设计[3],通过各个功能模块的调用来实现风扇的功能,对于控制调整功能尤其如此。系统调用程序以基于ARM Cortex?M3内核的控制器STM32为核心,系统总的框图如图1所示。
图1 控制系统总体框图
2 硬件设计
该智能电风扇是由STM32单片机作为中央处理单元,由直流电机与步进电机驱动风扇工作,能够通过温度传感器和红外传感器等传感单元感知环境信息,通过功能按键和TFT液晶显示屏,能够很好地实现人机交互。
2.1 控制芯片
控制系统的核心是STM32芯片,该芯片具有低功耗、低成本、高性能、集成度高、体积小、可靠性强的优点,有很高的性价比。STM32采用了新型的单线调试(Single Wire)技术,节约了大笔的调试工具费用;同时,STM32中还集成了大部分存储器控制器,可以直接在MCU外连接Flash,降低了设计难度和应用障碍。
2.2 电机控制电路
电机调速是整个控制系统中的一个重要的方面,是电风扇的重要功能组成,主要包括直流电机和步进电机[4]两部分。直流电机的控制是通过脉宽调制的方式实现的,通过读取温度传感器或者按键的值调整脉宽的占空比来实现直流电机的转速改变;步进电机是将电脉冲信号转变为角位移或者线位移的开环控制元件[5],通过红外感应模块感知人体的方位来确定步进电机的转动方向及转动步数,实现风扇的定位或者摇头。
2.3 温度控制电路
温度传感器采用数字式集成温度传感器[6]DS18B20,电路如图2所示。它在使用中不需要任何外围元件。其高度集成化大大降低了外接放大转换等电路的误差因素,且温度误差小,分辨力高;测量到的温度值可以在器件内部转换成数字量直接输出,简化了系统程序设计;同时采用先进的单总线技术,具有较强的抗干扰能力。因而使用DS18B20可使系统结构更趋简单,可靠性更高。DS18B20在测温精度、转换时间、传输距离、分辨率等方面均可满足电风扇温度检测的要求。
图2 DS18b20温度测量电路
2.4 红外感应电路
红外线感应模块采用了热释电人体红外线传感元件集成模块 HC?SR501。热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。该模块可以有效地探测电风扇影响范围内人体的活动,监控范围大,隐蔽性好,能可靠地将运动的人和飘落的物体进行区别,抗干扰能力强,误报率低;模块内部还集成了光敏电阻,夜晚也能可靠工作[7]。通过设置,若有人在其电风扇有效范围内活动,模块输出高电平,可做到人来电风扇开启,直到人离开后才延时将高电平变为低电平,即人离开监控范围电风扇延时关停;延时时间可调。
2.5 液晶显示电路
液晶显示模块采用带有R61505U控制芯片的3.2寸TFT液晶显示屏,320×240的液晶可以很好地显示风扇的各个功能状态[8]:工作状态(Manu、Auto、Sleep),睡眠模式下的定时时间(Work、Sleep),手动模式下风扇的档位(Speed),同时还显示年、月、日、星期、时间、温度等信息。
3 软件设计
控制系统软件使用C语言编程。模块化设计,除主程序外,还有各功能子程序,分别执行按键处理、直流电机驱动调速及步进电机的定位、温度、时间、功能等信息显示、睡眠模式设定等相应功能。系统软件主程序流程如图3所示,按键中断程序如图4所示。
图3 系统软件主程序流程图
按键中断模式有自动模式、手动模式、睡眠模式。
自动模式下把风扇正面180°空间分为三个红外感应区,当人进入任意一个红外感应区时,风扇开始工作。如果三个红外感应区只有一个区域检测到有人,风扇会判断现在处于单人模式,该模式下风扇会始终转到检测到人的区域,以实现实时追踪的目的。如果检测到不止一个红外感应区域有人时,风扇会判断现在处于多人模式。如果检测到两个区域有人,风扇就在两个区域间摆头,如果是相邻区域,则就在小角度摆头;如果是在不相邻的区域检测到有人,则在大角度摆头;当三个区域都感应到有人时同样会大角度摆头。风扇的智能启停、小角度摆头、单区域追踪都使得风扇既人性化又能够避免能源浪费。
手动模式下风扇实现的是手动调节风扇的转速,有增速和减速两个按键,可以实现风扇七个档级的调速。
睡眠模式下根据不同用户的需求如老年人、儿童身体较弱,不能长时间吹风,可以设定风扇工作时间短一些,休眠时间长一些,风扇会在设定好的时间内间歇性工作,避免了长时间吹风带来的不适。所以用户可以根据自己的需求自行设定风扇工作时间和睡眠时间,以达到最佳舒适度。
4 实物调试
以STM32为核心设计电路[9]并印制电路板,加工制作出电风扇[10],如图5所示。采用C语言模块化编写的程序下载到芯片中,接好电风扇后进行测试。测试如下:打开电风扇,当有人靠近电风扇时,风扇开始工作;当人远离电风扇时,风扇就停止工作。将电烙铁或冰块放在温度传感器DS18B20附近,电风扇能根据温度变化调整风扇转速。按下手动模式按键,选择手动模式下的调速按键,可以调整风扇转速。按下自动模式按键,风扇能够根据人的位置来实现风扇的追踪或者摇头。按下睡眠模式按键,设定风扇的工作和休眠时间,可以看到风扇以设定的工作和休眠时间为周期,循环工作。
图5 实物展示
通过测试表明,该电风扇能够智能启停,按照设定的各个模式正常工作,正常显示温度时间等信息且反应灵敏,简单实用,达到了预期的设计目的。
5 结 论
本项目采用STM32单片机,结合温度传感器、红外传感器等,通过对传统电风扇原有功能的改进,设计了此智能电风扇。
该智能电风扇有如下几个突出的特点:
(1) 性价比高。控制系统的核心是STM32芯片,该芯片具有低功耗、低成本、高性能、集成度高、体积小、可靠性强的优点,有很高的性价比。
(2) 智能。该风扇能够通过红外感应智能启停,避免了忘记关风扇而造成的能源浪费;并且可以根据人员的位置实时跟踪或者摇头,以最大程度满足使用者的要求,可以让使用者实时感受到吹风的感觉。
(3) 特有的睡眠模式。该风扇设计的睡眠模式大大改进了传统风扇定时的缺点。为了满足不同人群的需求,该风扇可以自行设定风扇的工作时间和休眠时间,使风扇在设定好的时间内循环工作,不用再担心因长时间吹风带来的不适问题。
参考文献
[1] 孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2013,31(12):59?63.
[2] 岳东海,颜鹏.直流电机PWM无级调速控制系统设计[J].价值工程,2010(2):135?136.
[3] 张舞杰,南亦民.基于STM32F103VB的应用编程技术的实现[J].计算机应用,2009(10):2820?2822.
[4] 张锡勇,王丛岭.基于单片机和CPLD的步进电机细分驱动系统[J].现代电子技术,2006,29(9):80?82.
[5] 陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008.
[6] 吕建波.基于单总线数字温度传感器DS18B20的测温系统设计[J].现代电子技术,2012,35(19):117?119.
[7] 陈龙.基于无线热释电红外传感器人体目标识别的研究[D].武汉:武汉理工大学,2013.
[8] 蔡春波.基于ARM的液晶显示模块测试系统硬件设计[D].成都:电子科技大学,2006.
[9] 赵家贵.电子电路设计[M].北京:中国计量出版社,2004.
[10] 鲁贤.电风扇运动仿真[J].CAD/CAM与制造业信息化,2012(7):65?67.
图2 DS18b20温度测量电路
2.4 红外感应电路
红外线感应模块采用了热释电人体红外线传感元件集成模块 HC?SR501。热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。该模块可以有效地探测电风扇影响范围内人体的活动,监控范围大,隐蔽性好,能可靠地将运动的人和飘落的物体进行区别,抗干扰能力强,误报率低;模块内部还集成了光敏电阻,夜晚也能可靠工作[7]。通过设置,若有人在其电风扇有效范围内活动,模块输出高电平,可做到人来电风扇开启,直到人离开后才延时将高电平变为低电平,即人离开监控范围电风扇延时关停;延时时间可调。
2.5 液晶显示电路
液晶显示模块采用带有R61505U控制芯片的3.2寸TFT液晶显示屏,320×240的液晶可以很好地显示风扇的各个功能状态[8]:工作状态(Manu、Auto、Sleep),睡眠模式下的定时时间(Work、Sleep),手动模式下风扇的档位(Speed),同时还显示年、月、日、星期、时间、温度等信息。
3 软件设计
控制系统软件使用C语言编程。模块化设计,除主程序外,还有各功能子程序,分别执行按键处理、直流电机驱动调速及步进电机的定位、温度、时间、功能等信息显示、睡眠模式设定等相应功能。系统软件主程序流程如图3所示,按键中断程序如图4所示。
图3 系统软件主程序流程图
按键中断模式有自动模式、手动模式、睡眠模式。
自动模式下把风扇正面180°空间分为三个红外感应区,当人进入任意一个红外感应区时,风扇开始工作。如果三个红外感应区只有一个区域检测到有人,风扇会判断现在处于单人模式,该模式下风扇会始终转到检测到人的区域,以实现实时追踪的目的。如果检测到不止一个红外感应区域有人时,风扇会判断现在处于多人模式。如果检测到两个区域有人,风扇就在两个区域间摆头,如果是相邻区域,则就在小角度摆头;如果是在不相邻的区域检测到有人,则在大角度摆头;当三个区域都感应到有人时同样会大角度摆头。风扇的智能启停、小角度摆头、单区域追踪都使得风扇既人性化又能够避免能源浪费。
手动模式下风扇实现的是手动调节风扇的转速,有增速和减速两个按键,可以实现风扇七个档级的调速。
睡眠模式下根据不同用户的需求如老年人、儿童身体较弱,不能长时间吹风,可以设定风扇工作时间短一些,休眠时间长一些,风扇会在设定好的时间内间歇性工作,避免了长时间吹风带来的不适。所以用户可以根据自己的需求自行设定风扇工作时间和睡眠时间,以达到最佳舒适度。
4 实物调试
以STM32为核心设计电路[9]并印制电路板,加工制作出电风扇[10],如图5所示。采用C语言模块化编写的程序下载到芯片中,接好电风扇后进行测试。测试如下:打开电风扇,当有人靠近电风扇时,风扇开始工作;当人远离电风扇时,风扇就停止工作。将电烙铁或冰块放在温度传感器DS18B20附近,电风扇能根据温度变化调整风扇转速。按下手动模式按键,选择手动模式下的调速按键,可以调整风扇转速。按下自动模式按键,风扇能够根据人的位置来实现风扇的追踪或者摇头。按下睡眠模式按键,设定风扇的工作和休眠时间,可以看到风扇以设定的工作和休眠时间为周期,循环工作。
图5 实物展示
通过测试表明,该电风扇能够智能启停,按照设定的各个模式正常工作,正常显示温度时间等信息且反应灵敏,简单实用,达到了预期的设计目的。
5 结 论
本项目采用STM32单片机,结合温度传感器、红外传感器等,通过对传统电风扇原有功能的改进,设计了此智能电风扇。
该智能电风扇有如下几个突出的特点:
(1) 性价比高。控制系统的核心是STM32芯片,该芯片具有低功耗、低成本、高性能、集成度高、体积小、可靠性强的优点,有很高的性价比。
(2) 智能。该风扇能够通过红外感应智能启停,避免了忘记关风扇而造成的能源浪费;并且可以根据人员的位置实时跟踪或者摇头,以最大程度满足使用者的要求,可以让使用者实时感受到吹风的感觉。
(3) 特有的睡眠模式。该风扇设计的睡眠模式大大改进了传统风扇定时的缺点。为了满足不同人群的需求,该风扇可以自行设定风扇的工作时间和休眠时间,使风扇在设定好的时间内循环工作,不用再担心因长时间吹风带来的不适问题。
参考文献
[1] 孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2013,31(12):59?63.
[2] 岳东海,颜鹏.直流电机PWM无级调速控制系统设计[J].价值工程,2010(2):135?136.
[3] 张舞杰,南亦民.基于STM32F103VB的应用编程技术的实现[J].计算机应用,2009(10):2820?2822.
[4] 张锡勇,王丛岭.基于单片机和CPLD的步进电机细分驱动系统[J].现代电子技术,2006,29(9):80?82.
[5] 陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008.
[6] 吕建波.基于单总线数字温度传感器DS18B20的测温系统设计[J].现代电子技术,2012,35(19):117?119.
[7] 陈龙.基于无线热释电红外传感器人体目标识别的研究[D].武汉:武汉理工大学,2013.
[8] 蔡春波.基于ARM的液晶显示模块测试系统硬件设计[D].成都:电子科技大学,2006.
[9] 赵家贵.电子电路设计[M].北京:中国计量出版社,2004.
[10] 鲁贤.电风扇运动仿真[J].CAD/CAM与制造业信息化,2012(7):65?67.
图2 DS18b20温度测量电路
2.4 红外感应电路
红外线感应模块采用了热释电人体红外线传感元件集成模块 HC?SR501。热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。该模块可以有效地探测电风扇影响范围内人体的活动,监控范围大,隐蔽性好,能可靠地将运动的人和飘落的物体进行区别,抗干扰能力强,误报率低;模块内部还集成了光敏电阻,夜晚也能可靠工作[7]。通过设置,若有人在其电风扇有效范围内活动,模块输出高电平,可做到人来电风扇开启,直到人离开后才延时将高电平变为低电平,即人离开监控范围电风扇延时关停;延时时间可调。
2.5 液晶显示电路
液晶显示模块采用带有R61505U控制芯片的3.2寸TFT液晶显示屏,320×240的液晶可以很好地显示风扇的各个功能状态[8]:工作状态(Manu、Auto、Sleep),睡眠模式下的定时时间(Work、Sleep),手动模式下风扇的档位(Speed),同时还显示年、月、日、星期、时间、温度等信息。
3 软件设计
控制系统软件使用C语言编程。模块化设计,除主程序外,还有各功能子程序,分别执行按键处理、直流电机驱动调速及步进电机的定位、温度、时间、功能等信息显示、睡眠模式设定等相应功能。系统软件主程序流程如图3所示,按键中断程序如图4所示。
图3 系统软件主程序流程图
按键中断模式有自动模式、手动模式、睡眠模式。
自动模式下把风扇正面180°空间分为三个红外感应区,当人进入任意一个红外感应区时,风扇开始工作。如果三个红外感应区只有一个区域检测到有人,风扇会判断现在处于单人模式,该模式下风扇会始终转到检测到人的区域,以实现实时追踪的目的。如果检测到不止一个红外感应区域有人时,风扇会判断现在处于多人模式。如果检测到两个区域有人,风扇就在两个区域间摆头,如果是相邻区域,则就在小角度摆头;如果是在不相邻的区域检测到有人,则在大角度摆头;当三个区域都感应到有人时同样会大角度摆头。风扇的智能启停、小角度摆头、单区域追踪都使得风扇既人性化又能够避免能源浪费。
手动模式下风扇实现的是手动调节风扇的转速,有增速和减速两个按键,可以实现风扇七个档级的调速。
睡眠模式下根据不同用户的需求如老年人、儿童身体较弱,不能长时间吹风,可以设定风扇工作时间短一些,休眠时间长一些,风扇会在设定好的时间内间歇性工作,避免了长时间吹风带来的不适。所以用户可以根据自己的需求自行设定风扇工作时间和睡眠时间,以达到最佳舒适度。
4 实物调试
以STM32为核心设计电路[9]并印制电路板,加工制作出电风扇[10],如图5所示。采用C语言模块化编写的程序下载到芯片中,接好电风扇后进行测试。测试如下:打开电风扇,当有人靠近电风扇时,风扇开始工作;当人远离电风扇时,风扇就停止工作。将电烙铁或冰块放在温度传感器DS18B20附近,电风扇能根据温度变化调整风扇转速。按下手动模式按键,选择手动模式下的调速按键,可以调整风扇转速。按下自动模式按键,风扇能够根据人的位置来实现风扇的追踪或者摇头。按下睡眠模式按键,设定风扇的工作和休眠时间,可以看到风扇以设定的工作和休眠时间为周期,循环工作。
图5 实物展示
通过测试表明,该电风扇能够智能启停,按照设定的各个模式正常工作,正常显示温度时间等信息且反应灵敏,简单实用,达到了预期的设计目的。
5 结 论
本项目采用STM32单片机,结合温度传感器、红外传感器等,通过对传统电风扇原有功能的改进,设计了此智能电风扇。
该智能电风扇有如下几个突出的特点:
(1) 性价比高。控制系统的核心是STM32芯片,该芯片具有低功耗、低成本、高性能、集成度高、体积小、可靠性强的优点,有很高的性价比。
(2) 智能。该风扇能够通过红外感应智能启停,避免了忘记关风扇而造成的能源浪费;并且可以根据人员的位置实时跟踪或者摇头,以最大程度满足使用者的要求,可以让使用者实时感受到吹风的感觉。
(3) 特有的睡眠模式。该风扇设计的睡眠模式大大改进了传统风扇定时的缺点。为了满足不同人群的需求,该风扇可以自行设定风扇的工作时间和休眠时间,使风扇在设定好的时间内循环工作,不用再担心因长时间吹风带来的不适问题。
参考文献
[1] 孙书鹰,陈志佳,寇超.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用,2013,31(12):59?63.
[2] 岳东海,颜鹏.直流电机PWM无级调速控制系统设计[J].价值工程,2010(2):135?136.
[3] 张舞杰,南亦民.基于STM32F103VB的应用编程技术的实现[J].计算机应用,2009(10):2820?2822.
[4] 张锡勇,王丛岭.基于单片机和CPLD的步进电机细分驱动系统[J].现代电子技术,2006,29(9):80?82.
[5] 陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008.
[6] 吕建波.基于单总线数字温度传感器DS18B20的测温系统设计[J].现代电子技术,2012,35(19):117?119.
[7] 陈龙.基于无线热释电红外传感器人体目标识别的研究[D].武汉:武汉理工大学,2013.
[8] 蔡春波.基于ARM的液晶显示模块测试系统硬件设计[D].成都:电子科技大学,2006.
[9] 赵家贵.电子电路设计[M].北京:中国计量出版社,2004.
[10] 鲁贤.电风扇运动仿真[J].CAD/CAM与制造业信息化,2012(7):65?67.