摘要:本設計為參加我院電子制作比賽而作。其設計的基本要求是:制作一個超低功耗
電子溫度計,實現溫度、時間的顯示。要求系統溫度誤差小于0.5℃,靜態功耗小于5μW。
1、總體設計方案
根據題目設計要求,可從硬件選用及軟件編程方面降低功耗。系統可分為控制模塊、測溫模塊、時間模塊、驅動顯示模塊、溫度控制與通信模塊等,整體框圖如圖1所示,各模塊的實現方案如下:
1.1控制模塊
選用SPCE061A型單片機。SPCE061A是一款16位單片機,靜態功耗為2μW。該單片機具有一鍵喚醒功能,需要時可將單片機置于休眠狀態,可有效節省能量,且不用的端口可設為輸出狀態,進一步降低功耗。時鐘頻率可根據需要進行修改。系統默認時鐘為24.756.MHz,CPU時鐘具奄fosc,fosc/2,fosc/4,fosc/8,fosc/16,fosc/32,fosc/64可選,降低CPU時鐘頻率,可有效降低功耗,但會降低系統效率,可根據需要進行選擇。
1.2顯示模塊
采用6位LCD數碼顯示玻璃片HT1621D,可滿足低功耗要求。
1.3時鐘模塊
采用低功耗的實時時鐘芯片DS1302實現時鐘。DS1302芯片可自動對秒、分、時、日、周、月、年以及閏年等進行計數,且精度高,8個字節的高速暫存RAM作為數據暫存區,工作電壓為2.5~5.5V范圍內,2.5V時耗電小于300nA。
1.4測溫模塊
采用數字式溫度傳感器DS18B20。此類傳感器為數字式傳感器而且僅需要一條數據線進行數據傳輸,易于與單片機連接,可以去除A/D模塊,降低硬件成本,簡化系統電路。另外,DS18B20測溫范圍為-55~+125℃,固有測溫分辨率為0.5℃,具有測量范圍廣、測量精度高等優點。
1.5通信模塊
MAX232芯片是目前應用較為廣泛的電平轉換器件,可以為RS232端口提供雙向電平轉換。
綜上所述,本設計具體框圖如圖2所示。
2、系統的硬件設計
2.1單片機
單片機系統是整個硬件系統的核心,既是協調整機工作的控制器,又是數據處理器。采用凌陽SPCE061A具體不再細述。
2.2單片機與液晶的接口
HT1621D為128段(32×4)內置存儲器的多功能LCD驅動器,可以驅動多段LCD字符是其主要特征,同時它還包括了省電命令,有效地減少本身的功耗。其工作電壓為2.4~5.2V,配置方式用軟件調節,三數據訪問模式,VLCD引腳可調整LCD工作電壓。玻璃片顯示器功耗低為其zui大特點。具體電路如圖3所示。
2.3溫度傳感器電路
DS18B20溫度傳感器是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器,它能直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現9~12b的數字值讀數方式。電路圖如圖4所示。
2.4DS1302接口
采用DS1302作為主要計時芯片,主要為了提高計時精度,更重要的就是DS1302可以在很小的后備電源下繼續計時,并可編程選擇充電電流來對后備電源進行充電,可以保證后備電源基本不耗電。具體電路如圖5所示。
2.5溫控模塊
系統通過控制繼電器線圈的通電和斷電,實現給相應的溫控系統加熱或降溫,將測得溫度與設定值相比較,發出相應的控制指令。溫度誤差若為0.5℃,約需要10min左右達到要求。控制電路如圖6所示。加熱、制冷切換由繼電器的觸點實現。
2.6通信模塊
系統可與PC機的RS232端口通信,RS232電平轉換芯片采用MAX232,其與SPCE061A的接線如圖7所示。所測溫度值可由電腦儲存并調用,PC機的通信可視化界面可顯示具體時刻的溫度值,并可將段時間的溫度變化由曲線顯示出來。通信界面如圖8所示。
3、系統的軟件設計
3.1主程序
若要降低系統功耗,軟件也起很大作用。總線上幾乎每一個芯片的訪問、每一個信號的翻轉差不多都由軟件控制的,如果軟件能減少外存的訪問次數、及時響應中斷等措施都將對降低功耗有很大作用。系統主程序首先對系統進行初始化,包括設置定時器、中斷和端口。圖9是系統的主流程圖。
3.2讀取溫度子程序
讀出溫度子程序的主要功能是讀出RAM中的9個字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖10所示。
3.3時間調整程序
調整時間用3個調整按鈕,1個作為移位控制用,另外2個作為加減用,分別定義控制按鈕、加按鈕、減按鈕。在調整時間過程中,要調整的那位與別的位應該有區別,所以增加了閃爍功能,即調整的那位一直在閃爍直到調整下一位。閃爍原理就是讓要調整的那一位,每隔一定時間熄滅一次,比如說50ms。利用定時器計時,當達到50ms溢出時,就送給該位熄滅符,在下一次溢出時,再送正常顯示的值,不斷交替,直到調整該位結束,此時送正常顯示值給該位,再進入下一位調整閃爍程序,時間調整程序程序流程圖如圖11所示。
4、試驗數據及結果分析
4.1測試儀器
室溫計(1℃)、61系列仿真器、HP34401A數字萬用表。
4.2硬件調試
(1)硬件調試時,可先檢查焊接的質量是否符合要求,有無虛焊點及線間有無短路、斷路。然后用萬用表測試或通電檢測,檢查無誤后,可通電檢查LCD液晶顯示器亮度情況,一般情況下取背光電壓為4~5.5V即可得到滿意的效果。
(2)DS1302與單片機相連的只有3根線,很容易檢查,主要檢查DS1302管腳與晶振、電源是否連接好。
(3)DS18B20在測溫程序設計中,向DS18B20發溫度命令轉換后,程序要等待DS18B20的返回信號,一旦線路不好或斷線,將陷入死循環,所以線路一定要檢查清楚。
4.3軟件調試
軟件調試以子程序為單位逐個進行,zui后結合硬件實時調試。
子程序調試包括:DS1302的計時和讀寫程序、顯示程序;SPCE061A讀寫程序;DS18B20讀出溫度子程序、溫度轉換命令子程序;計算溫度子程序、顯示數據。
4.4測試結果分析
測試結果見表1,表2。
由于采用了DS1302作為計時器使用,其計時精度相對來說比較高。用制作的成品與萬年歷計時比較,基本*。
由于DS18B20的誤差指標在0.5℃以內,在一般場合*適用。
功耗測試結果表明,靜態功耗達到了設計的要求。
5、結論
本系統由于采用了凌陽SPCE061A單片機和DS18B20等低功耗器件,經過測試,系統靜態功耗低于給定的zui小值,且實現了對溫度值的顯示和處理,并實現了對溫度的控制,時間顯示準確。系統的性價比較高,有較好的推廣應用價值。