基于51單片機的便攜遠程多路數(shù)據(jù)采集系統(tǒng)
2.3 主要的抗干擾措施
對MAX354的輸入端采用隔離放大器進行信號隔離,采用隔離放大器的變壓器將信號磁耦合 ,隔離了通路的線路連接,從而切斷了干擾源。這樣對壓裂設(shè)備上發(fā)動機的干擾有了一定效果的屏蔽作用。
同時,為了防止單片機受干擾影響而發(fā)生“死機”等現(xiàn)象,系統(tǒng)還利用MAX706芯片設(shè)計了“看門狗”電路,提高了系統(tǒng)的抗干擾能力,如圖-3。 MAX706是一種性能優(yōu)良的低功耗CMOS監(jiān)控電路芯片,其內(nèi)部電路由上電復位、可重觸發(fā)“看門狗”定時器及電壓比較器等組成。MAX706只要在 1.6秒時間內(nèi)檢測到WCI引腳有高低電平跳變信號,則“看門狗”定時器清零并重新開始計時;若超出1.6秒后,WCI引腳仍無高低電平跳變信號,則“看門狗”定時器溢出,WDO引腳輸出低電平,進而觸發(fā)MR手動復位引腳,使MAC706復位,從而使“看門狗”定時器清零并重新開始計時,WDO引腳輸出高電平,MAX706的RST復位輸出引腳輸出大約200毫秒寬度的低電平脈沖,使單片機控制系統(tǒng)可靠復位,重新投入正常運行。MAX706的控制只需要利用單片機的P1.5引腳通過簡單編程實現(xiàn)。
3 系統(tǒng)軟件設(shè)計
軟件設(shè)計包括兩方面:筆記本電腦的主機程序和單片機數(shù)據(jù)采集和發(fā)送的固件程序。其中,主機程序的編寫可以利用VB語言編寫,串口通信是通過 Microsoft Visual Basic的通信編程控件MSComm實現(xiàn)的。在讀取完串口數(shù)據(jù)后,需要將每通道10次采集的數(shù)據(jù)進行數(shù)學平均計算,這樣可以在一定程度上減小干擾數(shù)據(jù)的影響。
89C52的串行通訊采用工作方式1,波特率是9600bit/s,發(fā)送數(shù)據(jù)采用定時查詢方式,可以根據(jù)需要適當調(diào)節(jié)發(fā)送數(shù)據(jù)的時間,定時周期性地讀取存儲的采樣數(shù)據(jù),以串行方式通過RS-485接口發(fā)送到上位機。程序采用可讀性較強的C51語言編寫,程序流程圖見固件流程圖-4。在編寫89C52 的程序時,需要對采樣數(shù)據(jù)進行處理。由于采集的油溫、油壓、井口壓力等數(shù)據(jù)與信號電壓是線性關(guān)系,通過給定標準信號電壓測量一個最大值和一個最小值,就能得出各種數(shù)據(jù)的信號電壓與測量數(shù)據(jù)之間的比例關(guān)系。數(shù)據(jù)處理程序是根據(jù)線性比例關(guān)系,先將A/D轉(zhuǎn)換器AD574 采集到的12位二進制數(shù)據(jù)轉(zhuǎn)換成實際測量值,并將此值按照ANSI/IEEE標準754-1985轉(zhuǎn)換成32位浮點數(shù),保存在設(shè)定的存儲區(qū),總共有8組數(shù)據(jù),需要32字節(jié)的空間來存儲采樣數(shù)據(jù)。
一個標準浮點數(shù)占用一個雙字(32位)。最高位(第31位)位浮點數(shù)的符號位,最高位為“0”是為正數(shù),位“1”時為負數(shù);8位指數(shù)占23-30 位;因為規(guī)定尾數(shù)的正數(shù)部分總是為“1”,只保留的尾數(shù)的小數(shù)部分(0~22位)。浮點數(shù)的優(yōu)點是利用很小的存儲空間(4B)可以表示出精確度很高的非常大和非常小的數(shù),在進行數(shù)據(jù)處理和運算時提高了精確度。
圖-4 單片機固件主程序流程圖
4 結(jié)束語
該套數(shù)據(jù)采集系統(tǒng)在油田壓裂設(shè)備上成功運用。實踐證明,與傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)相比,該采集系統(tǒng)不僅輕便易攜帶,能有效防止現(xiàn)場環(huán)境的干擾,而且利用 RS-485總線進行遠程數(shù)據(jù)采集,將油井壓裂作業(yè)過程中的壓裂車的油溫、油壓、井口壓力、泥漿密度,以及其它數(shù)據(jù)保存到筆記本電腦上,增強了數(shù)據(jù)的實時處理能力,工程技術(shù)人員能夠及時分析數(shù)據(jù)結(jié)果,減少了在油井壓裂作業(yè)過程中的事故率
評論