首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
数字风扇控制系统的设计
来源:本站整理  作者:佚名  2011-10-22 13:36:21



  本文主要描述如何利用 MSP430 系列微控制器实现数字风扇控制系统的设计。

  1. 概述

  风扇常用于驱散系统中产生的热量,典型地应用于电源系统或网络服务器中。一般简单的风扇冷却系统冷却风扇会一直在全速状态下连续运转,这样会消耗系统大量的能量并增加系统噪声。如果散热风扇的转速可以根据系统的工作温度进行实时调节)即会大大提高系统的效率,同时降低系统功耗。通过增加一个闭环控制系统,使散热风扇可以根据当前系统的温度实时调节风扇的转速,以维持系统工作温度,提高系统的可靠性。

  本文利用 MSP430微控制器测量系统温度,然后通过微控制器输出的 PWM波控制风扇的转速,实现一个数字风扇控制系统,可选用 3- 线或4- 线直流无刷电机驱动风扇。

  2.系统结构设计

  这部分主要描述如何建立硬件设计开发平台。主控MCU选用 MSP430F4l7微控制器,采用 SOFtbaugh ES417开发板及l2V直流无刷电机(3线或4 线接口)。硬件框图如下图 所示,

包括 SoftbaughES417 开发板、MSP430 USB 调试接口(MSP430-FET430UlF)、直流无刷电机风扇(3- 线或4- 线接口)和系统电源四部分。

  典型的标准3线或4线制直流无刷散热风扇接口与 MSP430F4l7微控制器及 Softbaugh ES417 开发板连接原理图分别如夏天所示。

  文中将风扇转速设计为 LO-L56 个等级,根据需要将温度的不同等级相应增加到软件设计中与风扇转速配合运行。其中,每一等级的转速均包含高、低两个温度的极限值,当读取某一特定等级的温度值时即可确定风扇的转速。

  当读取的系统温度值高于现有风扇转速对应的温度值时,徵控制器会增加风扇的转速;反之,当读取的温度值低于现有风扇转速对应的温度值时,微控制器会减小风扇的转速。系统的温度值由MSP430微控制器通过外接的热敏电阻获得,同时在软件设计中会保持和跟踪系统的温度及风扇转速。

  ES417开发板上的 LCD显示将不断更新测量的系统温度及风扇的转速,随着系统温度的升高或降低,系统会实时调整风扇的转速。系统的冷却等级即风扇转速也将同步在 LCD 上显示,LCD 显示部分如下图所示。

