智能电风扇控制系统设计

2022-03-24 10:05姜楚华楼应侯方庆朕朱永国王诗婷
机械工程师 2022年3期
关键词:电风扇蜂鸣器寄存器

姜楚华, 楼应侯, 方庆朕, 朱永国, 王诗婷

(1.宁波大学科学技术学院,浙江 宁波 315300;2.宁波先锋电器制造有限公司,浙江 宁波 315300)

0 引言

随着智能家电的日益普及,各种多样化的智能电风扇也层出不穷。李盛林[1]设计了一种可远程控制、智能调速的电风扇控制系统,以直流供电,以单片机AT89C52为控制器,可根据用户设置的系统温度和检测到的环境温度的差值自动调节风扇的转速,该系统还能通过手机等智能移动设备终端的蓝牙通信实现温度、定时等系统参数的设置。王鹏亮等[2]以Arduino开发板为核心,设计研发了一款智能化电风扇,实现智能开机、待机、摆头等功能,增强了电风扇的人机交互功能。陈炳飞[3]以单片机为风扇控制器的主控芯片,设计温度采集模块和显示模块来对周围环境实时采集并显示;设计串口通信模块来实现手机与单片机的通信;设计转速控制模块来实现对风扇的智能化控制;用户可通过手机APP对风扇实现转速控制、定时关闭和温度控制等功能。经过测试,该系统性能稳定,实现了对风扇的无线智能化控制。

国内的一些风扇控制系统大部分是用于实验室验证,且部分市场上的风扇功能还不够完善[4-8]。根据这一技术现状,本文对一种具有双层扇叶的风扇进行了控制系统设计,完善了系统功能并优化了程序方案。

1 系统总体方案设计

智能电风扇以赛元SC92F7422 SOP-20单片机为核心,集成温湿度传感、人体感应、蜂鸣器警报、挡位控制、摇头输出、红外信号输入检测为一体的控制系统。智能电风扇设计的系统框图如图1所示。

图1 系统设计框图

首次上电,蜂鸣器“嘀”长鸣叫一声(300 ms),进入待机。待机状态下,点击电源键则进入开机状态;开机状态时点击则关机,并记忆参数。点击调节“-”键,每按1次减少1挡,设定值会在相应模式所有挡位间循环。长按超过1 s则以每秒3挡的速率进行调节。挡位调节范围为1~28。点击调节“+”键,每按1次增加1挡,设定值会在相应模式所有挡位间循环。长按超过1 s则以每秒3挡的速率进行调节,挡位调节范围为1~28。调节风类模式(风类在普通风、自然风、智能风、ECO之间循环)。

2 控制系统硬件设计

2.1 电源板电路设计

智能电风扇主要包含温湿度的数据采集、人体感知输入、红外接收的输入、独立按键的输入、风扇驱动接口的输出、数码管显示及单片机主控制等电路模块,总设计电路如图2所示。

图2 总设计电路如图

2.2 控制电路原理设计

控制电路以赛元SC92F7422 SOP-20单片机为核心,分别外接温湿度传感器、蜂鸣器、数码管显示电路、按键电路等。电路图如图3所示,定义引脚如表1所示。

表1 单片机引脚定义

图3 控制电路图

2.3 湿敏电路设计

通过IO1与IO2产生1 kHz左右的模拟交流脉冲。下面为对应端口的具体波形。图5中t1~t2时间段(设此时Rs+RH/R1<39 kΩ),IO1为高电平,IO2为低电平,从t1经过Tsmp后对AD1端口的电压进行采样,在整个周期时间内(t1~t3)只对湿敏电阻采样一次。

图5 AD1端口的具体波形

Rs为串联电阻,电阻值为1 kΩ(高湿段平缓),R1为并联电阻,电阻值为1 MΩ(使低湿段变化平缓),R2为采样分压电阻,电阻值为39 kΩ,R4、C1组成滤波电路,采样平缓,电阻值为22 Ω,电容为22 pF。

图4 湿敏电阻使用电路

