基于AVR微控制器的電力機車智能輔保系統(tǒng)的實現(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)軟件采取模塊化結(jié)構(gòu),系統(tǒng)各任務模塊在功能上應盡量保持獨立。將各任務模塊放在時鐘中斷服務程序中執(zhí)行,就可將系統(tǒng)各監(jiān)測任務所需的各不相同的眾多故障持續(xù)延時時間轉(zhuǎn)化為執(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轉(zhuǎn)換
中斷采集程序段如下:
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轉(zhuǎn)換
rjmp XX
ADC_a: ldi flag,$aa ;置采集結(jié)束標志
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)部軟件計時器單元,通過設定各路計時單元及計時啟動/結(jié)束標志,來解決出現(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)定可靠,效果良好。
評論