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