智能远程风扇控制系统
2021-06-30西北民族大学
西北民族大学 邵 博
针对风扇在运行的过程中,无法进行智能调速,本文设计了一个自动调速系统。由DS18b20进行温度采集,在系统内设置了温度阈值,由于温度的不同,单片机会根据函数关系输出不同占空比的PWM波,其中温度数据每两分钟更新一次,从而智能地实现了风扇的转速控制。同时,为了方便部分人群的使用,本项目仍保留了传统的按键控制档位的功能,并还在其基础上增加了蓝牙模块,更加方便用户远程控制风扇转速。其中转速,温度以及风扇状态由LCD1602进行显示。
目前市场上传统的电风扇大都是通过按键来调节档位的,极个别厂家推出的新型电风扇也可以通过红外遥控的方式来改变档位。这两种方式都隐含的一点是转速的调节必须要通过人的参与。在某些场合下,如睡眠时,人无法参与到档位的调节,风扇就会一直以恒定的转速转动。这不仅浪费电能,同时也给部分人带来诸多不便。本设计中的智能远程风扇控制系统,通过DS18B20采集温度,根据温度数据定时调整风扇的转速,在无需人的参与下实现风速的自动调节。同时其扩展的蓝牙通信功能也比红外遥控的实用性更强。
1 系统硬件设计
1.1 系统总体方案设计
本系统以STC89C52作为主控单元。模拟温度量由DS18B20进行采集并转换成数字量,之后单片机中再对DS18B20中的温度数据进行读取,通过温度值来产生相应占空比的PWM波对电机进行调速。之后温度数据与电机转速数据再送到LCD1602A中显示。并且,本设计还可支持另外两种方式对风扇转速进行调节。故本设计共存在三种模式,即自动模式、手动按键模式、远程操控模式。具体的系统硬件框图如图1所示。
图1 系统硬件框图
1.2 微处理器的选择
本设计所选取的单片机是STC公司的STC89C52,它是一款8位的低功耗、高性能的单片机,内部集成8KB的FLASH,1KB的RAM,以及高性能CMOS8的微处理器。并且价格经济实惠,抗干扰能力强,其运算能力基本满足本设计的需要。
1.3 温度传感器的选择
智能风扇控制系统选用的是DS18B20温度传感器,该传感器由美国的DALLAS半导体公司所推出,与传统的热敏电阻等测温元件相比,它内部已经集成有模数转换模块,因此可直接采集到被测温度的数字信号,方便单片机进行数据处理。并且还可根据实际要求通过简单的编程实现9-12位的不同精度的读取方式。
1.4 通信模块的选择
本系统所采用的通信模块是ALIENTEK公司生产的ATK-HC05蓝牙模块,此模块性能高且具有主从一体的通讯方式,可以与各种带蓝牙功能的智能终端进行配对。并且该模块具有宽波特率范围:4800-1382400,还能兼容5V的单片机最小系统。再者,ATKHC05模块非常小巧(16mm×32mm),模块通过6个2.54mm间距的排针与外部连接,可以很方便与本设计进行连接,使用非常灵活、方便。
1.5 显示模块的选择
智能风扇控制系统选用的是LCD1602A液晶显示器,此液晶显示器功耗低、可显示两行的内容,支持ASCII码的显示。适用于智能风扇控制系统这种小型设计。
1.6 驱动模块的选择
L298N目前是比较主流的电机驱动模块,它可实现电动机正反转及调速;启动性能好,启动转矩大;工作电压可达到36V,内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载。
1.7 电机的选择
本系统选用的是微型130电机电动马达,具有体积小,噪音低,高效率,大扭力,使用寿命长,稳定可靠,直流供电,节省电能且产生热量低等性能特点。
2 系统软件设计
2.1 主程序的设计
系统的主程序首先需要进行一些初始化的操作,例如:对LCD1602的初始化,对DS18B20的初始化,电机的初始化等。之后则是循环查询DS18B20的状态,以读取当前的温度值,并对温度进行处理,温度值的BCD码处理后,将其段码送显示缓冲区,以备定时扫描服务程序处理。并将获得的当前温度值与设定温度值进行实时比较,进而来对风扇转速实时调节,达到最优降温效果。
该程序可以实现自主循环,因不同的控制模式,可产生相应的调速效果,以达到最优降温效果。具体流程图如图2所示。
图2 主程序流程图
2.2 温度检测程序的设计
温度检测程序主要是读出存储在DS18B20里的RAM中的数据,单片机直接读取其中的字节地址,并且在读出时进行CRC校验,校验正确时才能对温度数据进行读取和改写。具体过程如下:首先对DS18B20进行参数设定和初始化,以驱动DS18B20进行温度转化,读取温度。读取的温度经CRC校验后若无异常,则返回读取温度,对比检验后对系统的相关参数进行设定;若出现异常情况则调用相应的控制程序进行对应处理。程序流程图3所示。
图3 温度检测程序
3 系统调试
3.1 智能温度控制模式的调试
智能温度控制模式下,单片机定时采集温度,从而自动的对风速进行调节,达到不同的降温效果。其上的液晶显示模块显示当前的实时温度、当前风扇开闭情况、当前风扇档位。整个系统接通电源进行初始化之后,显示屏幕的第一行显示NTT(当前温度);第二行显示风扇开闭情况(ON:风扇开启;OFF:风扇关闭),以及当前风扇档位。调试图如图4所示。由此可见,智能温度控制模式能正常工作。
图4 智能温度控制调试图
3.2 远程温度控制模式的调试
利用STC89C52单片机的串口通讯原理,书写蓝牙串口通讯程序。测试时,从手机APP蓝牙串口向STC89C52单片机发送指令,单片机接收到指令后,在其定义引脚上发出相应的电平信号,从而控制L298N驱动模块,对直流电机进行调速控制。具体工作的效果如图5所示。
图5 远程温度控制调试图
结论:本次系统通过模块化的设计方式成功的实现了系统的所有功能。将单片机用于风扇系统的控制当中,极大的提升了系统的智能性,使得无需在人的干预下,仍能使风扇转速自动改变。本系统的远程调速则是用到了蓝牙通信的方式,在某些条件下,给了用户更好的操作体验。本设计为智能风扇的发展提供了一定的思路与理念,期待后人的继续完善。