基于AVR微控制器的電力機車智能輔保系統(tǒng)的實現(xiàn)
電氣機車輔助系統(tǒng)中有劈相機、空氣壓縮機、通風機及制動風機等各種類型的電機。運行中為了防止出現(xiàn)短路、過流等異常情況而燒毀電機,通常配置輔助保護系統(tǒng),起到及時監(jiān)測電機故障并加以處理的作用。目前電力機車上安裝的輔保系統(tǒng)都是模擬電路裝置,系統(tǒng)硬件復雜,又不方便司機使用和維修。因此,設計一種實時性高、性能可靠的智能輔保系統(tǒng)替代原有的模擬電路裝置勢在必行。本文將介紹筆者開發(fā)的用于韶山型電力機車的智能輔助保護系統(tǒng)的設計及實現(xiàn)。
1 系統(tǒng)的主要功能與設計思想
1.1 系統(tǒng)的主要功能
(1)輔機保護功能,即在機車運行過程中,對輔助系統(tǒng)內(nèi)的各電機出現(xiàn)的短路故障能及時給出故障狀態(tài)顯示,在規(guī)定的持續(xù)時間內(nèi),故障若不消失,對該電機能夠實現(xiàn)二次保護控制。
(2)機車輔助系統(tǒng)內(nèi)的各電機若出現(xiàn)了過流或單相故障,能及時給出相應故障狀態(tài)顯示。在規(guī)定的過流或單相故障持續(xù)時間內(nèi),檢測其故障是否消失,如果故障一直未消失消失,對該電機進行一次保護控制。
(3)在對電機一次保護后的規(guī)定時間內(nèi),若電機故障仍然未消除,則立即控制主接觸器斷開,實現(xiàn)對該電機的二次保護控制。
(4)輔助系統(tǒng)的劈相電
機出現(xiàn)啟動電阻甩不開的故障時,能夠控制主接觸器斷開,以實現(xiàn)對該電機的二次保護。
(5)在啟動輔助系統(tǒng)各電機之前,能夠進行檢查系統(tǒng)狀態(tài)顯示、輸出控制等功能的實驗,確保系統(tǒng)硬件電路安全性及可靠性。
(6)對輔助系統(tǒng)各電機進行實時故障檢測的各故障持續(xù)的延時時間可以根據(jù)實際情況進行相應調(diào)整,但不影響系統(tǒng)功能。
1.2 系統(tǒng)的設計思想
以高檔微控制器為核心構成智能化輔保系統(tǒng),符合電力機車發(fā)展的方向,既可充分發(fā)揮軟件的功能,又能簡化硬件構成,無論在功能上還是在可靠性及安全性上,都可完全替代目前廣泛使用的模擬電路輔保裝置。
1.2.1 系統(tǒng)的微控制器芯片AT90S8535
美國ATMEL公司推出的90系列單片機是增強RISC內(nèi)載Flash的高性能八位單片機,通稱為AVR單片要同[1~2],設計上采用低功耗CMOS技術,而且在軟件上有效支持C高級(用IAR系統(tǒng)的ICC90C編譯器編譯)及匯編語言(用AVR匯編器編譯)。
其中,AT90S8535是功能較強的一種型號,它有40引腳PDIP和44引腳PLCC、TQFP等多種封裝形式,具有以下主要特征:
(1)其片內(nèi)帶有一個8通道的A/D轉換器及一個模擬比較器。
(2)兩個帶預分頻及比較模式的8位定時器/計數(shù)器T/C0、T/C1;一個16位的帶預分頻及比較模式、捕獲模式及雙工8位、9位或10位的PWM輸出的定時器/計數(shù)器T/C1;而且定時器/計數(shù)器T/C2可作為帶單獨晶振的RTC使用。
(3)32條通用I/O線及32個通用8位寄存器R0~R31,64個I/O專用寄存器。
(4)片內(nèi)有8K字節(jié)可下載的Flash存儲器,程序下載采用其SPI串行接口,使用壽命為1000次。
(5)有512字節(jié)的EEPROM(使用壽命為10萬次)及512字節(jié)的內(nèi)部SRAM。
(6)帶片內(nèi)晶振器的可編程看門狗定時器;并有三種可通過軟件選擇的電源節(jié)電模式;閑置模式、掉電模式及省電模式。
(7)供電電壓Vcc為4.0~6.0V,可以全靜態(tài)工作,范圍為0~8MHz;具有118條功能強大的指令,大多數(shù)執(zhí)行時間為單時鐘周期,指令周期最短僅為125ns。
(8)提供16種不同的內(nèi)、外中斷源(其中有兩個外部中斷源)。
(9)可編程的全雙工串行通信接口UART及同步串行接口SPI。
以AT90S8535嵌入式高效微控制器構成智能化輔保系統(tǒng)的主控制電路,無需外擴多通道A/D轉換器及程序存儲器、數(shù)據(jù)存儲器,大大簡化了系統(tǒng)的硬件。尤其是其內(nèi)部又有硬件看門狗電路及相應的看門狗指令控制,提高了系統(tǒng)的可靠性及安全性,選型相對以往的AT89系列單片機,在性能上要強得多,而且開發(fā)手段更為方便。
1.2.2 AT90S8535的ADC的主要特性和工作原理
AT90S8535的優(yōu)越性在于其片內(nèi)有一個8通道的10位ADC,ADC與一個模擬多路轉換器相連,還包含一個采樣保持器。該器件的A口的每一引腳(PA0~PA7)均可作為ADC的模擬輸入端,A口不用作模式輸入的個別引腳又可作為數(shù)字輸入使用。
ADC有兩個單獨的模擬供電引腳AVCC和AGND。使用時,AGND和GND必須相連,AVCC和Vcc的電壓必須保持±0.3V的不同,并通過RC網(wǎng)絡相連。外部參考基準電壓通過AREF引腳加入。
ADC通過內(nèi)部預分頻器ADCPS保證將系統(tǒng)時鐘頻率轉化為50~200kHz之間的ADC可接受牟時鐘頻率。ADC一般至少需要13個時鐘周期完成一次轉換,因此轉換時間范圍為65~260μs。ADC為用戶提供了內(nèi)部中斷方式的處理,可以滿足實時性的要求。每次轉換完成時,ADC轉換器完成中斷就可以被激活。
.
ADC還有一個噪音清除器,通過正確的使用,確保在閑置模式轉換過程中減少包括從CPU核中出來的噪音。
ADC被使能后,可以選擇單一轉換和自由運行兩種模式之一工作。要單一轉換模式下,每次轉換由用戶觸發(fā);在自由運行模式下,ADC連續(xù)取樣,并更新ADC的數(shù)據(jù)寄存器。建議用戶使用單一轉換模式。ADC產(chǎn)生的10位結果保存在數(shù)據(jù)寄存器ADCL和ADCH中,其內(nèi)部特殊數(shù)據(jù)保護邏輯要求讀取數(shù)據(jù)時,先讀ADCL,后讀ADCH。
1.3 系統(tǒng)監(jiān)測對象
本系統(tǒng)完成監(jiān)測對象主要有:(1)劈相機三相信號;(2)通風機電機三相信號;(3)制動風機電相三相信號;(4)各種電機接觸器信號。系統(tǒng)通過輸入電路完成對這些信號的調(diào)理,向系統(tǒng)主控制電路提供6模擬量輸入及5路數(shù)字開關量輸入,還提供5路條件標志。
經(jīng)實驗可知,當檢測到各路電機對應的模擬量輸入電壓在0.69V~4.5V之間時,可認為電機發(fā)生了過流故障,而且規(guī)定的過流故障持續(xù)的時間隨輸入電壓范圍不同又分為多個不同區(qū)段,軟件應保證按不同的時間區(qū)段對電機進行一次保護;輸入電壓若在4.5V以上,可以為電機發(fā)生了短路故障,在0.5秒的持續(xù)時間內(nèi),故障一直未消除,則對電機立即實施二次保護控制,防止電機實施二次保護控制,防止電機被燒毀;5路數(shù)字開關量通道的某路輸入出現(xiàn)高電平時,則認為該路電機發(fā)生了單相故障,在3秒故障持續(xù)時間內(nèi)故障一直不消失,對電機實施一次保護控制。無論單相還是過流故障,在對電機一次保護后的0.5秒持續(xù)時間內(nèi)故障仍未消除,則實施二次保護控制。通過上述手段,能起到監(jiān)測電力機車輔助系統(tǒng)中的各電機是否正常工作、當出現(xiàn)故障時及時發(fā)現(xiàn)并對電機加以保護的作用。
2 系統(tǒng)的硬件和軟件設計
2.1 系統(tǒng)的硬件設計
系統(tǒng)主要由輸入調(diào)理電路、控制輸出部分及顯示電路、系統(tǒng)主控制電路組成。輸入信號的調(diào)理電路為系統(tǒng)主電路提供多路模擬量及數(shù)字開關量輸入通道,設計中主要考慮了信號與現(xiàn)場的隔離和抗干擾。輸出電路完成對各電機接觸器及主接觸器的控制,即能對出現(xiàn)故障的電機實現(xiàn)一次保護或二次保護,并提供各通道電機故障的顯示,確保電機的安全。
圖1給出了系統(tǒng)的主電路組成圖。圖中所示的各路信號分別表示輸出通道、故障顯示通道、開關數(shù)字量輸入通道及條件標志輸入通道。
2.2 系統(tǒng)的軟件設計
系統(tǒng)軟件采取模塊化結構,系統(tǒng)各任務模塊在功能上應盡量保持獨立。將各任務模塊放在時鐘中斷服務程序中執(zhí)行,就可將系統(tǒng)各監(jiān)測任務所需的各不相同的眾多故障持續(xù)延時時間轉化為執(zhí)行頻率。
2.2.1 數(shù)據(jù)采集程序的設計
以通道0為例,系統(tǒng)利用其片內(nèi)10位ADC進行模擬量采集的軟件初化程序段如下:
.include "8535def.ine"
.def count="r14"
.def flag="r15"
.def result="r16"
.def temp="r17"
.def ac_temp=r18
INIT:Idi AL,low(RAMEND)
Out SPL,AL
Idi AL,high(RAMEND)
out SPH,AL ;初始化堆棧指針
ldi count,3 ;設置采集點數(shù)
clr flag ;清采集標志
ldi ZL,$65
clr ZH ;設置外部SRAM數(shù)據(jù)緩區(qū)首址為$0065H
ldi result,$8d
out ADCSR,result ;設置ADEN=1,ADSC=0,ADFR=0,ADIF=0,ADIE=0
;設置ADPS2=1,ADPS=0,ADPS0=0
;使ADC預分頻器選擇分頻系數(shù)為16,設置ADC時鐘頻率為115kHz
sbi ADCSR,ADIE ;ADC中斷使能
ldi temp,$00 ;選擇PA0(模擬通道1)
out ADMUX,temp
sbi ADCSR,ADSC ;啟動ADC轉換
中斷采集程序段如下:
ACONVERT:in ac_temp,SREG ;臨時保存狀態(tài)寄存器
in BL,ADCL
in BH,ADCH
andi BH,$03
st Z+,BL ;保存到數(shù)據(jù)緩沖區(qū)
st Z+,BH
dec cout ;采集點數(shù)到否?
breq ADC_a
sbi ADCSR,ADSC ;啟動下一次A/D轉換
rjmp XX
ADC_a: ldi flag,$aa ;置采集結束標志
XX:out SREG,ac_temp ;恢復狀態(tài)寄存器
Reti
對A/D通道采集的模擬量數(shù)據(jù)采用防脈沖干擾的中值濾波法。
2.2.2 系統(tǒng)軟件的總體設計及實現(xiàn)
為了確保系統(tǒng)的實時性,系統(tǒng)的監(jiān)測掃描時間片設為100ms。在SRA嶇設置標志及內(nèi)部軟件計時器單元,通過設定各路計時單元及計時啟動/結束標志,來解決出現(xiàn)短路、過流及單相故障的電機所需的各不同故障持續(xù)延時時間,對電機在不同過流范圍區(qū)段的不同故障持續(xù)延時時間也可正確區(qū)分并記錄。這樣系統(tǒng)就不會因某一任務的延時而影響對系統(tǒng)其它任務的檢測,實現(xiàn)了對各路電機監(jiān)測的實時多任務處理。另外注意,對于與執(zhí)行頻率無關的模塊則可放在主程序中執(zhí)行。
.
圖2、圖3給出了T/C1定時中斷服務程序模式及主程序模塊的流程框圖。
該智能輔保系統(tǒng)樣機經(jīng)過現(xiàn)場調(diào)試,目前已投入運營。實踐證明,系統(tǒng)穩(wěn)定可靠,效果良好。