沈丹鳳 ,來瑞俊,孔英會 ,田 川
(1.華北電力大學(xué)電子與通信工程系,河北 保定 071003;2.國家海洋技術(shù)中心,天津 300112)
基于ATmega16A的低功耗高精度橋式溫度測量系統(tǒng)設(shè)計
沈丹鳳1,來瑞俊1,孔英會1,田 川2
(1.華北電力大學(xué)電子與通信工程系,河北 保定 071003;2.國家海洋技術(shù)中心,天津 300112)
當(dāng)前溫度測量應(yīng)用越來越廣泛,針對工農(nóng)業(yè)及科研領(lǐng)域?qū)Φ凸募案呔葴y溫的要求,系統(tǒng)描述了一個橋式測溫系統(tǒng)的設(shè)計方案與工作原理。系統(tǒng)采用低功耗AVR單片機(jī)作為控制芯片,通過單臂分壓將熱敏電阻分壓后的電壓信號傳入A/D轉(zhuǎn)換芯片,再將A/D轉(zhuǎn)換后的數(shù)字量送入單片機(jī)計算,從而得到熱敏電阻阻值,最后通過曲線擬合算出所測溫度值。系統(tǒng)能實(shí)現(xiàn)低功耗、高精度測溫。
低功耗;高精度;溫度測量
目前,在工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中,溫度測量技術(shù)已得到廣泛應(yīng)用,這使得測溫系統(tǒng)的高精度、低功耗成為發(fā)展的必然趨勢。在保證系統(tǒng)穩(wěn)定工作的前提下,實(shí)現(xiàn)系統(tǒng)的高精度以及低功耗成為測溫領(lǐng)域的主要問題。
橋式測溫原理作為常見的測溫技術(shù),因其成本低、精度高、功耗低等優(yōu)點(diǎn),有著廣闊的應(yīng)用前景。本文利用AT-mega16A單片機(jī)及其外擴(kuò)的AD轉(zhuǎn)換芯片,F(xiàn)lash存儲芯片以及時鐘芯片等設(shè)計了一個高精度低功耗的橋式溫度測量系統(tǒng),能測量-2~50°C之間的溫度值,可廣泛應(yīng)用于海水溫度測量等這些需要高精度測溫的領(lǐng)域。
本系統(tǒng)采用Atmel公司的ATmega16A作為控制芯片,主要分為AD電壓采集部分、時鐘定時控制部分以及數(shù)據(jù)存儲部分。ATmega16A為超低功耗單片機(jī)[1],我們采用3.686 4 MHz晶振,從而使得系統(tǒng)功耗大大減小。系統(tǒng)總體結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)總體結(jié)構(gòu)框圖
系統(tǒng)由一節(jié)鋰亞電池供電,單片機(jī)通過I2C總線將系統(tǒng)時間,采樣間隔等常數(shù)寫入時鐘芯片PCF8583中,PCF8583能實(shí)現(xiàn)定時功能,它根據(jù)采樣間隔控制開關(guān)電路,從而使得電池對系統(tǒng)間歇供電,大大降低了功耗。測溫電橋[2]將熱敏電阻隨所測溫度變化的電壓信號輸出,經(jīng)過放大電路[3]放大送入A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,再送入單片機(jī)進(jìn)行計算,得出熱敏電阻的阻值,最后將熱敏電阻的阻值存入大容量存儲器中。經(jīng)測試,系統(tǒng)在采集數(shù)據(jù)時工作電流在8 mA以下,待機(jī)電流在80 μA左右。本系統(tǒng)采用間斷采樣測溫方式,采集一個有效數(shù)據(jù)需要1 s時間,因此在實(shí)際工作過程中,真正消耗8 mA的時間是很有限的。溫度測量誤差小于0.01℃,完全符合高精度低功耗的測溫要求。
采用凌特公司生產(chǎn)的A/D轉(zhuǎn)換芯片LTC2411I。LTC2411I是一2.7~5.5 V供電電壓的24位的A/D轉(zhuǎn)換芯片。工作溫度在-40~85℃之間。它的輸入電壓動態(tài)范圍為-VREF/2~VREF/2,在本系統(tǒng)中即為-1.5~1.5 V,由于一般A/D支持正電源輸入,因此系統(tǒng)中動態(tài)范圍為0~1.5 V。該24位A/D芯片轉(zhuǎn)換速度比較慢,轉(zhuǎn)換時間為160 ms,因此十分適合用作高精度測量方面。
A/D模塊硬件連接圖如圖2所示。
測溫電橋?qū)崦綦娮鑂T隨所測溫度變化的電壓信號經(jīng)放大器放大后輸入A/D。系統(tǒng)用美信公司生產(chǎn)的高精度基準(zhǔn)電壓源MAX6163為測溫電橋和A/D轉(zhuǎn)換器提供基準(zhǔn)電壓,這樣就形成了比值測量系統(tǒng),因為比值工作,所以消除測量系統(tǒng)中的漂移誤差,電壓源變化不降低系統(tǒng)性能。

