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

2020-09-19 11:13刘淑影李佩君刘天琪
绥化学院学报 2020年9期
关键词:三极管蜂鸣器风扇

刘淑影 晁 妍 李佩君 刘天琪

(阜阳师范大学计算机与信息工程学院 安徽阜阳 236037)

随着计算机技术和控制技术的发展,在炎热的夏季,各种各样的降温设备进入我们的生活。其中风扇以其价格低、方便携带、安装简单和耗电量低的优点,成为大家首选的祛暑工具。但目前电风扇大部分都是手动操作,对于温度较为稳定的时候,传统电风扇的缺点还不是很明显[1]。但是,当进入温度变化较为迅速的深夜,缺点就更加突出,具体如下:(1)只能采用手动操作来改变档位,无法根据温度的高低自动改变风速;(1)目前大多数风扇只有选档、定时和摇头这三种功能;(3)安全问题,高档风速与低挡风速之间变化较大,在进行档位切换的时候可能会产生火花;(4)只能显示档位,无法显示环境温度。(5)无人体检测功能。如果人离开时忘记关风扇,传统电风扇无法检测人的离去而继续运转,导致浪费电。因此为了解决以上问题,设计了一种易操作、扩展性强的自动温度控制风扇。以单片机为基础,结合计算机应用技术、控制技术、传感器技术和PWM技术,设计风扇的控制系统,满足人们对风扇智能、方便和节能、环保的要求[2]。

一、系统设计

基于单片机的智能风扇系统分为软件和硬件两大部分,为了实现温度值采集、转速计算、风速自动调节、红外检测、蜂鸣器报警等一系列新型功能,硬件部分则需由C51单片机、电机驱动、按键控制、S300A-P热释电红外传感器、温度传感器、蜂鸣器报警、风速自动调控和电源等模块组成。其系统总体控制框图的设计如图1所示。本文采用51单片机作为系统的主要控制器件、ds18b20进行当前环境温度采集、LCD1286来显示温度、S300A-P采集人体信息,通过Keil集成开发环境进行编程,完成温度采集、调控,以及通过LED和蜂鸣器来显示当前温度和报警等功能。系统总体思路为:通过传感器S300A-P来检测风扇前面是否人,如果检测不到,则系统关闭;如果检测到,进行以下工作。通过ds18b20传感器检测当前环境的温度,将检测值传送给51单片机,经过主控器的分析、处理,再通过脉冲宽度调制技术控制电机转动的快慢,进而达到控制电风扇速度的目的。在进行系统设计时,为智能风扇的工作设置合适的温度上限值和下限值,当ds18b20采集到的温度位于设定的最大值和最小值之间时,系统则根据当前检测的实时温度值自动切换到强、中、弱风等对应的档位,并将PWM值和风速值显示在LCD12864显示屏上;若采集的温度值高于之前设置的上限值MAX时,启动蜂鸣器,报警灯不断闪烁,电机转动加快,驱动电风扇加快转动切换到强风档位,同时显示对应的PWM值和风速值;若温度值小于设置的最小值MIN时,电机转动停止,风扇进入睡眠模式。

图1 总体框架图

二、硬件主要模块设计

(一)温度采集模块设计。DS18B20作为一款数字温度传感器,是以数字信号形式进行输出,具有检测精度高,抗干扰强,成本低,体积小的优点,因此本系统选取DS18B20来采集实时温度值。其电路图的设计如图2所示。由图2可以看出,DS18B20温度传感器的输入和输出I/O端口连接单片机各端口中的P2.4端口,DS18B20采集到的当前温度值可以通过51单片机的P2.5端口读入并通过LCD显示屏进行显示,然后通过主控器计算与该温度对应的档位,进行自动换挡,调控风速。图中R3是温度传感器I/O的上拉电阻,其作用是当从单片机读取数据结束时,上拉电阻将I/O重新拉回到高电平状态[3]。

图2 温度传感器工作原理

