1 引言
電動機作為所有動力設備的主力軍,一直在國民生產中占據重要地位。特別是隨著我國電力工業的迅速發展,電動機更加廣泛的應用于石油、化工、冶金、紡織等重要行業。但是電動機一旦燒損,不僅直接損失高,而且由此會影響整個生產過程,其間接損失也更加難以估計。因此,對于電動機的故障診斷與保護,意義重大。對于電動機保護通常采用變頻器或電動機保護器,但是變頻器價格昂貴,對于一些不需要調速的場合,若為了保護電動機而采用變頻器就難免小題大做,而選用適合的電動機保護器則水到渠成。研制可靠的電動機保護器,較為關鍵的就是提高其適應惡劣環境的能力[1]。對此,本文針對單片機控制的電動機保護器的提出了一些具體軟件抗干擾措施。
2 干擾源及其對系統的影響
工業環境中的干擾一般是以脈沖形式進入測控系統中,其竄入電動機保護器系統的渠道主要有三條,即空間干擾、信號通道干擾、供電系統干擾。其中,信號通道干擾和供電系統干擾強度較大,為抗干擾防范的重點[2]。
電動機保護器出錯主要表現為以下幾個方面:死機、硬件控制失常、顯示混亂以及采集或測量數據不準。
為解決上述干擾問題,需要進行硬件和軟件抗干擾設計。硬件設計得當,可杜絕大部分干擾。但是,軟件措施依然必不可少,而且由于其實現不需要增加硬件設備,使用靈活,修改方便,特別是能夠較好地解決生產過程中未曾考慮的干擾因素,所以在工程應用實踐中,更顯重要。
3 軟件抗干擾措施
3.1 復位與程序運行監視
要使電動機保護器系統的CPU正常開始工作,必須采用可靠的復位電路,而對失去控制的CPU,最簡單的方法就是復位,使程序重新從0000H開始運行。系統復位方式有三種:上電復位、人工復位和自動復位。自動復位主要由程序運行監視系統(WATCHDOG TIMER)完成,具有以下特點:一是本身獨立工作,基本不依賴CPU;二是CPU工作正常時,CPU與該系統定時聯絡;三是當CPU進入死循環或系統失常時,可迅速發覺并使系統自動復位。在使用中,將復位電路與WATCHDOG結合使用,在CPU受到干擾后使系統自動復位,是一種有效的CPU抗干擾措施。
3.2 掉電保護
電網瞬間斷電或電壓突然下降將使電動機保護器的單片機陷入混亂狀態,電網電壓恢復正常后,電動機保護器卻難以恢復正常運行。對付這一類事故的有效方法就是掉電保護。掉電信號由硬件電路檢測,并連接電動機保護器控制芯片如單片機的外部中斷輸入端。中斷軟件將掉電中斷規定為最高優先級中斷,使系統及時對掉電做出反應。在掉電中斷子程序中,首先進行現場保護,保存當時重要的狀態參數,當電源恢復正常時,CPU重新復位,恢復現場數據,繼續未完成的工作。
3.3 指令冗余
當CPU受到干擾后,往往將一些操作數當作指令碼來執行,引起程序混亂。以51單片機為例,如表1所示。
表1 51單片機機器碼

如果當前PC不是指向75H,而是指向01H或02H,那么51單片機的指令譯碼器將把它譯成AJMP xx01H,從而導致程序跑飛。
51單片機系統中所有指令都不超過3個字節,而且有很多單字節指令。當程序彈飛到某一條單字節指令上時,便自動納入正軌。當跑飛到某一雙字節或三字書指令的操作數上時,會繼續出錯。因此,多采用單字節指令或在關鍵的程序區插入一些單字節指令(NOP),便是指令冗余技術。
將上述指令做如表2所示的改動:
表2 改動后的機器碼