圖2 A/D電壓采集轉(zhuǎn)換模塊
單片機(jī)的SPI口[4]與A/D和存儲器相連,當(dāng)A/D要將轉(zhuǎn)換后的電壓值傳入單片機(jī)時,單片機(jī)通過片選[5]選通A/D,關(guān)斷存儲器,當(dāng)單片機(jī)要將數(shù)據(jù)存入存儲器時就通過片選選通存儲器,關(guān)斷A/D。當(dāng)LTC2411I接收到單片機(jī)傳來的時鐘信號SCK時,就將轉(zhuǎn)化好的數(shù)據(jù)通過SPI口傳入單片機(jī)。LTC2411I輸出為32位數(shù)據(jù),位31在第一個時鐘信號的上升沿傳出,位30在第一個時鐘信號的下降沿傳出,這里由于A/D轉(zhuǎn)換時間為160 ms,速率比較低,因此從單片機(jī)傳來的時鐘必須比較小,SPI才能接收到數(shù)據(jù),這里對振蕩器頻率fosc進(jìn)行128分頻,從而能正確接收A/D出來的電壓值。
系統(tǒng)采用帶有I2C總線接口的PCF8583作為時鐘控制芯片,該芯片具有極低的功耗,同時它還有256字節(jié)的靜態(tài)RAM,在系統(tǒng)中起到了很大的作用。RAM的前16個字節(jié)為可尋址的專用功能寄存器,用來設(shè)定系統(tǒng)時間等,后240個字節(jié)為自由空間,可用來存放數(shù)據(jù)及其他標(biāo)志位或采樣間隔等常數(shù)。單片機(jī)通過I2C總線與PCF8583相連,從而將系統(tǒng)時間,采樣間隔以及一些標(biāo)志位寫入相應(yīng)寄存器中。

圖3 PCF8583時鐘控制模塊
PCF8583時鐘控制部分硬件連接圖如圖3所示。
電池通過一個小開關(guān)給整個系統(tǒng)供電,PCF8583作為日歷時鐘可自動計時。單片機(jī)通過I2C總線給PCF8583設(shè)定一個固定時間,即采樣間隔,當(dāng)PCF8583定時器計數(shù)溢出時,產(chǎn)生定時器溢出中斷,即7腳輸出低電平,打開所連的開關(guān)電路,開關(guān)電路連接的為LTC1844的/SHDN腳,開關(guān)電路打開使/SHDN腳為高電平,LTC1844開始工作,從而給整個系統(tǒng)供電;當(dāng)再次給PCF8583設(shè)定定時時間時,7腳出高電平,開關(guān)電路關(guān)斷,/SHDN腳為低電平,LTC1844關(guān)斷,即整個系統(tǒng)不工作,從而實(shí)現(xiàn)了系統(tǒng)的間歇工作。
系統(tǒng)采用Atmel公司生產(chǎn)的AT45DB321D存儲芯片作為數(shù)據(jù)存儲器,它具有32兆位的容量,它的主存儲器有8192頁,每頁有528個字節(jié),另外它具有2個數(shù)據(jù)緩沖區(qū),每個緩沖區(qū)有528個字節(jié),該存儲芯片有十分靈活的擦寫功能,因此能很好的實(shí)現(xiàn)大容量存儲,為長時間測量提供了很大的數(shù)據(jù)存儲空間,同時它低功率損耗的特性也十分適合在低功耗系統(tǒng)中使用。這里單片機(jī)通過SPI將數(shù)據(jù)存入存儲器,當(dāng)A/D采樣結(jié)束后,單片機(jī)通過片選斷開A/D,選中存儲器,然后將數(shù)據(jù)傳入存儲器。
在數(shù)據(jù)存儲時,由于主存只能定位于某一頁并不能定位一頁上的具體某一字節(jié),因此,系統(tǒng)間歇工作時無法實(shí)現(xiàn)連續(xù)存儲。對此,我們充分利用PCF8583的240字節(jié)的靜態(tài)RAM,將計算的電阻值先存入PCF8583的RAM中,存滿168個字節(jié)后轉(zhuǎn)入AT45DB321D的主存中,這樣,3次就存了504個字節(jié),加上系統(tǒng)時間,采樣間隔等固定常數(shù)24個字節(jié),為528個字節(jié)(一頁),這樣就可實(shí)現(xiàn)數(shù)據(jù)的整頁存儲了。
系統(tǒng)軟件主要實(shí)現(xiàn)系統(tǒng)設(shè)置,A/D的采集,電阻值的計算,數(shù)據(jù)存儲以及定時供電的功能,主程序流程圖如圖4所示。

