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