历史上的今天
今天是:2024年11月11日(星期一)
2020年11月11日 | 用MSP430控制的可调速风扇散热系统方案
2020-11-11 来源:elecfans
工业以太网交换机和服务器在功率较大时会产生较多热量,通常需要进行散热来保证系统正常工作,一般会采用安装散热风扇的方案。对于带温度测量反馈的可调速风扇散热系统,根据对象温度灵活调节风扇转速,同时用MSP430微控制器作为控制平台,与主机通过I2C接口通信,加入故障检测和报警功能,具有可靠性高、控制灵活、节省系统能耗的优势。
系统架构
采用MSP430主控MCU和DRV8871电机驱动芯片结合的系统结构,如图1所示。系统利用MSP430的片上ADC采集NTC热敏电阻两端的电压,实现低成本的温度测量功能。另外,主控MCU在输出可调占空比的PWM波形的同时,预留了I2C通信接口,主机CPU可以给MSP430下达控制命令和读取温度、转速、故障状态等信息。通过在散热系统中加入温度测量反馈,可根据待散热对象的温度情况,实时控制风扇的转速,取代单一固定转速的风扇散热系统,达到一定的节能效果。同时,可以在风扇发生故障失效或者温度过高时,做出状态预警和保护处理。其中,DRV8871电机驱动芯片,最大支持3.6A峰值电流,6.5V到45V的宽供电范围,集成过流保护、过温保护和休眠模式等功能。

图1 系统框图
此散热系统方案具有以下特点和优势:
以温度作为反馈的可调速风扇散热系统
2C接口用于主机控制和读数据
TI超低功耗系统微处理器MSP430
灵活的双调速模式,主机控制和温度控制
低成本的基于NTC的温度测量
PWM的占空比控制分辨率达到0.5%
系统故障检测和保护
高效率、高可靠性的节能散热系统
主机I2C接口控制命令协议
系统主平台CPU可通过I2C接口与散热子系统进行通信,读取散热子系统的温度、风扇转速和系统故障状态等信息,同时可通过命令设置系统的转速,使系统进入或者退出休眠模式。

NTC测量标定和温度查表
NTC是具有负温度系数热敏电阻,其电阻值随温度上升而下降,可用来作为温度传感器。考虑到散热系统对温度测量精度要求相对不高,系统采用NTC测量温度的方案,以MSP430的片上ADC作为转换,具有低成本的优势。电阻值随温度有如下关系

其中,是在环境温度为(单位为)时对应的NTC阻值,是NTC的温度常数。
采用NTC作为传感器测量温度,其电路图如图2所示。分压电阻R7与NTC电阻RT1串联,中间电压作为MSP430的ADC模块的模拟输入。分压电阻阻值根据所选用型号的NTC的数据手册给出的温度特性选择,以保证有较好输入电压范围和分辨率。

图2 NTC测温电路
因为涉及到复杂的对数运算,对于低成本精度要求不高的场景,采用实验测量标定生成温度与ADC采样值的对应表格,查表法更适合。首先用温控设备,标定出温度与ADC采样值的表。由测量电路结构可知,ADC采样值与当前温度成反比关系,因此测出的数据表为顺序表,可采用顺序查表算法。

图3查表法测温度
双控制模式和软起动特性
系统支持两种调速模式,除了采用温度反馈来调整风扇转速之外,主机还可通过I2C接口来给MSP430微控制器发送命令设置当前风扇转速。当主机发送设置转速命令,则系统转速主机控制转速模式,风扇转速由主机所给命令参数决定,当需要退出主机控制模式,则发送退出设置转速模式命令,即转为温度反馈控制模式。另外,为了防止风扇在启动和停止或者从一个较低的速度突然加速到高速时,电机电流过大,在MSP430的控制软件中加入了缓步软启动的代码,风扇将从当前转速以一定的步长逐步变化到设定转速。

图4 双控制模式
史海拾趣
|
如果没有遵循一些基本的布局指南,PCB设计将会限制D类放大器的性能或降低其可靠性。下面描述了D类放大器一些好的PC板布局实践经验。采用带有两个BTL输出的STA517B(每通道175瓦)数字功率放大器作为范例,但对所有的D类放大器而言,其基本概念是一致 ...… 查看全部问答> |
|
现在大陆市场中,由于监控发展较晚!红外半球摄像机红外灯被大陆的经销商和工程商吵的是如何如何的好,像什么白天一样!晚上没有任何光源,都能很清晰的分晰这个人是谁,这些话虽然让产品卖出去了,可是搞伤了我们技术人员和工程人员,验收那个难啊 ...… 查看全部问答> |
|
求梅兰日兰UPS中文使用说明书 请问哪位师傅手里有梅兰日兰UPS中文使用说明书啊,帮忙给传一下,或者给个网址也行啊,UPS是4.2KW、6KVA,我先谢谢啦!… 查看全部问答> |
|
nand flash里bootloader的结构如下: 0:nboot 1:tocblock1 file 2:eboot 有人这样安装吗? 有人改写过nboot吗? 我的板子是2410的,我从网上找到了2410 BSP里面关于nboot的代码 读了下nboot里面的代码,硬件主要是初始化串口,感觉这些是通用的, ...… 查看全部问答> |
|
WINCE 5.0 WZCEnumInterfaces 无法取得GUID,只取道名字 使用这个名字,调用WZCQueryInterface无法获得WEP Key的信息。 在Windows XP SP2中,使用同样的方法,没有问题。… 查看全部问答> |
|
看了GOOOGLEMAN的文章 http://www.cnblogs.com/wogoyixikexie/archive/2009/05/06/1450503.html 在platform->setting->environment 中设置IMGSDBUS2 = 1 在common.bib中也修改过 根本内容我也修改了BSP.C:\\WINCE500\\PLATFORM\\smdk2440\\DRIV ...… 查看全部问答> |
|
哪为江湖大虾有研究过播放器Mplayer的原代码啊,特别是它Demux是如何处理的,最好能讲讲Mplayer的主处理函数,和详细的Demux过程?小弟不胜感激!… 查看全部问答> |




