張小勇
(太原大學(xué)計(jì)算機(jī)工程系,山西 太原 030032)
計(jì)算機(jī),特別是單板計(jì)算機(jī)(SBC)隨著性能的增強(qiáng),功耗也越來越大,同時(shí)機(jī)器運(yùn)行溫度也越來越高,而計(jì)算機(jī)機(jī)箱體積卻呈現(xiàn)縮小的趨勢(shì),這便加劇了電源穩(wěn)定性、散熱等問題,因此使用監(jiān)控系統(tǒng)對(duì)機(jī)箱運(yùn)行的物理環(huán)境進(jìn)行監(jiān)控是很有必要的。通過監(jiān)控系統(tǒng)可以在故障發(fā)生前采取應(yīng)急措施,從而避免系統(tǒng)崩潰,硬件損壞等情況發(fā)生。[1]這里針對(duì)計(jì)算機(jī)最容易損壞的冷卻系統(tǒng)和電源等部件設(shè)計(jì)了一種基于STC單片機(jī)的計(jì)算機(jī)機(jī)箱監(jiān)控系統(tǒng),系統(tǒng)可以監(jiān)控計(jì)算機(jī)電源狀態(tài),機(jī)箱內(nèi)溫度,根據(jù)溫度控制機(jī)箱風(fēng)扇轉(zhuǎn)速,顯示信息及發(fā)出異常報(bào)警音。
監(jiān)控系統(tǒng)以單片機(jī)為核心,由電壓測(cè)量子模塊,溫度測(cè)量子模塊,風(fēng)扇測(cè)控子模塊、顯示報(bào)警子模塊組成。監(jiān)控系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
其中:
電壓測(cè)量子模塊,負(fù)責(zé)對(duì)標(biāo)準(zhǔn)ATX電源所提供的+3.3V、+5V、+12V、-12V電壓進(jìn)行測(cè)量;
溫度測(cè)量子模塊,負(fù)責(zé)對(duì)機(jī)箱內(nèi)部溫度進(jìn)行測(cè)量并傳給單片機(jī);
風(fēng)扇測(cè)控子模塊,負(fù)責(zé)對(duì)機(jī)箱風(fēng)扇的轉(zhuǎn)速進(jìn)行測(cè)量,并根據(jù)溫度調(diào)節(jié)風(fēng)扇轉(zhuǎn)速;
顯示、報(bào)警子模塊,通過液晶屏顯示機(jī)箱當(dāng)前工作狀態(tài),并在系統(tǒng)出現(xiàn)錯(cuò)誤時(shí)驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警音。
在系統(tǒng)啟動(dòng)后,主程序工作流程如下:單片機(jī)首先執(zhí)行初始化程序,對(duì)單片機(jī)時(shí)鐘、A/D、IO端口功能、定時(shí)器、溫度傳感器等進(jìn)行初始化;執(zhí)行測(cè)量程序,控制A/D對(duì)電壓信號(hào)進(jìn)行采集,并保存;讀取溫度信息,測(cè)量當(dāng)前風(fēng)扇轉(zhuǎn)速;根據(jù)溫度信息調(diào)整風(fēng)扇轉(zhuǎn)速;最后對(duì)電壓、溫度信息進(jìn)行處理后,判斷結(jié)果是否超過警戒值,同時(shí)控制液晶屏顯示及蜂鳴器動(dòng)作,然后延時(shí)等待1S后,循環(huán)執(zhí)行測(cè)量程序。主程序流程圖如圖2所示。
單片機(jī)是監(jiān)控系統(tǒng)的核心,它負(fù)責(zé)控制各個(gè)子模塊,對(duì)測(cè)量到的數(shù)據(jù)進(jìn)行處理及在系統(tǒng)運(yùn)行出現(xiàn)異常時(shí)控制報(bào)警模塊報(bào)警。這里選擇了STC12C5A16AD型單片機(jī)。STC12C5A16AD是STC單片機(jī)中較為經(jīng)典的型號(hào),它具有60K程序存儲(chǔ)空間,2KRAM空間,更重要的是它具有一個(gè)內(nèi)部集成的10位A/D轉(zhuǎn)換器,利用內(nèi)部集成AD可以節(jié)省板上空間、降低系統(tǒng)功耗并增強(qiáng)系統(tǒng)的穩(wěn)定性[2]。
單片機(jī)基本外圍電路主要指復(fù)位電路與時(shí)鐘電路。良好的復(fù)位電路為監(jiān)控系統(tǒng)正常工作提供了保障,相對(duì)于由阻容電路構(gòu)成的復(fù)位電路,使用專用集成芯片可以獲得更高的穩(wěn)定性,這里使用電源監(jiān)控芯片MAX809,該芯片可以在上電、掉電情況下向微控制器提供復(fù)位信號(hào)。時(shí)鐘電路由外部無源晶振與2個(gè)30pF電容構(gòu)成。

