基于A(yíng)Tmega16的多路水文參數采集及無(wú)線(xiàn)傳輸系統
引言
本文引用地址:http://dyxdggzs.com/article/90451.htm為適應防汛和水利調度的現代化、信息化要求,水文監測系統的建設進(jìn)入了數字化、網(wǎng)絡(luò )化階段。在許多重點(diǎn)水域(重點(diǎn)河流、湖泊、水庫、水利工程等),往往需要監測多個(gè)水文數據才能滿(mǎn)足實(shí)際需求,包括流速、水位、水質(zhì)、流量、溫度、降水量等。這就為多路數據采集提出了應用需求。另外,大壩上下、河流交匯處、汛情多發(fā)地段、引水隧洞等不同地段水文參數往往也各不相同,這就需要進(jìn)行多點(diǎn)組網(wǎng)實(shí)時(shí)數據采集和傳輸。為此設計了一套數據采集和無(wú)線(xiàn)傳輸系統。
系統總體設計
該系統由若干個(gè)監測點(diǎn)組成無(wú)線(xiàn)監測網(wǎng)絡(luò ),如圖1a所示。監控中心向各監測點(diǎn)發(fā)出的各項指令由無(wú)線(xiàn)電臺發(fā)送出去,各監測點(diǎn)在接收到指令后先進(jìn)行身份識別,當確認本身被選中時(shí)便開(kāi)始執行相應的指令,在執行完指令后,通過(guò)無(wú)線(xiàn)電臺把采集到的數據返回監控中心。其他沒(méi)被選中的監測點(diǎn)則處于監聽(tīng)狀態(tài)。圖1b為各監測點(diǎn)的原理框圖。各監測點(diǎn)子系統由3路傳感器(水位、雨量、流量)、ATmega16單片機、RS-485接口電路和無(wú)線(xiàn)數傳電臺組成。3路傳感器輸出的信號經(jīng)信號調理電路送入ATmega16單片機,它利用內部自帶的A/D轉換器采集3路傳感器的數據,將其經(jīng)由RS-485接口電路傳送給無(wú)線(xiàn)數傳電臺。
系統硬件實(shí)現
ATmega16單片機主要特征及片內A/D轉換器
ATmega16單片機芯片內集成了較大容量的非易失性程序和數據存儲器以及工作存儲器;豐富強大的外部接口性能;特殊的微控制處理器性能。其主要優(yōu)點(diǎn)是芯片本身自帶看門(mén)狗電路,片內程序Flash及8通道復用的10位A/D轉換器;通用I/O接口具有很強的驅動(dòng)能力,可省去部分驅動(dòng)電路,節約了系統成本;附帶同步和異步串行接收和轉發(fā)器(USART),可以實(shí)現與PC機和無(wú)線(xiàn)電臺的聯(lián)網(wǎng)通訊功能。ATmega16有一個(gè)10位的逐次比較的A/D轉換器,ADC與一個(gè)8通道的模擬多路復用器連接,能夠對以PORTA口作為ADC輸入引腳的8路單端電壓輸入進(jìn)行采樣。
多路數據采集的實(shí)現
A/D多路數據采集系統是本設計的關(guān)鍵之一,它主要由微處理器、A/D采集處理部分、參數設置、輸出單元和通訊接口等功能模塊組成。ADC包括樣保持電路,以確保輸入電壓在A(yíng)DC轉換過(guò)程中保持恒定。ADC功能單元有獨立的專(zhuān)用模擬電源引腳AVCC供電。AVCC和VCC的電壓差別不能大于0.3V。ADC轉換的參考電源可采用外部的參考電源,外部參考電源由引腳AREF接入,同時(shí)AREF引腳外部并接一個(gè)0.1μF的電容來(lái)提高ADC的抗噪性能。
采集的3路數據是0-15mA的電流信號,通過(guò)在輸出端加上匹配的負載電阻,可將電流值轉換為電壓值,電路連接如圖2所示。
放大后的模擬信號利用微處理器提供的內部ADC進(jìn)行模數轉換處理,并將10位轉換結果放在A(yíng)DC數據寄存器ADCH和ADCL中。在連續采樣模式下,ADC連續取樣,并不斷更新ADC數據寄存器。通過(guò)讀取ADC內的數據即可得到所要采集數值的二進(jìn)制值。
單片機與數傳電臺的通信
RS-232串口標準是低速率串行通訊中的單端標準。RS-232采取不平衡傳輸方式,即單端通訊,其收發(fā)端的數據信號都是相對于地信號的,所以共模抑制能力差,再加上雙絞線(xiàn)的分布電容,傳輸距離最大約為15米。由于本系統需要工作在室外,氣候環(huán)境相對惡劣,且需要長(cháng)距離傳輸,針對RS-232串口的局限性,所以系統采用具有極強的抗共模干擾能力的RS-485接口。單片機的RS-485接口電路原理圖如圖3所示,RS-485的A、B為總線(xiàn)接口,DI是發(fā)送端,RO是接收端,/RE、DE為RS-485收發(fā)使能端,由單片機的PD4口控制。
通信網(wǎng)絡(luò )
監控中心和若干監測點(diǎn)的數傳電臺聯(lián)網(wǎng)組成無(wú)線(xiàn)監控網(wǎng)絡(luò ),通過(guò)應答式通信協(xié)議可實(shí)時(shí)監測不同地域的水情。本系統采用GD230V-8電臺,該電臺的主要參數如下:(1)調制方式:MSK/FSK;(2)接收靈敏度:≤0.25μV;(3)輸出功率:8W ;(4)頻率范圍:220-240MHz;(5)信道速率:2400/1200bps(MSK方式),0-1200bps(FSK方式);(6)數據接口:異步傳輸,EIA-232/ EIA - 485 /TTL。
監控中心在向各監測點(diǎn)發(fā)出指令前先發(fā)送一組地址信息,各監測點(diǎn)收到地址信息后首先需要進(jìn)行身份,如果收到的地址信息與自身相符便給監控中心返回一應答信號,監控中心收到應答信號后即可發(fā)出各項指令,被選中的監測點(diǎn)便開(kāi)始執行相應的指令,并把數據傳回監控中心,從而實(shí)現多點(diǎn)聯(lián)網(wǎng)監測。
系統軟件設計
軟件編程也是實(shí)現該多路數據采集的關(guān)鍵之一,本文主要介紹數據采集部分。系統上電后執行初始化程序,復位各個(gè)端口。當處于監聽(tīng)狀態(tài)時(shí),各監測點(diǎn)數據采集模塊處于3路自動(dòng)巡回監測狀態(tài),系統開(kāi)始對0~3通道間隔1s時(shí)間采集一次電壓值;當接收到監控中心發(fā)送來(lái)的指令便選中相應的采集通道執行數據采集,調用數字濾波子程序進(jìn)行濾波得到精確的數值。再通過(guò)數據轉換和處理后送微處理器的數據存儲器,等待數傳電臺的讀取,其工作流程如圖4所示。
A/D采集子程序
結束語(yǔ)
ATmega16單片機本身帶有多路10位精度的逐次比較式A/D轉換器,在該多回路數據采集器系統中可以顯著(zhù)地降低成本。由于A(yíng)Tmega16的A/D轉換器轉換速度比較高,可以采取一些數字濾波算法來(lái)得到較為精確和穩定的轉換結果。利用C語(yǔ)言編程,使該多回路數據采集器系統的硬件設計變得簡(jiǎn)單,A/D采集處理編程也更為容易,大大縮短了開(kāi)發(fā)周期。該方案可應用在河道水文、湖泊水庫和沿海潮汛潮位等監測項目上,經(jīng)山西某水文站實(shí)際使用,結果表明:系統工作穩定可靠,具有建網(wǎng)費用低、建設周期短、維護量小等優(yōu)點(diǎn)。
評論