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