基于单片机的计算机机箱监控系统设计

2013-10-26 11:47张小勇
太原学院学报(社会科学版) 2013年1期
关键词:原理图机箱风扇

张小勇

(太原大学计算机工程系,山西 太原 030032)

0 引言

计算机,特别是单板计算机(SBC)随着性能的增强,功耗也越来越大,同时机器运行温度也越来越高,而计算机机箱体积却呈现缩小的趋势,这便加剧了电源稳定性、散热等问题,因此使用监控系统对机箱运行的物理环境进行监控是很有必要的。通过监控系统可以在故障发生前采取应急措施,从而避免系统崩溃,硬件损坏等情况发生。[1]这里针对计算机最容易损坏的冷却系统和电源等部件设计了一种基于STC单片机的计算机机箱监控系统,系统可以监控计算机电源状态,机箱内温度,根据温度控制机箱风扇转速,显示信息及发出异常报警音。

1 监控系统总体设计

1.1 系统硬件总体设计

监控系统以单片机为核心,由电压测量子模块,温度测量子模块,风扇测控子模块、显示报警子模块组成。监控系统结构框图如图1所示。

图1 监控系统结构框图

其中:

电压测量子模块,负责对标准ATX电源所提供的+3.3V、+5V、+12V、-12V电压进行测量;

温度测量子模块,负责对机箱内部温度进行测量并传给单片机;

风扇测控子模块,负责对机箱风扇的转速进行测量,并根据温度调节风扇转速;

显示、报警子模块,通过液晶屏显示机箱当前工作状态,并在系统出现错误时驱动蜂鸣器发出报警音。

1.2 监控系统软件总体方案

在系统启动后,主程序工作流程如下:单片机首先执行初始化程序,对单片机时钟、A/D、IO端口功能、定时器、温度传感器等进行初始化;执行测量程序,控制A/D对电压信号进行采集,并保存;读取温度信息,测量当前风扇转速;根据温度信息调整风扇转速;最后对电压、温度信息进行处理后,判断结果是否超过警戒值,同时控制液晶屏显示及蜂鸣器动作,然后延时等待1S后,循环执行测量程序。主程序流程图如图2所示。

2 监控系统各模块设计与工作原理

2.1 单片机及其基本外围电路

单片机是监控系统的核心,它负责控制各个子模块,对测量到的数据进行处理及在系统运行出现异常时控制报警模块报警。这里选择了STC12C5A16AD型单片机。STC12C5A16AD是STC单片机中较为经典的型号,它具有60K程序存储空间,2KRAM空间,更重要的是它具有一个内部集成的10位A/D转换器,利用内部集成AD可以节省板上空间、降低系统功耗并增强系统的稳定性[2]。

单片机基本外围电路主要指复位电路与时钟电路。良好的复位电路为监控系统正常工作提供了保障,相对于由阻容电路构成的复位电路,使用专用集成芯片可以获得更高的稳定性,这里使用电源监控芯片MAX809,该芯片可以在上电、掉电情况下向微控制器提供复位信号。时钟电路由外部无源晶振与2个30pF电容构成。

图2 主程序流程图

2.2 电压测量子模块

电压测量子模块中电压测量的方法是将电源电压由电阻分压,经由电压跟随器后由A/D进行采集测量。STC12C5A16AD共有8个A/D转换通道,这里将四路被测电压分别连接到单片机的A/D通道管脚,由于分压电阻的阻值是已知的,所以可以通过A/D转换结果计算出被测电压值。电压跟随器选用了TI公司出品的集成运放LM324构成。

3.3V,5V,12V 电压测量电路是相似的,只是分压电阻阻值不同。以3.3V电压测量为例,电路如图3所示,R1选取10K,R2选取6.8KΩ,这里设3.3V电源电压最大超压为30%,最低输入为0V,即电压范围为:0~4.29V,所以分压后的电压范围为:0~1.736V。

