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