地下水動(dòng)態(tài)水位信號采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
3.1 工作過程簡述
在設(shè)備開啟后,單片機(jī)會(huì)執(zhí)行各功能模塊的初始化程序,之后從時(shí)鐘日歷芯片中讀取當(dāng)前的日期和時(shí)間,之后判斷此時(shí)刻是否超過設(shè)定的測量時(shí)刻,如果超過測量時(shí)刻則進(jìn)入測量狀態(tài),此時(shí)單片機(jī)會(huì)開啟對測量電路的供電,延時(shí)等待傳感器穩(wěn)定后,會(huì)連續(xù)采集100次數(shù)據(jù)存入RAM中。采集后測量電路供電將關(guān)閉,經(jīng)過中值濾波法求得最終保留的數(shù)據(jù),再將數(shù)據(jù)保存到單片機(jī)片上的EEPROM中。當(dāng)程序判斷當(dāng)前時(shí)間超過了上傳的時(shí)刻,則會(huì)開啟GSM模塊,等待GSM模塊入網(wǎng)后先接收供電然后將要發(fā)送的數(shù)據(jù)按照AT指令打包,并以短信的形式發(fā)給目的設(shè)備。如果數(shù)據(jù)發(fā)送超時(shí),單片機(jī)將會(huì)把滯留的數(shù)據(jù)包存放在單片機(jī)內(nèi)部的EEPROM中等待下一次上傳。最后關(guān)閉GSM模塊又回到循環(huán)時(shí)間的查詢狀態(tài)。
數(shù)據(jù)采集頻率為1日2次,在測量時(shí)刻到來時(shí),CPU啟用升壓電路為壓力傳感器和信號調(diào)理電路供電,啟動(dòng)A/D轉(zhuǎn)換器供電,采集壓力傳感器數(shù)據(jù)和電池電壓數(shù)據(jù)后,關(guān)閉供電電路,進(jìn)行數(shù)據(jù)處理,測量結(jié)果保存在單片機(jī)內(nèi)部的EEPROM中。可通過命令修改數(shù)據(jù)上傳時(shí)間。為了節(jié)省數(shù)據(jù)總線上的功耗,時(shí)間讀取不是實(shí)時(shí)的,用定時(shí)器中斷服務(wù)程序進(jìn)行讀取,每分鐘讀取1次。上傳的數(shù)據(jù)總是前一天測得的數(shù)據(jù)。
在程序運(yùn)行的整個(gè)過程單片機(jī)內(nèi)部的看門狗計(jì)數(shù)器被一直啟用,用于監(jiān)視采集器的正常工作,如果死機(jī)或程序執(zhí)行混亂,看門狗定時(shí)器會(huì)使單片機(jī)復(fù)位。
3.2程序流程圖
程序流程圖如圖2所示本文引用地址:http://cafeforensic.com/article/188569.htm
3.3 協(xié)議設(shè)計(jì)
AT指令集是 ETSI (歐洲通信技術(shù)委員會(huì) ) 發(fā)布的一種移動(dòng)平臺(tái)與設(shè)備終端的通用接口指令 , 其中包含對SMS的控制[7]。采集器向上位機(jī)系統(tǒng)傳輸數(shù)據(jù)的內(nèi)容包括功能碼、日期時(shí)間和采集到的數(shù)據(jù)。每一字節(jié)數(shù)據(jù)為ASCII碼形式。協(xié)議包括2個(gè)部分:
(1)采集器上傳報(bào)文的格式(除去AT指令):DT(數(shù)據(jù)說明)_上傳時(shí)間_測量日期_時(shí)間1_水深(單位:m)_時(shí)間2_水深(單位:m)#(結(jié)束),以一個(gè)數(shù)據(jù)示例的文本形式為:DT_2008/11/09/16:00_2008/11/08_02:00_23.40_14:00_23.10_16:00#。此數(shù)據(jù)的內(nèi)容是上傳時(shí)間為2008年11月9日16:00,2008年11月8日,2:00時(shí)水深23.40m14:00時(shí),水深23.10m。
(2)上位機(jī)系統(tǒng)對采集器發(fā)送命令的報(bào)文的格式(除去AT指令) :ST(設(shè)置說明)_設(shè)置日期及時(shí)間_時(shí)間1_水深(單位:m)_時(shí)間2_水深(單位:m)_上傳時(shí)間#(結(jié)束),以文本的形式表示則為:ST_2008/11/08/09:00_05:00_20:00_14:00#。此數(shù)據(jù)的內(nèi)容是時(shí)間設(shè)置為2008年11月8日9點(diǎn),2次采集時(shí)間設(shè)置為5:00和20:00,上傳時(shí)間設(shè)為14:00。
在發(fā)送這條短信后采集器下一次發(fā)送短信的目的地址自動(dòng)調(diào)整為該地址。
4實(shí)際測試
4.1數(shù)據(jù)傳輸
在數(shù)據(jù)傳輸?shù)臏y試中調(diào)整程序,使每隔半小時(shí)就上傳一次數(shù)據(jù),中途隨機(jī)發(fā)送對采集器設(shè)置的信息,設(shè)置的上傳時(shí)間忽略不計(jì),表1所列是接收450個(gè)短信息中的一部分。
表中,346和347號數(shù)據(jù)表明在2008/11/09/14:00時(shí)GSM模塊發(fā)生了入網(wǎng)超時(shí),信息發(fā)送不成功,在14:30時(shí)原先發(fā)送失敗的數(shù)據(jù)被重新成功發(fā)送。
在450個(gè)數(shù)據(jù)傳輸測試的過程中出現(xiàn)入網(wǎng)超時(shí)率為0.67%,數(shù)據(jù)丟失率為0。進(jìn)行過50次設(shè)置,設(shè)置失敗率為8%,但是后期延長超時(shí)時(shí)間后,測試100次,設(shè)置失敗率降為2%。
4.2能耗測試
(1)靜態(tài)等候:單片機(jī)工作在32.768 kHz時(shí)鐘下電流消耗小于20μA,測量電路和GPRS模塊處于斷電狀態(tài),供電推挽輸出為低電平時(shí)MOS管的漏電流小于10μA,時(shí)鐘日歷芯片獨(dú)立供電基本可以連續(xù)工作8年以上,將不計(jì)入功耗分析。每天24h運(yùn)行,一天的能耗共計(jì)720 μAh。
(2)測量: LT1613消耗1 mA的自身工作電流,傳感器工作時(shí)消耗的電流為10 mA(12V),實(shí)測5 V供電時(shí)從電池組吸取25 mA的電流,電壓基準(zhǔn)源消耗1 mA,A/D轉(zhuǎn)換器工作時(shí)消耗3 mA。測量的整個(gè)過程小于300 ms,每次測量共計(jì)消耗2.4 μAh的電能。
(3)數(shù)據(jù)上傳:GSM模塊在發(fā)送數(shù)據(jù)時(shí)電流為500 mA,接收數(shù)據(jù)時(shí)為20 mA,靜態(tài)時(shí)為2.5 mA, GSM模塊獨(dú)立測試過程中,一次數(shù)據(jù)上傳過程小于20 s,大約需要消耗200 μAh的電能。
綜上所述,一天測量2次上傳1次的工作過程共消耗0.925 mAh的電能。如果用電量為800 mAh的堿性電池可連續(xù)工作800天以上。但是由于電池保質(zhì)期和電池本身的自放電,再加上電量低水平時(shí)的內(nèi)阻,可以保證至少一年正常工作。
此采集終端靜全天正常工作的耗電量為0.925 μAh,采用4節(jié)AA型堿性電池可維持一年以上連續(xù)正常工作,測量誤差小于0.16%,與上位機(jī)系統(tǒng)通信協(xié)議接口簡單、可靠性高。能夠較好地滿足地下水動(dòng)態(tài)監(jiān)測系統(tǒng)的下位機(jī)系統(tǒng)的需要。
評論