圖2 主程序流程圖
電壓測(cè)量子模塊中電壓測(cè)量的方法是將電源電壓由電阻分壓,經(jīng)由電壓跟隨器后由A/D進(jìn)行采集測(cè)量。STC12C5A16AD共有8個(gè)A/D轉(zhuǎn)換通道,這里將四路被測(cè)電壓分別連接到單片機(jī)的A/D通道管腳,由于分壓電阻的阻值是已知的,所以可以通過A/D轉(zhuǎn)換結(jié)果計(jì)算出被測(cè)電壓值。電壓跟隨器選用了TI公司出品的集成運(yùn)放LM324構(gòu)成。
3.3V,5V,12V 電壓測(cè)量電路是相似的,只是分壓電阻阻值不同。以3.3V電壓測(cè)量為例,電路如圖3所示,R1選取10K,R2選取6.8KΩ,這里設(shè)3.3V電源電壓最大超壓為30%,最低輸入為0V,即電壓范圍為:0~4.29V,所以分壓后的電壓范圍為:0~1.736V。
由于單片機(jī)集成的A/D不支持負(fù)壓測(cè)量,在對(duì)-12V電壓進(jìn)行測(cè)量時(shí),使用了雙電源直流分壓電路[3],將負(fù)壓轉(zhuǎn)換成了正壓。正電源采用的是電壓芯片LM4040產(chǎn)生2.048V參考電壓。原理圖如圖 4所示。R1選取 1.3KΩ,R2選取10KΩ,這里設(shè)-12V電源電壓最大超壓、欠壓均為30%,即被測(cè)電壓范圍為:-8.4V~ -15.6V,所以分壓后的電壓范圍為:0.758~0.018V。
這里由于對(duì)溫度測(cè)量的實(shí)時(shí)性和精度要求都較低,所以采用外圍電路簡(jiǎn)單,使用方便的數(shù)字溫度傳感器DS18B20,該芯片是較常用的溫度傳感器。

圖3 電壓測(cè)量子模塊原理圖

圖4 -12V電壓測(cè)量電路原理圖
DS18B20是DALLAS公司出品的數(shù)字溫度傳感器,采用TO92封裝,體積小,使用方便,在使用內(nèi)部12位精度 A/D時(shí),單次測(cè)量時(shí)間為750ms,測(cè)量范圍為:-55℃到+125℃,在–10℃to到85℃范圍內(nèi)測(cè)量精度為 ±0.5℃[4]。電路原理圖如圖5所示。傳感器DQ引腳與單片機(jī)IO相連接。

圖5 溫度傳感器電路原理圖
普通機(jī)箱都一般采用2線直流風(fēng)扇用于機(jī)箱散熱,這里需將其更換為3線直流風(fēng)扇,3線直流風(fēng)扇是目前使用最多的風(fēng)扇之一,除了電源線與地線外,它還有一根測(cè)速信號(hào)線。當(dāng)風(fēng)扇正常工作時(shí),測(cè)速信號(hào)線會(huì)輸出與轉(zhuǎn)速成正比的方波,只要測(cè)出單位時(shí)間內(nèi)的方波個(gè)數(shù),就可以計(jì)算出風(fēng)扇轉(zhuǎn)速。風(fēng)扇測(cè)控子模塊包括:風(fēng)扇轉(zhuǎn)速測(cè)量與風(fēng)扇轉(zhuǎn)速控制兩部分。
風(fēng)扇轉(zhuǎn)速測(cè)量:這里將測(cè)速線上拉后直接與單片機(jī)計(jì)數(shù)器2的捕獲引腳相連,便可以由計(jì)數(shù)器2測(cè)得轉(zhuǎn)速。
風(fēng)扇轉(zhuǎn)速控制:采用 DC-DC調(diào)壓芯片MAX1771對(duì)風(fēng)扇供電,該芯片是通過改變連接在FB引腳的反饋電阻阻值對(duì)輸出電壓值進(jìn)行調(diào)節(jié)。這里通過控制CMOS管 BSS138使阻值為23.2KΩ,17.8K,15.8K,14.3K 的電阻分別與阻值為100K的電阻并聯(lián)從而獲得不同阻值的反饋,將輸出電壓分為+12V、+11V、+10V、+8V四個(gè)不同的值,從而實(shí)現(xiàn)對(duì)風(fēng)扇轉(zhuǎn)速的控制。該子模塊電路原理圖如圖6所示。

圖6 風(fēng)扇測(cè)控子模塊電路原理圖
系統(tǒng)要顯示的信息較多,包括:溫度,風(fēng)扇轉(zhuǎn)速、電源電壓等,這里選取了12864液晶顯示屏用于系統(tǒng)顯示。該顯示屏可以顯示4*8個(gè)中文字符[5]。報(bào)警音是采用12mm直徑蜂鳴器產(chǎn)生的,這種蜂鳴器只需要一個(gè)8050型三極管便可以方便地驅(qū)動(dòng)。該子模塊電路原理圖如圖7所示。

圖7 報(bào)警子模塊電路原理圖
基于本文的設(shè)計(jì)制作了電路實(shí)物,并進(jìn)行了一系列組裝調(diào)試,最終完成了實(shí)驗(yàn)樣機(jī)的制作。通過將樣機(jī)安裝在聯(lián)想M240E型機(jī)箱中進(jìn)行了實(shí)驗(yàn),結(jié)果表明該系統(tǒng)運(yùn)行良好,起到了電壓測(cè)量、風(fēng)扇轉(zhuǎn)速控制、顯示、異常報(bào)警等功能,具有一定的實(shí)用價(jià)值。
[1]Charles Linquist.下一代機(jī)箱監(jiān)控解決方案[J].電子產(chǎn)品世界,2005(2).
[2]龔成瑩,等.基于STC12C5A08AD單片機(jī)的自動(dòng)電阻測(cè)試儀的設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2012(2).
[3]閆石.模擬電路設(shè)計(jì)[M].北京:高等教育出版社,2006:510-511.
[4]賈兆虎.一種基于DS18B20的溫度檢測(cè)儀設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2011(2).
[5]彭真真.單片機(jī)驅(qū)動(dòng) LCD12864的應(yīng)用[J].電子制作,2011(7).