基于CAN總線的電動機保護裝置的設(shè)計
2 系統(tǒng)軟件設(shè)計
在電機保護裝置中,各檢測節(jié)點定期采集現(xiàn)場的電壓電流信號,然后用傅里葉算法對采集來的數(shù)據(jù)進行分析處理,計算出電壓、電流的有效值和各次諧波分量值,并進行幅值、相位、正負序等實時參數(shù)計算,判斷得到的實時值是否超過限定值,即判斷是否發(fā)生故障,并通過CAN總線將數(shù)據(jù)發(fā)送到上位機。
2.1 系統(tǒng)總體軟件設(shè)計
本系統(tǒng)軟件設(shè)計采用的是模塊化設(shè)計,分為三個部分:初始化模塊、系統(tǒng)控制模塊和通信模塊。初始化模塊主要完成DSP系統(tǒng)、外設(shè)部件,以及系統(tǒng)管理方式的初始化等。由于電機保護系統(tǒng)是實時性要求嚴格的系統(tǒng),因而采用主程序模塊和中斷子程序模塊相結(jié)合的方法。中斷子程序主要由保護模塊和通信模塊組成。主程序流程圖以及保護模塊流程圖如圖3所示。
2.2 各相電流、電壓幅值算法
由于56F807芯片具有以下優(yōu)點:在一個指令周期內(nèi)可以完成一次加法和一次乘法,程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù)、支持流水線操作,使取址、譯碼和執(zhí)行等操作可以重疊進行。另外其主頻極高,可以為在設(shè)計中采用復(fù)雜、精確的保護算法提供時間保證。故求取電流與電壓的幅值均采用付氏濾波算法。先求出付氏正、余弦系數(shù),再用平方、開方公式算出幅值。設(shè)輸入電量為:
由(6)式對幅值的計算中有兩次平方和一次開方,計算量比較大,所以選用有著強大計算功能的DSP,可以不用考慮時間問題而保證幅值的精確性,從而保證了保護的可靠性。
2.3 負序電流算法的選擇
負序電流作為電機保護中一種判據(jù),在判斷是否有不對稱故障和不對稱故障的類型時,有著非常重要的作用。由于選用的DSP有著非常強大的處理數(shù)據(jù)的能力,可以考慮用軟件計算的方法替代硬件邏輯的方法,不僅可能減少硬件的連接,而且能夠提高整個保護的可靠性和精確性。
由(8)式可以看出,負序電流的瞬時值于A相第k點采樣,B相第k和第k-4點采樣值以及C相的第k-4點采樣值有關(guān),利用電流幅值計算公式就可以精確計算出負序電流的幅值。
2.4 CAN通訊模塊
在各種現(xiàn)場總線中,CAN總線不僅具有突出的可靠性、實時性和靈活性。而且還具備很多其他總線不具備的特點:
(1)由報文標識符(11 bit或者29 bit)確定的總線訪問優(yōu)先級;
(2)采用非破壞性總線仲裁技術(shù),當兩個節(jié)點同時向總線發(fā)送信息時,優(yōu)先級較低的節(jié)點會主動退出發(fā)送,優(yōu)先級較高的節(jié)點可以不受影響;
(3)采用的是短幀結(jié)構(gòu),傳輸時間短,受干擾概率低,具有良好的檢錯效果,而且CAN的每幀信息都有CRC校驗,保證了極低的數(shù)據(jù)出錯率;
(4)在CAN節(jié)點嚴重錯誤的情況下具有自動關(guān)閉輸出功能,以使總線上其他節(jié)點的操作不受影響;
(5)CAN只需通過報文濾波即可實現(xiàn)點對點、一點對多點及全局廣播等幾種方式傳送接收數(shù)據(jù)。
每個發(fā)送緩沖區(qū)都有14 B的寄存器結(jié)構(gòu)。這個寄存器結(jié)構(gòu)包括數(shù)據(jù)幀的標識符、等待發(fā)送的數(shù)據(jù)、發(fā)送數(shù)據(jù)幀的長度和發(fā)送緩沖優(yōu)先級寄存器。
2.5 CRC校驗在56F807中的算法實現(xiàn)
為了能夠?qū)⑿畔⒖煽靠焖俚募皶r的傳給對方,考慮傳輸距離、現(xiàn)場狀況、干擾等諸多因素的影響,一般在通信時采用數(shù)據(jù)校驗的方法。循環(huán)冗余碼校驗就是常見的校驗方法之一。
循環(huán)冗余校驗碼CRC(Cyclic Redundancy Check Code)是線性分組碼的分支,是一種檢錯能力很強的循環(huán)碼。循環(huán)冗余校驗對傳送數(shù)據(jù)作錯誤檢測(Error Detecting)是利用除法及余數(shù)的原理。編碼和解碼方法簡單,容易實現(xiàn),檢錯能力強,誤判概率幾乎為零,而且這種方法取得校驗碼的方式具有很強的信息覆蓋能力,是一種效率極高的錯誤校驗法。校驗基本原理如圖4所示。
CRC生產(chǎn)多項式G(x)由協(xié)議規(guī)定,目前已有多種生產(chǎn)多項式列入國際標準中,例如:
CRC-12 G(x)=x12+x11+x3+x2+x+1
CRC-16 G(x)=x16+x15+x2+1等,在本次設(shè)計中選用的是CRC-16。
CRC的編解碼用到模2的多項式除法,而多項式除法可以采用帶反饋的移位寄存器來實現(xiàn),因此,用DSP來實現(xiàn)CRC編解碼的關(guān)鍵是通過DSP來模擬一個移位寄存器(也就是模擬手寫多項式除法)??紤]到56F800系列DSP的累加器A和B均為32 bit,因此,可以用一個32 bit累加器A作為移位寄存器。在CRC的編碼和解碼中均涉及到碼的移位和異或操作,這可以通過56F800系列的LSR、LSL(邏輯移位)和EOR(邏輯異或)兩條指令來實現(xiàn)。CRC校驗的流程圖如圖5所示。
本設(shè)計是利用DSP56F807芯片強大的功能,配以外圍功能模塊,實現(xiàn)對電動機的電流、電壓信號的整流、濾波并轉(zhuǎn)換為直流信號,送到DSP的A/D口經(jīng)過保護算法,判斷是否動作、故障處理以及參數(shù)設(shè)置、液晶顯示,并且通過現(xiàn)場總線對網(wǎng)內(nèi)所有的電動機進行狀態(tài)實時監(jiān)測、運行控制、數(shù)據(jù)處理以及參數(shù)調(diào)整,其功能是以前的簡單數(shù)字保護裝置無法相比的。通過對設(shè)計成的保護裝置樣機進行調(diào)試和分析表明,保護動作正常,其他相關(guān)保護測試都滿足相關(guān)要求,初步驗證了系統(tǒng)硬件部分和軟件部分設(shè)計的正確性。
評論