崔夢雅 羅丹 沈陽工學院
本文主要基于AT89C52 單片機、數字溫度傳感器DS18B20設計了一款智能散熱系統,詳細分析了傳感器,液晶顯示,單片機控制,按鍵掃秒,電源,風扇以及聲光控制等電路模塊的硬件連接,軟件編程和系統控制流程。該系統可以實現利用溫度傳感器收集溫度數據然后通過液晶屏顯示,并閾值溫度和實測溫度的差值,采用PWM模式控制風扇的運轉,對目標物體進行降溫,并通過蜂鳴器和發光二極管進行報警提示,實現智能溫度控制和危險報警功能。
環境的溫度參數高于最高設定值的時候,溫度信號由傳感器捕捉然后送到主控中樞,而后單片機將溫度信號使用BCD在LCD液晶屏幕上顯示,并根據溫度信號與設定的溫度閥值進行對比,根據對比結果控制報警降溫電路的運行。
系統總體設計由中樞芯片52單片機、顯示器、溫度傳感器等組成,設計方案如圖:
系統使用時,把溫度傳感器放在將要測試的環境中,溫度的變化使接收器接收到的信號產生變化,將溫度信號傳輸到單片機的IO口。通過單片機的作用,獲得溫度信號對應的BCD 碼并對應顯示在液晶屏,并對比溫度信號控制降溫報警電路運行。

圖1 系統框圖
本設計的最困難的是程序編碼和硬件電路調試部分,程序編碼部分的軟件是用C 語言寫的,C 語言是比較簡單的,它編寫起來猶如小說一樣,極其容易了解,并且測試、調試也比較快速。編寫的時候每個程序都是一個特定函數,不同模塊使用不同的函數建立,使用時只要調度特定函數便可,最后再把所有的函數通過主函數連接起來。實物電路的構建需要各個支路電路的設計,這個過程的關鍵在于支路電路元件連接和主電路于支路電路的關系組建。
單片機接入電源后初始化,提取傳感器中溫度數據并顯示,然后根據按下按鍵,進入相應的功能。當用戶按下設定按鍵后,單片機通過程序判定并在液晶屏上顯示進入設定狀態。其后根據加減按鍵設定閥值溫度,最后在液晶屏上顯示。
其后根據設定的閥值與環境溫度進行對比判定是否符合報警的條件以及降溫電路是否開啟。
功能多樣的數字設計系統都是以單片機為核心,多個函數的子程序連續調用和創建聯系會使得在修改和測試時出現各式各樣的問題。子程序的函數編寫不僅僅需要信心和信心還需要技巧,只有努力不懈的調試,才能最終完成系統程序的要求。以下記錄了我在程序編寫和調試時遇到的問題:
問題:進入程序后,液晶LCD 有電源但是屏幕亮度過高或者無法顯示。解決:開始時對延時子程序做了修改,能夠解決無法顯示的問題。而后,由于是動態掃描顯示溫度信息,動態掃描的速度太快,如果不在返回時,屏蔽掉最后的附加,就會出現一種亮度過高的現象,所以在顯示的最后我加入了屏蔽,最終這個問題得以解決。
系統基于單片機控制電路,整個電路系統只要出一個錯誤,對相關線的檢測和系統運行造成很大的影響甚至毀壞電路,所以在焊接電路時必須注意,否則會有虛焊,元器件損壞等,就會造成系統電路發生短路。
在設計和調試系統中,出現了很多問題。現在想來,大部分問題都是自己粗心造成都是可以避免的。以下是主要問題的歸總:
問題1:因為P0 口驅動輸出弱,在液晶屏幕接上之后,顯示不亮。解決:仿真發現問題后,在LCD接口上加入上拉電阻(即電路圖中的排阻)后問題得到解決。
問題2:在測試狀態, 但液晶屏顯示不隨測量數據變化而變化解決:先檢查電磁干擾對傳感器的影響,其次是檢查液晶刷新子程序是否存在問題。問題3:開機后顯示不正常或死機解決:檢查電源或關鍵電路,關鍵電路沒有故障的話則檢查電源電壓是否確定并且穩定。
智能散熱有三個關鍵性的問題:(1)溫度傳感器的設計;(2)對輸出的溫度信號的提取;(3)電機轉速的控制。本次設計雖然已經完成,但由于能力以及知識有限,所以仍有很多可以做的更好的地方。比如,系統功能較為單調,可以增加升溫功能,水冷功能,遠程藍牙或者互聯網控制,解放人類的時間,更大限度的保護器件和提升器件的工作效率,同時實現遠程實時監測,更加的人性化。
單片機技術,是人類社會和科技進步的一個突破,他正在改變傳統的設計思維和設計方法;由傳統電路和模擬電路能實現的大部分功能和電路,現階段的單片機都能夠完成實現。智能散熱技術正由傳統老舊的情況向著智能化,數字化,多功能化發展。