摘要:針對礦用壓力變送器采集值易受環境影響而產生異常值,設計了一種抗干擾能力強的軟件方案,介紹了軟件設計流程。把采集到的壓力信號轉換為電信號,通過A/D采樣電路,將采樣模擬信號通過選定的定斜率直線分段分割,再通過選定的中位值平均濾波算法進行軟件濾波優化,對采樣芯片采集到的A/D值進行換算處理,#后將這些值轉換為代碼字符串進行通信傳輸,此算法在實際應用中取得了良好的效果。
引言
礦用壓力變送器現場使用中需要安裝在不同口徑的管道上面,用不同的量程對管道里面的液體或氣體進行壓力的采集測試,在對壓力采集的過程中,三暢變送器會受到諸如電磁、環境溫度、腐蝕、振動、沖擊等因素的影響,從而使變送器采集值產生誤差,例如零點飄逸、滿刻度飄逸等,如何避免或降低這些誤差的產生,這個關鍵的問題,就需要用不同方式的濾波和嵌入式軟件程序在算法上進行處理,從而保證壓力變送器采集值的正確性。礦用壓力變送器抗干擾軟件設計,對3種軟件濾波算法進行了對比,通過對比采用了中位值平均濾波算法,并闡述和講解了軟件設計中的RS485通信協議規約和系統的通信流程。
1 壓力變送器A/D轉換
A/D轉換是通過一定的電路將采集到的模擬量信號轉變為數字量信號并進行存儲的一種電路轉換方式。A/D轉換技術是現實各種模擬信號通向數字shijie的橋梁,作為將模擬信號轉換成數字信號的A/D有積分、逐次逼近、并行等幾種方式可以采取。
本文所研究的壓力變送器A/D采樣轉換是通過分段的方式將一定范圍內的電壓值所對應的壓力值,按照線性關系,以212的計數方式對采樣的電壓0.5~4.5V信號進行分割分段處理,然后轉換為數字量,進而存儲在12位的寄存器中,等待CPU對數據的隨時調用。對電壓采樣信號的A/D值如何進行分割分段如圖1所示。
2 壓力變送器濾波處理
在壓力變送器進行A/D采樣轉換過程中,會受到外界不同脈沖信號對其采樣的干擾,即造成壓力采樣值出現不精que甚至計數錯誤。所以,對不正常的干擾信號進行濾波很有必要。信號濾波包括硬件濾波和軟件濾波2種方式。硬件濾波一般采用LC諧振電路或者RC網絡作為濾波器件,硬件濾波一般對異性波進行過濾,而對同頻率同幅值周期不一致的難以過濾去除,那么此時采用數字濾波就會很好地處理這種情況。
數字濾波就是通過一定的計算或判斷程序減少干擾信號在有用信號中的比重,因此它實際上是一個軟件程序濾波,常用的濾波方式有算術平均值濾波法、限幅濾波、中位值平均濾波法、低通濾波、高通濾波等,通過信號濾波以及軟件程序算法對采樣信號的處理,可以把正確的采樣值存儲在寄存器中,等待核心CPU對其調用。以下重點對3種濾波法進行詳細講述。
2.1 算術平均值濾波法
算術平均值濾波算法其流程為:采樣值進入中斷或者查詢,然后把采到的A/D值放入緩存或寄存器Buffer,從第1次計數累計采樣次數,退出中斷或者查詢;然后再進入下一次循環,等累計采樣次數達到要求時,此輪采樣結束;#后把采樣值進行算數平均計算,從而得出一個采樣實時數據。其采樣存儲一次數據流程如圖2所示。
采樣M次完成后,程序就對所采樣的值進行算術平均數據計算,M次數據累加和得出數據SUM,然后再進行M次算術平均值計算,#后得出一個采樣周期的算術平均值Vale,其算法主要代碼如下:
此算法適用于對一般具有隨機干擾的信號進行濾波,采集到的信號會在某一數值范圍附近上下波動,但是對于測量速度較慢或要求數據計算速度較快的實時控制不太適用,并且這種算法比較浪費RAM。
2.2 限幅濾波
限幅濾波算法流程:先確定2次采樣允許的#大偏差值(設為D),每次檢測到新值時進行判斷。先把第1次的采樣值進行存儲,每次檢測到新值就與上次的值相減,如果差值≤D,則此次值有效,如果差值>D則此次值無效,丟棄此次值,用上次采樣值代替本次值。其濾波算法流程如圖3所示。
限幅濾波算法的主要代碼如下:
此算法能有效克服因偶然因素引起的脈沖干擾,但是無法抑制那種周期性的干擾,平滑度較差。
2.3 中位值平均濾波法
中位值平均濾波算法的流程為:按照平均算術濾波算法的流程,連續采樣M個數據,分別確定M個數據中的#大值和#小值,然后丟棄#大值和#小值,再計算M-2個數據的算術平均值,把此采樣周期內的值放入寄存器,以供隨時進行調用。中位值平均算法流程如圖4所示。
中位值平均濾波算法的主要代碼如下:
此算法可去除偶然出現的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差,但是測量速度較慢,和算術平均濾波法一樣,比較占用RAM空間。
礦用壓力變送器的采樣電壓信號變化比較緩慢,信號躍變較小,采用16位RAM寄存器,采樣100次的A/D值有足夠的存儲空間,且采樣#終計算值能達到變送器的計算精度。經過以上3種算法的比較,#終篩選采用中位值平均濾波算法作為壓力變送器的#佳算法。
3 數據通信傳輸
壓力變送器在進行濾波采樣后,因為沒有直接的數據顯示,所以它還需要把采樣數據進行處理,轉換為RS485傳輸的字符串或者頻率信號進行外部輸出。且RS485具有較好的噪聲抑制能力、較快的數據傳輸速率及較高的可靠性等優點,制定RS485字符串通信規約后,三暢變送器才能與其他設備進行正常的數字通信傳輸。RS485通信規約見表1和表2,就協議的規定做了詳細解釋。
RS485與其他通設備通信的流程如圖5所示。壓力變送器經過以上通信協議的規約,就可以把濾波算法處理后的采樣值進行編碼處理,然后通過RS485總線方式和其他外接設備進行通信傳輸。
4 應用效果
壓力變送器經過開發和算法的抗干擾的優化,以及數字化的通信方式,所采取的一系列措施,使三暢壓力變送器在實際的使用當中取得了不錯的效果,得到了廣大客戶認可,其中實際使用連接模擬圖和變送器數據采集中心站軟件界面如圖6、圖7所示。
5 結語
壓力變送器A/D值采樣100次以及進行中位值平均濾波算法完成一個周期,所需要的時間在2ms左右,A/D采樣精度能達到1.5‰,能完全滿足整機計算出的壓力值精度為3.0‰的要求。
通過對壓力變送器濾波算法的詳細分析,和RS485通信協議規約及與其他通信設備的正常通信,這種礦用壓力變送器的軟件設計,很好地解決了變送器出現異常值以及通信不穩定抗干擾能力差的問題,在淮北礦業集團、桃園礦、張集礦等的廣泛應用可知,礦用壓力變送器取得了良好的效果。