AT89S51電腦自動(dòng)溫度控制器
這款計(jì)算機(jī)溫度自動(dòng)控制器能根據(jù)溫度的高低自動(dòng)調(diào)整相關(guān)風(fēng)扇的轉(zhuǎn)速及開(kāi)停,同時(shí)輪流顯示各處的溫度,節(jié)能降噪,使用方便,不占用系統(tǒng)資源。
一、工作原理
本裝置的工作原理如下圖所示,IC2為主控芯片AT89S51,IC4為8位逐次逼近式A/D轉(zhuǎn)換芯片ADC0809,RT1~RT4分別是測(cè)量CPU、電源、機(jī)箱、顯卡溫度的熱敏電阻,F(xiàn)AN1~FAN4分別是控制CPU、電源、機(jī)箱、顯卡溫度的風(fēng)扇。以CPU溫度控制為例,當(dāng)溫度升高時(shí)RT1阻值變小,A點(diǎn)電壓升高,該變化的電壓作為待轉(zhuǎn)換的模擬量進(jìn)入ADC0809的輸入通道IN0,經(jīng)AD轉(zhuǎn)換、查表后換算成溫度值在數(shù)碼管上顯示出來(lái),其中最左邊一位顯示“1”(1代表CPU,2代表電源,3代表機(jī)箱,4代表顯卡),左邊第二位不顯示,最后兩位顯示CPU當(dāng)前的實(shí)際溫度值。顯示范圍為0~70℃,當(dāng)溫度低于設(shè)定的溫度下限時(shí),單片機(jī)通過(guò)串行口發(fā)出控制指令經(jīng)74LS164.移位輸出,使V5、V9截止,風(fēng)扇FAN1停止轉(zhuǎn)動(dòng)。
當(dāng)溫度高于下限而低于上限時(shí),V5飽和,V9截止,12V電源經(jīng)VD1降壓后變?yōu)?V加至FAN1的兩端,使FAN1低速運(yùn)轉(zhuǎn)。當(dāng)溫度高予設(shè)定的上限時(shí),V5、V9飽和,12V電壓全部加在FAN1上,F(xiàn)AN1全速運(yùn)轉(zhuǎn)給CPU降溫。其他各處的溫度控制與此相同。正常工作時(shí),數(shù)碼管輪流顯示4路當(dāng)前溫度值,每路顯示時(shí)間為8秒。圖中AN1~AN3是溫度設(shè)定用按鍵,設(shè)定時(shí)按一下AN1,數(shù)碼管左邊第一位顯示“1”第二位顯示“H”,最后兩位顯示CPU當(dāng)前上限溫度設(shè)定值,按動(dòng)AN2可設(shè)定上限值的十位,按動(dòng)AN3可設(shè)定上限值的個(gè)位,設(shè)定好后再次按一下AN1,CPU上限溫度設(shè)定值被寫(xiě)入24C02永久保存,同時(shí)數(shù)碼管顯示“1L”和CPU當(dāng)前下限溫度設(shè)定值,按同樣的方法設(shè)定好下限值后,第三次按動(dòng)AN1,CPU下限溫度設(shè)定值被寫(xiě)入24C02,同時(shí)數(shù)碼管顯示“2H”和當(dāng)前電源上限溫度設(shè)定值,按照同樣的方法,依次設(shè)定好電源、機(jī)箱、顯卡溫度的上、下限后,按一下AN1,數(shù)碼管重新輪流顯示當(dāng)前各處的溫度值。
二、軟件設(shè)計(jì)
本文程序采用模塊化編程,考慮到熱敏電阻的阻值隨溫度變化的非線(xiàn)形,溫度值計(jì)算采用查表的方式實(shí)現(xiàn),A/D轉(zhuǎn)換采用等待的方式進(jìn)行編程,四個(gè)通路寄存器地址為7FF0H~7FF3H,整個(gè)程序由主程序、溫度判斷程序、上下限設(shè)定程序、A/D轉(zhuǎn)換程序、查表程序、二一十進(jìn)制轉(zhuǎn)換程序、顯示程序、鍵掃描程序、鍵等待釋放程序、串行口發(fā)送程序、24C02讀寫(xiě)程序等組成。片內(nèi)主要RAM分配如下:28H存放鍵碼,29H存放AN1鍵序,34H、35H為十進(jìn)制轉(zhuǎn)換暫存單元,40H~43H為顯示緩沖區(qū),49H為12C尋址字節(jié)寫(xiě)存放單元,4BH為尋址字節(jié)讀存放單元,4DH存放傳送字節(jié)數(shù),4EH是數(shù)據(jù)子地址存放單元,50H~57H分別存放CPU、電源、機(jī)箱、顯卡的溫度上、下限設(shè)定值。5AH為風(fēng)扇運(yùn)行狀態(tài)暫存單元。
三、安裝調(diào)試
由于裝置采用了串行EEPROM存儲(chǔ)器24C02來(lái)保存數(shù)據(jù),使設(shè)定值能夠長(zhǎng)久保存,每次開(kāi)機(jī)后不用重新輸入數(shù)據(jù)即可運(yùn)行,大大增強(qiáng)了裝置的實(shí)用性。在制作好后第一次運(yùn)行時(shí),可能會(huì)出現(xiàn)風(fēng)扇全部不轉(zhuǎn)的現(xiàn)象,這是因?yàn)樗?4C02是空白芯片的原因,只需要按照前述方法設(shè)定好各路的溫度上、下限即可。本裝置的電源為12V和5V,可直接取自主機(jī)電源的多余插頭。RT1、RT2、RT4可用導(dǎo)熱膠分別固定在各自散熱片的溝槽底部,由于熱敏電阻處于風(fēng)扇的下方,為了使其真實(shí)反映散熱片的溫度,安裝時(shí)最好在用導(dǎo)熱膠固定后,再在其表面涂上一層較厚的萬(wàn)能膠或熱溶膠。RT3可固定在機(jī)箱中上部的合適地方。實(shí)際使用時(shí),一般把下限值設(shè)定為25℃左右,上限值設(shè)定為40℃左右較為合適。由于控制指令采用串行輸出,本裝置還有很大的擴(kuò)展空間,例如可以根據(jù)需要增加硬盤(pán)風(fēng)扇、顯示器風(fēng)扇等,這時(shí)只需要對(duì)軟件稍作改動(dòng)即可。當(dāng)然本裝置也可用于其他需要控制溫度的場(chǎng)所。