如此,每一字節代碼都不生成跳轉和循環,且都是單字節指令,程序就不會跑飛。
[NextPage]
另外,在雙字節和三字節指令之前插入兩條NOP指令,可保護其后的指令不被拆散,并將被完整執行。因此,在一些對程序流向起決定作用的指令之前插入兩條NOP指令,可保證跑飛程序進入正軌。此類指令有:RET、RETI、LCALL、SJMP、JZ、CJNE等。
3.4 軟件陷阱
軟件陷阱就是一條引導指令,強行將捕獲的脫軌程序引向出錯處理程序區。如果把這段程序的入口標號稱為ERR的話,軟件陷阱即為一條LJMP ERR指令,為加強其捕捉效果,考慮指令冗余,一般還在它前面加兩條NOP指令,因此,真正的軟件陷阱由表3所示的三條指令構成:
表3 軟件陷阱指令

若將ERR地址設為0000H,則非程序區填滿了0000020000H。
由于軟件陷阱都安排在程序正常執行不到的地方,故不會影響程序執行效率。
3.5 RAM冗余
RAM冗余體現在以下幾個方面:將重要的數據信息備份2份(或以上)并存于RAM中地址不相連的區域;當對這些數據進行修改時,同時也更新備份;在數據區的特定單元內存入標志字,當發現標志位遭到破時,在其余的備份數據區調用備份數據進行恢復;只備份最原始的數據。
3.6 軟件濾波
(1)限幅濾波法
根據經驗確定兩次采樣允許的最大偏差值(設為Δ),每次檢測到新值時判斷:如果本次值與上次值之差小于等于Δ,則本次值有效;如果本次值與上次值之差大于Δ,則本次值無效,放棄,用上次值代替本次值。
優點:能有效克服因偶然因素引起的脈沖干擾。
缺點:無法抑制周期性干擾,平滑度差。
(2)算術平均濾波法
連續取N個采樣值進行算術平均運算,但是N值選取值得注意,N值較大時,信號平滑度較高,但靈敏度較低;N值較小時,信號平滑度較低,但靈敏度較高;N值的一般性選取:16。
優點: 適用于對一般具有隨機干擾的信號進行濾波。
缺點: N值取得較小時,才可有效保護短路等快速故障。
(3)中位值濾波法
連續采樣N次(N取奇數),把N次采樣值按大小排列,取中間值為本次有效值。
優點:能有效克服因偶然因素引起的波動干擾。
缺點:對電流等快速變化的參數不宜使用。
(4)遞一階滯后濾波法
取α=0~1,本次濾波結果:
(1-α)×本次采樣值+α×上次濾波結果。
優點:對周期性干擾具有良好的抑制作用,適用于波動頻率較高的場合。
缺點:相位滯后,靈敏度低;滯后程度取決于α值大??;不能消除濾波頻率高于采樣頻率的1/2的干擾信號。
(5)推平均濾波法
把連續取N個采樣值看成一個隊列,隊列的長度固定為N,每次采樣到一個新數據放入隊尾,并扔掉原來隊首的一次數據(先進先出原則),把隊列中的N個數據進行算術平均運算,就可獲得新的濾波結果。
優點:對周期性干擾有良好的抑制作用,平滑度高,適用于高頻振蕩系統。
缺點:靈敏度低,對偶然出現的脈沖性干擾的抑制作用較差,不易消除由于脈沖干擾所引起的采樣值偏差,不適用于脈沖干擾比較嚴重的場合。
以上是軟件濾波的基本形式,在實際使用中,可以組合使用,如:“中位值濾波法”+“算術平均濾波法”、“限幅濾波法”+“遞推平均濾波法”等。
4 結束語
根據以上抗干擾措施,采用C8051F310單片機開發了一種新型的電動機保護器已用于實際工業生產中。應用表明,采用單一的抗干擾措施通常是難以奏效的,而根據系統的實際情況綜合利用以上的各種抗干擾措施,才具有更高的可靠性和更強的抗干擾能力。