(二)直流电机驱动模块。针对智能电风扇的不同档位风速的实现,需要改变风扇送风的强弱,即必须改变带动风扇转动的电机的电压和电流,如图3所示。

图3 电机驱动

系统中电机采用的是H桥驱动电路控制直流电机的转动。如图3所示,当三极管Q1和三极管Q4管导通时,电流从电源的正极经三极管Q1由上至下、由左至右经过电机到达三极管Q4,最终达到电源的负极。如图所示的箭头指向,表示该方向流动的电流将驱动直流电机使其按照顺时针的方向转动。若三极管Q2和三极管Q3导通,电流的流向正好和上图所示的方向相反从右边向左边经过电机,该方向的电流将驱动直流电机转动,并且是按逆时针的方向转动。

(三)S300A-P人体检测模块。S300A-P作为一款常用的热释电红外传感器,具有低成本、低功耗和精准的灵敏度等特点。S300A-P通过IR感应周围红外线并将其转换为电荷信号,以此来采集人体数据。若能够检测到人体信号时,则S端输出高电平,将将检测的红外辐射转换为与之对应的电压信号输出,然后对输出的电压进行增强,便可驱动风扇的转动[4];如果检测不到人体信号,则S端输出低电平,系统处于睡眠状态,电扇停止转动。

图4 热释电红外传感器模块

图5 蜂鸣器报警原理图

(四)蜂鸣器报警模块。设计蜂鸣器报警的电路图如图5所示。其中采用的是1kΩ 的电阻和S8550三极管,S8550是一款PNP型硅三极管,其具有电压低、电流大和信号小的特点。S8550三级管的基极通过R5与单片机的输入和输出口连接。当单片机的I/O端口输出的是低电平时,则三级管Q5导通,蜂鸣器启动工作开始鸣叫;当单片机的I/O端口输出的是高电平时,三级管截止,蜂鸣器鸣叫结束[5-6]。

三、软件模块设计

基于单片机的智能风扇系统主要完成电源复位、按键控制、温度采集、计算机风速、控制风扇转速等功能。与相应的硬件部分的功能设计,其系统工作的主要程序设计如图6所示。该系统供电后,首先通过对独立按键的判断,风扇工作模式是手动方式还是自动方式。如果是自动方式,则启动热释电红外传感器检测风扇周围是否有人,若获取不到信号风扇则自动关闭,有人则进行温度传感器ds18b20进行初始化,采集当前温度值。然后将检测到的数值与系统设定的温度最大值max和温度最小值min进行比较,若高于max值,电扇将调换到强风档;若低于min值,电扇系统关闭,不再工作;若介于两者之间,风扇自动选择合适的风速进行工作。

图6 系统流程图

四、结语

通过以上给出的基于单片机的智能风扇系统的硬件和软件部分的设计,最终完成对智能风扇的系统设计,如下图7所示。通过实验证明,该风扇既可以通过手动模式操作,也可以选择自动模式。当在自动工作模式下,通过S300A-P模块可以实现无人,风扇停止工作,有人,系统可以准确地根据当前温度变化,实现风扇启动工作、停止工作和自动调节风速。本系统设计三个档,分别为弱风、中风和强风,其下限值min设置为25℃,上限值max设置为33℃。如果用户环境温度低于25℃,系统自动关闭,防止夜间温度过低继续吹风扇,导致人们感冒。若大于25℃而小于33℃时,系统选择中风档吹风;若大于33℃,系统选择强风档吹强风。在实现普通风扇功能的同时,该风扇还可以进行智能根据温控自动调节速的,以及检测是否人已离去忘记关风扇,达到即方便又省电的目的。

图7 智能风扇模型机

猜你喜欢
三极管蜂鸣器风扇
电动自行车产品车速提示音检测现状和整改技术研究(2)
AirFan手持小风扇
掌控板制作简易钢琴
基于晶体三极管的放大电路分析
单片机驱动蜂鸣器的程序设计
电风扇
三极管放大电路的研究
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
新蒙迪欧车冷却风扇常高速运转
奇瑞A5车散热风扇无低速挡