一種基于ADμC816的自動(dòng)氣象站
摘要 本文介紹了一種新型的MCU ADμC816,該芯片內(nèi)含具16位的ADC。以ADμC816為核心,研制了一種自動(dòng)氣象站。該自動(dòng)站能檢測氣壓、氣溫、風(fēng)向、風(fēng)速、濕度、降雨6個(gè)氣象要素,并具有存儲(chǔ)、GPRS通訊等功能。
關(guān)鍵詞 ADμC816、自動(dòng)氣象站、GPRS
An automatic weather station base on ADμC816
YANG Lei DAN Yong-ping
Abstract:The new MCU ADμC816 was introduced in this paper, It contains the 16 bit ADC unite inside, The automatic weather station is developed base on ADμC816, It can measure six sensor signals, Air pressure, air temperature, direction of wind, wind velocity, humidity, and rainfall . Furthermore it has the function of storage, communication base on GPRS etc.
Keywords:ADμC816, automatic weather station GPRS
1 自動(dòng)氣象站的功能要求
隨著社會(huì)和科技的發(fā)展,氣象部門提出了氣象要素采集自動(dòng)化、網(wǎng)絡(luò)化的要求,為此我們與河南省氣象局聯(lián)合研制了自動(dòng)氣象站。該氣象站要求自動(dòng)采集氣壓、氣溫、風(fēng)向、風(fēng)速、濕度、降雨6個(gè)要素,具有存儲(chǔ)和通訊功能,具有實(shí)時(shí)時(shí)鐘,各要素的測量要求:
1 氣壓 測量范圍:500-1100 hPa,采集的分辨率:0.1hPa,準(zhǔn)確度:±0.3hPa,采集速率:6次/分鐘(一分鐘共取6個(gè)樣本值,取中間大小的4個(gè)值的等權(quán)算術(shù)平均值)。
2 氣溫 測量范圍:-50 - +50℃,分辨率:±0.1℃,準(zhǔn)確度:±0.2℃,采集速率:6次/分鐘。
3 濕度 測量范圍:0%-100%,分辨率:1%,準(zhǔn)確度:(±4%,濕度≤80%;±8%,濕度>80%),采集速率:6次/分鐘。
4 風(fēng)向 測量范圍:0-360º, 分辨率:3º,準(zhǔn)確度:±10º,采集速率:60次/分鐘。
5 風(fēng)速 測量范圍:0-60m/s,分辨率:0.1m/s,準(zhǔn)確度:±(0.5+0.03V)m/s,采集速率:60次/分鐘。
6 降雨 雨量范圍:0-999mm,雨強(qiáng)范圍:0-4.0mm/分, 分辨率:0.1mm,準(zhǔn)確度:(降雨量每分鐘≤10.0mm,
為±0.5mm,強(qiáng)降雨,即降雨量每分鐘>10.0mm時(shí)為±5%,)[1]。
2 ADμC816功能簡介
2.1 ADμC816簡介 ADμC816是美國ADI公司出品的單片機(jī),它是目前最強(qiáng)功能的單片機(jī)之一。該芯片的內(nèi)核是加強(qiáng)型8051MCU,并增加了用戶想要的WDT看門狗、I2C總線、模擬量處理、上電復(fù)位檢測、欠壓復(fù)位檢測、FLASH存儲(chǔ)器等功能,而且溫度范圍達(dá)到了工業(yè)級(jí)標(biāo)準(zhǔn)并有良好的電磁兼容特性[2]。ADμC816的模擬處理功能及存儲(chǔ)器等豐富的資源使其在數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表中得到廣泛的應(yīng)用。
2.2 ADμC816的ADC ADμC816有兩路完全獨(dú)立的Σ-△ADC通道,并有片內(nèi)數(shù)字濾波,輸出速率可調(diào)。主通道具有緩沖能力,并可以編程為8個(gè)輸入范圍,電壓從正負(fù)20mV到2.56V,輸入可以選擇3個(gè)差分輸入之一(AIN1-AIN2、AIN3-AIN4、AIN2-AIN3);輔助通道不具備緩沖能力,固定輸入為0—2.5V,輸入可以選擇4個(gè)單端輸入之一(AIN3、AIN4、AIN5或內(nèi)部溫度傳感器信號(hào))。同時(shí)ADμC816有1個(gè)12位電壓輸出DAC。
2.3 存儲(chǔ)器 8KB片內(nèi)FLASH/EEPROM程序存儲(chǔ)器;640B片內(nèi)FLASH/EEPROM數(shù)據(jù)存儲(chǔ)器;256B片內(nèi)數(shù)據(jù)RAM;16MB外部數(shù)據(jù)地址空間;64KB外部程序地址空間。
3 電路組成及工作原理
電路組成如圖1所示:
3.1 最小系統(tǒng)
系統(tǒng)采用ADμC816單片機(jī),片內(nèi)有上電復(fù)位檢測、欠壓復(fù)位檢測和WDT看門狗,構(gòu)成了完備的復(fù)位電路,不需要外接電路。8KB片內(nèi)FLASH/EEPROM程序存儲(chǔ)器作為系統(tǒng)的程序存儲(chǔ)器。利用P0口、P2口以及ALE、/RD、/WR信號(hào)擴(kuò)展了1M字節(jié)的SRAM。利用ADμC816的SCL、SDA信號(hào)與實(shí)時(shí)時(shí)鐘芯片SD2003相連,完成實(shí)時(shí)時(shí)鐘功能。利用ADμC816的RXD、TXD、P1.0、P1.1信號(hào),經(jīng)電平轉(zhuǎn)換芯片MAX232形成了RS232接口,該接口有RXD、TXD、CTS、RTS信號(hào),可和GPRS模塊或是PC機(jī)進(jìn)行通信。
除了系統(tǒng)具備可充電鉛酸蓄電池外,外部SRAM和時(shí)鐘芯片SD2003還具有可充電鋰電池做后備電源。
3.2 氣壓、風(fēng)向預(yù)處理電路
氣壓傳感器采用諧振筒式傳感器,該傳感器的輸出為周期(頻率)與氣壓相關(guān)的TTL電平的矩形波信號(hào)(下稱氣壓原始信號(hào))和一個(gè)與工作溫度呈線性關(guān)系的0-5V的模擬電壓信號(hào)。氣壓原始信號(hào)的處理需要8個(gè)I/O信號(hào),風(fēng)向傳感器輸出為7位格雷碼。由于ADμC816的I/O口數(shù)量有限,增加了基于AT89C52的預(yù)處理電路。預(yù)處理電路如圖2所示,上述15個(gè)信號(hào)分別接在AT89C52的P1、P2口和T0端,通過P3.6、P3.7與ADμC816連接,將預(yù)處理后的信號(hào)傳送至ADμC816。
3.3 信號(hào)采集電路
氣壓測量:將氣壓原始信號(hào)接在預(yù)處理電路中,實(shí)現(xiàn)頻率測量,將氣壓傳感器輸出的溫度信號(hào)接在ADμC816的AIN5引腳,對(duì)該溫度進(jìn)行測量,實(shí)現(xiàn)溫度補(bǔ)償。
氣溫測量:氣溫傳感器采用VISLA的PT100鉑電阻,精密電流源將電阻變?yōu)殡妷盒盘?hào),接在ADμC816的AIN1、AIN2引腳,實(shí)現(xiàn)對(duì)氣溫的測量。
濕度測量:采用VISLA的濕度傳感器,該傳感器輸出為0-1V的電壓信號(hào),接在ADμC816的AIN1、AIN2引腳,實(shí)現(xiàn)對(duì)濕度的測量。由于AD轉(zhuǎn)換為16位,完全滿足濕度測量的要求。
雨量測量:采用翻斗式雨量傳感器,其輸出是一對(duì)節(jié)點(diǎn),可以將降雨量轉(zhuǎn)換為脈沖個(gè)數(shù)。該信號(hào)經(jīng)整形后接在ADμC816的INT1端,準(zhǔn)確實(shí)現(xiàn)對(duì)降雨的測量。
風(fēng)速測量:風(fēng)速信號(hào)為一個(gè)脈沖信號(hào),其頻率與風(fēng)速成正比,將該信號(hào)接到定時(shí)計(jì)數(shù)器1的外部輸入端T1,通過單位時(shí)間內(nèi)(由定時(shí)計(jì)數(shù)器0完成準(zhǔn)確定時(shí))計(jì)數(shù)器的值,即可完成風(fēng)速測量。定時(shí)計(jì)數(shù)器1工作于是16位計(jì)數(shù)方式,完全滿足準(zhǔn)確度的要求。
風(fēng)向測量:將風(fēng)向的7位格雷碼接到預(yù)處理電路中,實(shí)現(xiàn)風(fēng)向測量,測量誤差為360/128=2.8125,滿足性能要求。
4 高精度測量的實(shí)現(xiàn)
4.1 氣壓信號(hào)的準(zhǔn)確測量
4.1.1 信號(hào)的非線性問題。氣壓傳感器使用了太原某儀表公司提供的GDJ-5壓電激勵(lì)諧振筒式壓力傳感器。該傳感器的輸出為:周期(頻率)與氣壓相關(guān)的TTL電平的矩形波信號(hào)(原始信號(hào))和一個(gè)與環(huán)境溫度呈線性關(guān)系的0-5V的模擬電壓信號(hào)。在傳感器出廠前,廠家對(duì)該傳感器進(jìn)行了標(biāo)定,分別列出了-30℃、-20℃、-10℃、0℃、10℃、20℃、30℃、40℃、50℃情況下,不同氣壓下(450、500、550、600、650、700、750、800、850、900、950、1000、1070 hPa)對(duì)應(yīng)的周期(單位是 )的數(shù)值。從數(shù)值上看,周期以及頻率與氣壓呈非線性關(guān)系,且存在對(duì)溫度的交叉靈敏度。如圖3說明了溫度為0℃時(shí)周期、頻率與氣壓值的關(guān)系,圖4說明了在750 hPa時(shí),周期、頻率與溫度的關(guān)系。(圖3左圖中橫坐標(biāo)表示氣壓450-1070hPa,縱坐標(biāo)是周期(單位是 )。右圖中橫坐標(biāo)表示氣壓450-1070hPa,縱坐標(biāo)是頻率。圖4左圖中橫坐標(biāo)表示溫度-30℃-50℃,縱坐標(biāo)是周期。右圖中橫坐標(biāo)表示溫度-30℃-50℃,縱坐標(biāo)是頻率)。
如果不對(duì)其非線性關(guān)系做校正處理而認(rèn)為是線性關(guān)系,則測量的氣壓值的誤差將超過10hPa,超出了國家規(guī)定的測量誤差范圍。
4.1.2 氣壓信號(hào)采集 通過數(shù)據(jù)分析,欲使系統(tǒng)分辨率達(dá)0.1hPa,應(yīng)按照周期及頻率對(duì)氣壓的最低靈敏度處來確定周期及頻率測量的分辨率。這就要求周期測量分辨率為0.0026362 ,頻率測量的分辨率為0.068645Hz。系統(tǒng)對(duì)溫度的分辨率,應(yīng)根據(jù)周期C或(頻率f)對(duì)溫度的最高交叉靈敏度來決定,需要對(duì)溫度電壓的分辨率為43 mV。
對(duì)于信號(hào)周期(頻率)的測量,經(jīng)常用兩種實(shí)現(xiàn)方法:(1)用直接測量信號(hào)的周期。單片機(jī)的機(jī)器周期 數(shù)量級(jí),如果直接用單片機(jī)的定時(shí)計(jì)數(shù)器,不能滿足0.0026362 分辨率的要求。(2)直接測量信號(hào)的頻率。將信號(hào)作為單片機(jī)定時(shí)計(jì)數(shù)器的外部脈沖信號(hào),在給定時(shí)間內(nèi)對(duì)外部信號(hào)進(jìn)行計(jì)數(shù)。若滿足0.068645Hz分辨率的要求,定時(shí)時(shí)間要超過15秒。按照這種方法,不能達(dá)到國家氣象局規(guī)定的氣壓采集速率:6次/分鐘。
在系統(tǒng)的預(yù)處理電路中(如圖2所示),對(duì)原始?xì)鈮盒盘?hào)128分頻后作為門控信號(hào),在信號(hào)高電平時(shí)對(duì)12MHz信號(hào)進(jìn)行計(jì)數(shù),計(jì)數(shù)值為N,則高電平時(shí)計(jì)數(shù)值為64個(gè)原始?xì)鈮盒盘?hào)的周期和:
64C=N/12
其中C為測量的原始信號(hào)的周期,C=N/768 =N×0.0013 ,這種間接的測量方法測量的分辨率為0.0013 ,氣壓原始信號(hào)脈寬為200 ,這樣一次的測量時(shí)間為:128*200 ,約為26ms, 滿足6次/分鐘的要求。
對(duì)于溫度測量,將溫度信號(hào)進(jìn)行分壓,接到ADμC816的模擬輸入端進(jìn)行16位的AD轉(zhuǎn)換,其電壓的分辨率為5000 mV/65535=0.076 mV,滿足43 mV的要求。
4. 1。3 氣壓的測量 用曲線擬合法,測量出氣壓:
= ( a0+ a1×T+ a2×T 2)+( b0+ b1×T+ b2×T 2) ×f +( c0+ c1×T+ c2×T 2) ×f2+( d0+ d1×T+ d2×T 2) ×f3+( e0+ e1×T+ e2×T 2) ×f4
其中各系數(shù)在PC計(jì)算機(jī)上通過回歸解析式得到,得到的各系數(shù)通過串行接口下載至自動(dòng)氣象站。
通過標(biāo)定數(shù)據(jù),用曲線擬合法(擬合至f2項(xiàng))時(shí)的結(jié)果如圖5所示,從曲線上看,擬合誤差在各溫度各個(gè)氣壓下其誤差均小于0.3hPa,滿足了測量要求。在程序設(shè)計(jì)中,按4次項(xiàng)(到f4)來擬合,PC計(jì)算機(jī)計(jì)算參數(shù)時(shí)對(duì)于沒有必要的高次項(xiàng),令其系數(shù)為0。
4.2 氣溫信號(hào)的準(zhǔn)確測量
在小范圍、測量精度要求不高的場合,一般都將熱電阻傳感器看作線性傳感器,在該自動(dòng)站中,溫度范圍較大(-50℃到+50℃),要求測量精確,0.1℃,以0℃作為基點(diǎn)溫度,r0=100歐,在溫度t時(shí)的電阻表達(dá)式為:
Rt = R0 (1+ at + bt2 )
需要對(duì)該器件作非線性校正。用曲線擬合法[3],通過標(biāo)定數(shù)據(jù),PC計(jì)算機(jī)完成參數(shù)a,b的計(jì)算后,下載至自動(dòng)氣象站。通過軟件計(jì)算可得出準(zhǔn)確的溫度值。
5 自動(dòng)氣象站的技術(shù)特點(diǎn)
該自動(dòng)氣象站有如下特點(diǎn):
1.選擇了高性能的ADμC816單片機(jī),內(nèi)部集成了各種功能部件,簡化了系統(tǒng)電路的設(shè)計(jì)。16位的AD轉(zhuǎn)換器完成了各種模擬信號(hào)的高精度采集。在進(jìn)行參數(shù)標(biāo)定時(shí),PC計(jì)算機(jī)與自動(dòng)站通訊,PC計(jì)算機(jī)將各種標(biāo)定參數(shù)下載至自動(dòng)氣象站,存儲(chǔ)在ADμC816內(nèi)部E2PROM中,避免了電位器等器件的使用,調(diào)整方便、性能可靠。
2.自動(dòng)站的可通過GPRS模塊和氣象中心實(shí)現(xiàn)遠(yuǎn)距離的無線傳輸。也可和PC機(jī)通過串口進(jìn)行通信。
該自動(dòng)站研制成功后,經(jīng)過試運(yùn)行表明氣象信息采集準(zhǔn)確,通信可靠。現(xiàn)正在氣象部門推廣使用。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。