例如,F2显示在 LCD屏的右上角,表示当前系统的冷却级别为 2)文中的冷却级别分别为 F1 -F55个级别。每个级别均通过显示屏中 F<x> 段表示,x表示当前系统冷却级别,F<x> 字符下面的方块字符也相应代表系统的冷却等级即风扇转速等级,UP/DOWN键可用于指示风扇在改变转速时的状态。

  2.1 MCU外部温度传感器的设计

  MSP430微控制器在系统运行时可以通过不同的方法获得系统的温度。大多数MSP430微控制器内部均含有温度传感器,设计者可以利用 MSP430微控制器自身的温度值作为改变风扇转速的标准,但此时测量的是芯片的温度;如果需要测量的温度值在芯片远端或者在微控制器的测试范围以外时,可以通过在系统需要检测的点上放置一个热敏电阻,同时通过2线制与总体电路设计相连。

  MSP430F4l7微控制器的Com-parator_A输入端应连接一个10kΩ的负温度系数热敏电阻(NTC),同时NTC电阻应能满足在-55℃~+99℃范围内的温度测量,分辨率为1℃,即可达到系统的设计要求。该NTC电阻根据系统的温度的变化阻值相应发生变化,从而改变由ADC输入通道监控的DC电压的变化,然后MSP430F4l7微控制器根据测量的电压值确定相应的温度值,并相应的调整系统风扇的转速。

  系统测量的温度为模拟量,微控制器分析时须转换成数字量。为降低成本、复杂度及PCB板面积大小,本文采用MSP430系列徵控制器的SlopeA/D技术实现AD转换,降低了采用分离ADC模块的系统成本。(此部分SlopeA/D实现方法可参考2007-2期中的详细叙述)2,2系统监控及风扇控制MSP430微控制器在控制风扇运转的同时还须监控系统温度参数,通过PWM信号控制风扇的转速。为产生不同的PWM信号,在设计前需确定不同冷却级别的转速(RPMs)所对应的PWM信号的频率或占空比。

  所有的MSP430微控制器至少含有一个硬件定时器模块,这个定时器模块具有至少2、3个独立的定时器,即所有MSP430微控制器至少能产生1、2个频率相同、占空比不同的PWM信号。通过更新定时器中的CCR寄存器值可增加和减少产生PWM信号的占空比,这样印能有效地改变风扇的转速,并不会产生任何PWM噪声。

  一般风扇均含有自身转动频率的信号输出端,该频率信号可作为微控制器的反馈信号。例如,风扇每个转动周期能产生2个脉冲信号,MSP430微控制器则可以捕获监控该脉冲信号并计算脉冲个数,同时通过该值得到风扇的转速,最后将转速值反馈到主控制器中,判断该转速是否达到当前温度条件下的风扇转速。

  2.3LCD显示ES417开发板的LCD屏上采用高4位数值显示,指示当前的转速值,其它3位指示外部热敏电阻通过SlopeA/D转换方法读取的温度值。

  当风扇转速发生变化时,MSP430微控制器会捕获到当前的转速值。例如,风扇在每个运转周期可以产生2个上升沿和下降洽,由于风扇有相应的频率输出端,MSP430微控制器通过捕获该端口的脉冲信号,可以软件编程计算每分钟上升沿和下降洽的个数,然后通过简单计算即可得到RPM转速值再通过LCD显示。

  3.软件设计软件设计由系统监控和控制、转速测量和LCD驱动、PWM驱动程序和温度传感器驱动程序四部分构成,源程序由C语言和汇编语言相结合完成。软件设计流程图如下图所示。

  本文MSP430微控制器软件设计允许用户通过MSP430开发板,如Soft-baughES417,与散热风扇简单的相连即可实现系统风扇的控制。大多数风扇都内置一个能产生频率信号的发生器,MSP430控制器可以检测这个频率信号,同时能产生PWM信号控制风扇的转速。

  在软件设计中,看门狗定时器WDT用于周期性检测系统温度,并根据温度值设置风扇的转速。在WDTISR中断服务子程序中可改变风扇转速等级,看门狗每秒钟中断一次。

  3.1风扇参数大多数风扇(电机)都含有一个由电源、地、PWM和FG信号的4线制接口,通常在风扇的数据手册中会提供PWM频率和占空比参数,或者一些运算参数,这些参数即可确定风扇的转速。

  例如,风扇控制器以每100RPM转速为增量,使转速从1000RPM~4000RPM之间变化时,需要使用31个数据矩阵。比较寄存器的第一个值即能使风扇转速达到1000RMP,矩阵的第二个值则与1100RPM相关,后续风扇转速与矩阵值依此类推。比较寄存器的值为预先计算,并存储在MSP430微控制器的信息FLASH区中,以至于该值在系统运行时无需不停计算。MSP430微控制器通过读取寄存器的矩阵值,不断更新比较寄存器的值,即可在任一时间改变风扇的转速。

  软件设计源代码提供了包含查表的例程,表中的数据为风扇转速占空比不同增量时比较寄存器的数据值,数据矩阵的大小和每一个位置值都可以根据需要进行修改。

  MSP430微控制器内部FLL模块可以运行在1MHz以上,FLL的晶振输出可作为驱动PWM信号的时钟源。例如,大多数散热风扇的PWM频率为20kHz,软件运行时,1MHz的FLL时钟源即可产生作为风扇PWM信号的20kHz驱动频率。

  MSP430微控制器的SMCLK时钟可作为Timer-A定时器的时钟源,在相应的定时器引脚输出PWM方波。CCRO寄存器值设置PWM频率间隔,CCR1寄存器值可以作为PWM信号的占空比。

  PWM信号通过控器三极管通断来控制风扇电机的直流电源,随着PWM占空比的变化,驱动电机的平均电源电压也相应发生改变。平均电源电压的改变直接会影响风扇电机的转速。

  3.2温度参数大多数风扇控制系统都会定义一个预设温度范围,该温度范围与风扇运转的某一特定速度均可相对应。本文的源代码提供了四种温度范围或调节等级,当温度达到某一特定范围时,微控制器可以调节或维持风扇的运行速度以保证系统的正常运转。

  风扇转速的每一级都有一滞后间隔,因为每一级转速过渡时均与温度密切相关。例如,可以定义每一个过渡转速都可以增加1℃的滞后间隔,则意味着在任何转速的过度点温度每降低1℃风扇的速度都不会立刻改变,直到读取的温度值超过了滞后间隔值,这样即可防止有时系统温度在临界点变化时引起转速在两个速度等极间高速来回调整。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:76,882.81000 毫秒