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