圖4 主程序流程
測溫系統(tǒng)在恒溫槽中進(jìn)行標(biāo)定,恒溫槽的溫度精度是0.005℃,經(jīng)過2次測量標(biāo)定當(dāng)恒溫槽溫度從50℃變化到-2℃時,測得0℃,5℃,15℃,25℃,35℃這5個點(diǎn)的熱敏電阻值分別如表1和表2所示。

表1 所測熱敏電阻值

表2 所測熱敏電阻值
由電阻值求溫度的公式為:

由表1數(shù)據(jù)擬合得出系數(shù)A,B,C,D分別為:

根據(jù)這些系數(shù)以及表2所測得的熱敏電阻值,計算表2各熱敏電阻值所對應(yīng)的溫度以及該溫度與測量所得的溫度之間的誤差,如表3所示。

表3 所測溫度值與誤差
通過以上數(shù)據(jù)分析可得所測溫度誤差均在0.01℃之內(nèi),因此本測溫系統(tǒng)達(dá)到了高精度的測溫要求。
本文采用模塊化的方法介紹了橋式測溫系統(tǒng)的設(shè)計方案及工作原理,其性能可靠,功耗小,存儲容量大,并且具有很高的精度,因此具有廣泛的應(yīng)用前景。
[1]楊正忠,耿德根.AVR單片機(jī)應(yīng)用開發(fā)指南及實(shí)例精解[M].北京:中國電力出版社,2008:123-278.
[2]康華光.電子技術(shù)基礎(chǔ)模擬部分[M].北京:高等教育出版社,1999.
[3]馬潮.高檔8位單片機(jī)ATmega128原理與開發(fā)應(yīng)用指南(上)[M].北京:北京航天航空大學(xué)出版社,2004.
[4]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)(第四版)[M].北京:高等教育出版社,2006.
[5]席德勛.現(xiàn)代電子技術(shù)[M].北京:高等教育出版社,1997.
Design of Low Power and High-precision Bridge Temperature Measurement System Based on ATmega16A
SHEN Dan-feng1,LAI Rui-jun1,KONG Ying-hui1,TIAN Chuan2
(1.Department of Electronics and Communication Engineering,North China Electric Power University,Baoding Hebei 071003,China;2.National Ocean Technology Center,Tianjin 300112,China)
At present,temperature measurement is used widely to meet the low power and high-precision requirements of the industrial,agricultural and scientific research fields.The design of a bridge temperature measurement system and its working was described.A low-power AVR microcontroller was used as the control chip,which input the voltage signal to the A/D converter chip by the partial pressure arm,then input the digital signal of the A/D converter to SCM to get the thermal resistance.Finally,the temperature values were calculated by curve fitting.It can realize low power consumption,high precision temperature measurement.
low power consumption;high-precision;temperature measurement
TP342.3
B
1003-2029(2012)01-0058-04
2011-06-07
沈丹鳳(1988-),女,碩士研究生,主要研究方向為互聯(lián)網(wǎng)技術(shù)。