由于单片机集成的A/D不支持负压测量,在对-12V电压进行测量时,使用了双电源直流分压电路[3],将负压转换成了正压。正电源采用的是电压芯片LM4040产生2.048V参考电压。原理图如图 4所示。R1选取 1.3KΩ,R2选取10KΩ,这里设-12V电源电压最大超压、欠压均为30%,即被测电压范围为:-8.4V~ -15.6V,所以分压后的电压范围为:0.758~0.018V。

2.3 温度测量子模块设计

这里由于对温度测量的实时性和精度要求都较低,所以采用外围电路简单,使用方便的数字温度传感器DS18B20,该芯片是较常用的温度传感器。

图3 电压测量子模块原理图

图4 -12V电压测量电路原理图

DS18B20是DALLAS公司出品的数字温度传感器,采用TO92封装,体积小,使用方便,在使用内部12位精度 A/D时,单次测量时间为750ms,测量范围为:-55℃到+125℃,在–10℃to到85℃范围内测量精度为 ±0.5℃[4]。电路原理图如图5所示。传感器DQ引脚与单片机IO相连接。

图5 温度传感器电路原理图

2.4 风扇测控子模块设计

普通机箱都一般采用2线直流风扇用于机箱散热,这里需将其更换为3线直流风扇,3线直流风扇是目前使用最多的风扇之一,除了电源线与地线外,它还有一根测速信号线。当风扇正常工作时,测速信号线会输出与转速成正比的方波,只要测出单位时间内的方波个数,就可以计算出风扇转速。风扇测控子模块包括:风扇转速测量与风扇转速控制两部分。

风扇转速测量:这里将测速线上拉后直接与单片机计数器2的捕获引脚相连,便可以由计数器2测得转速。

风扇转速控制:采用 DC-DC调压芯片MAX1771对风扇供电,该芯片是通过改变连接在FB引脚的反馈电阻阻值对输出电压值进行调节。这里通过控制CMOS管 BSS138使阻值为23.2KΩ,17.8K,15.8K,14.3K 的电阻分别与阻值为100K的电阻并联从而获得不同阻值的反馈,将输出电压分为+12V、+11V、+10V、+8V四个不同的值,从而实现对风扇转速的控制。该子模块电路原理图如图6所示。

图6 风扇测控子模块电路原理图

2.5 显示与报警子模块设计

系统要显示的信息较多,包括:温度,风扇转速、电源电压等,这里选取了12864液晶显示屏用于系统显示。该显示屏可以显示4*8个中文字符[5]。报警音是采用12mm直径蜂鸣器产生的,这种蜂鸣器只需要一个8050型三极管便可以方便地驱动。该子模块电路原理图如图7所示。

图7 报警子模块电路原理图

3 实验与结论

基于本文的设计制作了电路实物,并进行了一系列组装调试,最终完成了实验样机的制作。通过将样机安装在联想M240E型机箱中进行了实验,结果表明该系统运行良好,起到了电压测量、风扇转速控制、显示、异常报警等功能,具有一定的实用价值。

[1]Charles Linquist.下一代机箱监控解决方案[J].电子产品世界,2005(2).

[2]龚成莹,等.基于STC12C5A08AD单片机的自动电阻测试仪的设计[J].自动化与仪器仪表,2012(2).

[3]闫石.模拟电路设计[M].北京:高等教育出版社,2006:510-511.

[4]贾兆虎.一种基于DS18B20的温度检测仪设计[J].数字技术与应用,2011(2).

[5]彭真真.单片机驱动 LCD12864的应用[J].电子制作,2011(7).

猜你喜欢
原理图机箱风扇
AirFan手持小风扇
浅谈STM32核心板原理图设计
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
电风扇
小而美——航嘉MVP MINI Ⅱ机箱
新蒙迪欧车冷却风扇常高速运转
维修电工线路板的接线技巧分析
奇瑞A5车散热风扇无低速挡
大学MM你爱谁迷你机箱Party Show