当前位置:首页 期刊杂志

基于FPGA 的防脉冲干扰温控调速直流风扇研究

时间:2024-05-22

潘银松,覃海洋

(重庆大学,重庆400044)

0 引 言

市场上的风扇,档位固定,无法根据周围环境温度的变化自动调节风速,不仅浪费能源,而且不利于身体健康。同时,传统电扇往往采用交流电机,不便于调速,且功耗较高。本设计可通过温度传感器DS18B20 实时监测周围温度的变化,自动调整风速,给人更加舒适、健康的体验,尤其适用于夜间睡眠,即能保证一个凉爽的睡眠,又可以避免因为温度骤降风速却没有得到相应调节而导致感冒的问题。风扇采用直流电机,其功耗相对更低,更加经济环保。

1 系统整体框图

图1 系统整体框图

图1 是系统的整体框图。温度传感器用于检测环境温度;功能按键用于读取用户所选择的工作模式;蜂鸣器用于提示按键成功;数码管负责显示当前温度和用户所选择的工作模式;电机驱动用于驱动24 V 直流电机;直流电源电路用于给FPGA 和电机驱动提供电源。

2 直流电源电路

图2 为直流电源设计电路。其原理是将220 V交流电通过两路整流桥进行整流,并利用LM2576T-ADJ 芯片分别输出3.3 V 和24 V 直流电压,分别为FPGA 和直流电机提供驱动电源。其中,电阻值的选取是根据所需要的电压值而定,电容C1,C2 分别为100 μF 和330 μF 电容用以滤除直流电源中的纹波成分,电感用于储能并与二极管一起构成续流回路,目的是将芯片输出的脉冲电流转换成连续的电流,从而给负载提供稳定的电压输出。

图2 直流电源电路

3 防脉冲干扰滑动平均滤波,温度自适应100级转速调节算法

本设计的转速调节算法基于DS18B20 温度传感器,其具有体积小、硬件开销低、抗干扰能力强、精度高、转换速度快等特点。它独特的单线接口设计仅需一个端口引脚进行通讯;可通过数据线直接供电,供电电压范围为3.0 ~5.5 V;测温范围为-55℃~+125 ℃,在-10 ℃~+85 ℃范围内精确度最高可为±0.062 5 ℃,可利用精度±0.1 ℃;最多在750 ms 内将温度信号A/D 转换为16 位数字信号。

为了提高控制精确度,减小误差,在温度调节转速前,对采集到的温度信号进行数字滤波。本设计中采用了防脉冲干扰平均值滤波算法,选取的温度点数为5,这样既可以保证滤波的精准度,又可以保证较快的数据处理速度。防脉冲干扰平均值滤波法的算法具体原理如下:对5 个温度数据进行排序,去掉其中最大值和最小值,将剩下3 个温度数据进行滑动平均,其运算结果作为当前时刻真实温度。若5 个温度数据分别为T1,T2,T3,T4,T5,其中T1,T2为前两个时刻的真实温度值,T3,T4,T5为当前时刻采集的三个温度值,其中最大的温度值若为TMAX,最小的温度值为TMIN,那么当前滤波后的温度T 应为:

下一次滤波计算时,用此时滤波后的温度T 去代替公式中的温度数据T2,用前一时刻的温度数据T2去代替公式中的温度数据T1,以此类推。T1,T2的初始温度值都为0。由此可见,这种算法可以很好地消除由于脉冲干扰所引起的采样值偏差。

设计中将温度的控制范围设定在22. 0 ℃~32.0 ℃,小于22.0 ℃时风扇进入休眠状态,大于32.0 ℃时风扇满速运行,可调转速温度差为10.0个单位,为了进一步细化温度变化与风扇转速的关系,在算法中对温度差乘以10,即温度差变为100个单位,这样可以将转速与温度变化进行一个线性拟合,若当前每分钟转速为v,PWM 计数器位数为8,风扇满转速为V,当前温度为T,那么其对应关系:

如果采用精度达到±0.01℃的温度传感器,那么在此线性算法下可达到1 000 级调速的要求。

4 系统工作流程

本系统工作流程如图3 所示。打开电源系统开始工作后,首先检测当前环境温度并显示,并进入待机状态。若按键被按下,显示所选择的档位,档位一显示数字1,档位二显示数字2,档位三显示档位3,自动模式显示为英文字母A。手动模式根据所选择的档位,控制风扇的转速;自动模式根据当前环境温度,通过内部处理算法,实现转速的实时控制。若检测到的环境温度低于22.0℃,风扇自动进入休眠状态;当大于22℃时,风扇被唤醒;若温度大于32.0℃,风扇全速运行。最后,返回到循环的起点,不停扫描系统当前状态,做出相应的响应,按下停止键,风扇进入待机状态。转速控制采用PWM 脉冲调宽的方法,将对应的脉冲信号送给L298N 驱动芯片,以驱动直流电机工作。

图3 系统工作流程图

5 FPGA 时序仿真

在modesim 中对系统进行时序仿真,设定仿真温度分别16.5℃,18.5℃,21.5℃,并设定为自动模式。

如图4 所示,sys_clk 和sys_rstn 分别为系统时钟和系统复位信号;indwd 表示所选择的档位,其值为a 即表示自动模式按键被按下;temperature 表示当前温度变化;out_bit 与out_seg 分别表示数码管的位选和段选,当温度16.5℃时,其位选值为fe,fd,fb,bf,同时段选为f9,88,92,02,因为数码管采用的是共阳动态扫描显示,即显示结果为a 16.5;out_contr 控制电机转向,其值为1,即电机一直顺时针转动;led 控制LED 灯,且其为共阳电路,按下一档亮一颗,二档亮两颗,三档亮三颗,自动挡亮四颗,此时led 值为0,即表示自动挡被选中;Enable 即为输出的PWM 信号,可见其随着温度的不同,其输出波形的占空比明显不同,并用它控制电机的转速。此仿真的时钟频率为50 MHz,系统稳定性很好,满足设计要求。

图4 modesim 仿真时序图

6 结 语

在传统风扇设计的基础上,本设计通过采用FPGA 对温度信号进行处理,实现了环境温度对转速的精准控制,转速调节平滑,让人感到更加舒适。采用直流电机,降低了功耗,更加经济环保。 本设计不仅仅局限于在风扇上的应用,通过相应的修改,其可以移植到其它需要温度控制的应用中,且其可扩展性能强,未来可以在此基础上添加其它功能模块。

[1] 王金明.数字系统设计与Verilog HDL[M].4 版.北京:电子工业出版社,2011:121-214.

[2] 张文兵. 智能温控无级调速电风扇[J]. 微特电机,2007,35(12):023.

[3] 杜鹏英,任国海,江浩. 无刷直流电动机PWM 调速实验系统[J].微特电机,2007,35(6):48-50.

[4] 明德刚.DS18B20 在单片机温控系统的应用[J]. 贵州大学学报,2006,23(1):106-110.

[5] 黄继昌.电源专用集成电路及其应用[M]. 北京:人民邮电出版社,2006:55-79.

[6] 童诗白,华成英等.模拟电子技术基础[M].4 版.北京:高等教育出版社,2006:513-562.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!