湿敏电阻相对不同环境湿度(20% ~95% RH)的阻抗跨度很大(1 kΩ~1 MΩ),而不同型号的单片机IO口内阻存在差异,进而导致测量偏差;为了测量值更加接近于真实交流阻抗,将IO1与IO2设为强推挽输出模式,以减小IO端口的输出内阻。

表2 采样时序

3 控制系统软件设计

3.1 系统流程设计

智能电风扇控制系统的软件设计主要包括温湿度的模拟量数据采集、硬件驱动、数码管显示等部分。软件程序采用主程序调用子程序的方法,先进行子程序的修改测试,再进行综合联调。控制程序的流程如图7所示,先对看门狗及系统进行初始化设置,再读取ADC的值及温度值,然后再扫描各输入模块,并作出数据显示及风扇模式的输出。

图6 IO1 端口、IO2 端口的具体波形

图7 系统流程图

主函数main.c主要包括系统初始化函数调用和各模块函数的调用,主程序4 ms调用一次全部的功能函数,这样可以保证所有功能及时、有效地完成。主函数main函数采用时间片轮转的调度策略,即主程序轮流调度各功能程序,并判断其标志位,当满足要求时执行该功能程序,这样大大提高了程序的实时性。

3.2 温湿度测量

主要包括特殊功能寄存器初始化、I/O端口初始化、系统寄存器初始化、定时器初始化设置、PWM寄存器初始化、UART寄存器初始化、AD寄存器初始化、系统寄存器参数初始化等操作。由Init_Sys和INIT_Gpio、INIT_Tim、INIT_Adc、PWMinit、Uart_Init、INIT_Set等7个程序组成。

表4 源程序各子集说明表

表5 系统初始化函数

表7 显示数据处理

3.3 显示驱动及显示数据

DISP_Img[DISP_CNT]为显示状态数据缓存寄存器。显示数据处理程序DSIP_Func将要显示的信息通过运算存入显示寄存器DISP_Img[DISP_CNT]中,将当前需要显示的数据存入此数组寄存器中,发送I2C命令将要显示的内容发送给显示驱动IC,再由数码管和LED发光二极管显示出来。这样大大节省了硬件成本,简化了电路。

3.4 蜂鸣器驱动时间控制

BUZ_Tone 蜂鸣器驱动时间控制程序,每4 ms进入一次。程序首先判断有无蜂鸣器开启标志寄存器BUZ_Cnt,若有,同时BUZ_ToneCnt增加一次,以控制蜂鸣器的开启时间。当Buzzer_buf中的值不小于所设置的时间时,关闭关闭蜂鸣器标志位b_out_buz,停止鸣叫;当BUZ_Cnt位为0,没有蜂鸣器启动时,蜂鸣器IO口关闭。

3.5 人体感应检测

当热释电人体感应模块感应到人体后,模块输出高电平,经过三极管反向后,变为低电平,控制芯片通过识别该电平状态以判断是否有人。

4 系统调试

软件在电脑上完成仿真后,将代码烧录在MCU中。硬件在通过8 kV静电干扰、1 kV雷击浪涌和4 kV EFT测试后,没有死机、跑飞,输入、输出无误动作。

5 结语

本文利用赛元SC92F7422单片机为控制核心,利用温湿度传感器采集环境的温度和湿度,利人体感应传感器检测人体,数码管显示智能电风扇的运行参数,按键和红外遥控器可以调整电风扇的功能,加强了人机交互。风扇可根据用户模式及当前温湿度情况做出智能判断。本文对智能电风扇进行了硬件电路设计和软件程序设计,通过运行测试,系统稳定可靠,满足要求。

图8 显示运行流程图

猜你喜欢
电风扇蜂鸣器寄存器
电动自行车产品车速提示音检测现状和整改技术研究(2)
不要用笔去玩电风扇
掌控板制作简易钢琴
Lite寄存器模型的设计与实现
本尼丢了蜂鸣器
二进制翻译中动静结合的寄存器分配优化方法
移位寄存器及算术运算应用
飞转的电风扇
电风扇
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响