劉勇軍(泰永科技股份有限公司, 廣東 深圳 518057)
智能化斷路器綜合了電子技術(shù)、電氣自動(dòng)化、通信及軟件等先進(jìn)技術(shù),采用模塊化結(jié)構(gòu),集保護(hù)、測(cè)量與監(jiān)控于一體。除了具備基本的三段保護(hù)、接地故障保護(hù)功能,還可提供電壓、功率、頻率等故障保護(hù)、報(bào)警功能。同時(shí)還具備人機(jī)交互、參數(shù)存儲(chǔ)、區(qū)域聯(lián)鎖、自診斷及網(wǎng)絡(luò)通信等功能。能夠通過網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控現(xiàn)場(chǎng),便于其在網(wǎng)絡(luò)自動(dòng)化控制中的應(yīng)用。 斷路器的智能控制技術(shù)在不斷更新、進(jìn)步,本文簡(jiǎn)單介紹了以單片機(jī)為控制核心的智能斷路器設(shè)計(jì)。
AdaptCan系列塑殼智能斷路器的主要功能:
過載長(zhǎng)延時(shí)保護(hù)、短路短延時(shí)保護(hù)、瞬時(shí)動(dòng)作保護(hù)這三段保護(hù)是最基本的保護(hù),一般機(jī)型都具備,高端機(jī)型還有接地故障保護(hù)、電流不平衡保護(hù)、中性線保護(hù)、過壓保護(hù)及欠壓保護(hù)等保護(hù)功能,電動(dòng)機(jī)型還具有堵轉(zhuǎn)保護(hù)、低載保護(hù)、長(zhǎng)啟動(dòng)保護(hù)及相序保護(hù)等保護(hù)功能。
電流測(cè)量:各相電流、接地故障電流、電流不平衡率等電流參數(shù);
電壓測(cè)量:各相電壓、線電壓、電壓不平衡率等電壓參數(shù);
功率測(cè)量:有功功率、無(wú)功功率、視在功能、功率因數(shù);
頻率測(cè)量:電網(wǎng)頻率。
按鍵、旋鈕調(diào)節(jié)、設(shè)置功能,LED指示、LCD漢字顯示操作界面。
區(qū)域聯(lián)鎖、通信功能、故障信息、斷路器狀態(tài)監(jiān)控、自診斷功能等。
針對(duì)斷路器功能要求首先需確定設(shè)計(jì)將會(huì)用到哪些資源:
(1)斷路器要求能迅速地切斷故障電流,對(duì)瞬動(dòng)保護(hù)要求在20ms內(nèi)切斷電流,這就要求控制單元能快速判斷出故障電流,并發(fā)出脫扣指令。
這項(xiàng)需求既可通過硬件電路實(shí)現(xiàn),也可用軟件的方式來實(shí)現(xiàn)。由硬件方式實(shí)現(xiàn)速度快,但是會(huì)增加成本、功耗,靈活性也差,而且會(huì)占用PCB空間,這對(duì)于由互感器速飽和繞組供電且空間有限的塑殼斷路器而言并不是最好的選擇。
而用軟件方式處理靈活,成本低,但是相對(duì)硬件方式速度稍慢。要提高響應(yīng)速度對(duì)MCU的性能要求較高,它要求MCU要能快速地對(duì)各通道的電流信號(hào)進(jìn)行采樣,并完成計(jì)算、判斷,以最快的方式發(fā)出斷路器動(dòng)作指令,當(dāng)然前提得保證不能誤判。
(2)智能型斷路器的功能較多,而且需求也在不斷地增加,對(duì)于MCU的處理能力也有較高的要求。系統(tǒng)設(shè)計(jì)中接地故障電流采用各相電流的矢量和方式計(jì)算得到,需要用到電流間的相位差;線電壓是由相電壓的矢量和計(jì)算得到,需要用到電壓間的相位差;功率計(jì)算中的有功功率、無(wú)功功率等的計(jì)算需要得到電流、電壓的相位差。這些都需要用到浮點(diǎn)運(yùn)算、FFT運(yùn)算,需要占用大量的MCU指令處理周期,這些都需要MCU來進(jìn)行快速的運(yùn)算,如果MCU運(yùn)算速度太慢,勢(shì)必會(huì)影響斷路器的響應(yīng)速度。
當(dāng)然,可以采用DSP器件來提升運(yùn)算處理能力,但成本也會(huì)相應(yīng)的增加,需要平衡選擇。
(3)在軟件架構(gòu)設(shè)計(jì)上,一般分前后臺(tái)系統(tǒng)和帶實(shí)時(shí)操作系統(tǒng)(RTOS)的架構(gòu)設(shè)計(jì)。
前后臺(tái)系統(tǒng)就是順序執(zhí)行的系統(tǒng),其程序進(jìn)程中只有一個(gè)main線程,程序功能的實(shí)現(xiàn)是依靠死循環(huán)實(shí)現(xiàn),實(shí)時(shí)性主要靠硬件中斷來實(shí)現(xiàn),這對(duì)于一般的應(yīng)用是可以滿足要求的。但對(duì)于存在需要大量運(yùn)算,運(yùn)算時(shí)間較長(zhǎng),且對(duì)實(shí)時(shí)性要求較高的場(chǎng)合就不適用了。如果系統(tǒng)功能較多,則前后臺(tái)系統(tǒng)的可維護(hù)性會(huì)比RTOS差。
RTOS是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的操作系統(tǒng)。
根據(jù)斷路器的功能參數(shù)可知,需要ADC采樣轉(zhuǎn)換的交流信號(hào)有三相電流I1、I2、I3,中性線電流IN、三相電壓U1、U2、U3,這需要占用7個(gè)ADC通道 ;考慮到電流測(cè)量的范圍從0.2Ir~20Ir都有精度要求,用一個(gè)通道無(wú)法滿足整個(gè)電流跨度范圍的精度要求,設(shè)計(jì)采用兩個(gè)運(yùn)放電路對(duì)同一路的電流信號(hào)進(jìn)行不同倍率的放大處理,再送給兩路ADC通道進(jìn)行采樣處理,以滿足小電流與大電流的測(cè)量精度要求(電流采樣回路如圖1所示)。
設(shè)計(jì)中還會(huì)對(duì)其他的模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換,如溫度、參考電壓等,因此整個(gè)系統(tǒng)的ADC通道需要多達(dá)十幾路。當(dāng)然可以采用一個(gè)ADC通道結(jié)合模擬轉(zhuǎn)換開關(guān)的方式進(jìn)行處理,但這樣會(huì)降低采樣的速率,同時(shí)也會(huì)增加硬件的復(fù)雜度,增加故障出現(xiàn)的幾率。
圖1 電流采樣回路框圖
設(shè)計(jì)中為了使用戶能操作更快捷方便,提供以旋鈕方式或按鍵方式來查詢、設(shè)置系統(tǒng)各參數(shù);以LED指示燈直觀的指示斷路器運(yùn)行狀態(tài);以點(diǎn)陣LCD顯示各種測(cè)量、設(shè)置、故障信息。
由于系統(tǒng)提供的顯示信息較多,不帶字庫(kù)的LCD屏,隨著顯示字符的增加其所占用MCU的ROM空間也會(huì)跟著增加。以顯示300個(gè)漢字的16×16點(diǎn)陣計(jì)算,基本的字模數(shù)據(jù)會(huì)占用約10K的ROM空間??梢圆捎脦ё謳?kù)的LCD屏來設(shè)計(jì),但這樣會(huì)增加產(chǎn)品的成本,同時(shí)更換字體也不方便,在靈活性上不如前者。
LCD顯示界面編程所需的ROM空間也較大,根據(jù)顯示界面的復(fù)雜度,從幾KB~幾十KB不等。
若采用RTOS進(jìn)行系統(tǒng)軟件設(shè)計(jì),對(duì)MCU的ROM、RAM開銷也大,如:基于STM32芯片的實(shí)時(shí)操作系統(tǒng)UCOS,最小系統(tǒng)占用約10K的ROM,RAM的占用空間與任務(wù)數(shù)和任務(wù)堆棧大小有關(guān),任務(wù)數(shù)越多,堆棧越大,占用的RAM空間也就越多。
系統(tǒng)需要檢測(cè)電源的頻率、對(duì)各種保護(hù)進(jìn)行延時(shí)計(jì)算、對(duì)各輸入輸出口線進(jìn)行檢測(cè)控制,因此MCU基本的定時(shí)器、中斷等資源需滿足設(shè)計(jì)需求。
由于系統(tǒng)需要對(duì)多路ADC通道(假設(shè)為12路)進(jìn)行連續(xù)的快速采樣處理,以一個(gè)周期(50Hz)64點(diǎn)采樣為例,每個(gè)點(diǎn)的采樣間隔時(shí)間為312.5μs。如果MCU只有一路ADC,那么每312.5μs需要進(jìn)入ADC中斷12次,每次進(jìn)入中斷后需將轉(zhuǎn)換完成的數(shù)據(jù)保存起來,以便周期采樣結(jié)束后處理。這樣頻繁的進(jìn)入中斷,大大降低了中央處理器(CPU)的效率,不利于系統(tǒng)性能的提升。
如果這些事情能夠交給硬件自動(dòng)去實(shí)現(xiàn),那將會(huì)大大的提升CPU的效率,現(xiàn)在很多高效能的MCU都提供DMA控制器,可以方便的實(shí)現(xiàn)需求。
同樣,其他功能需求,比如通訊功能需要用到的串行接口模塊、存儲(chǔ)需要用的IIC模塊、LCD顯示需要用到的SPI模塊等,MCU帶有這些外圍模塊將會(huì)大大的提升其性能,當(dāng)然成本也是要考慮的。
20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展, 單片機(jī)從8bit到16bit,再到32bit,處理速度一直在提升,外圍模塊也是越來越豐富,性價(jià)比也在不斷地提升。
基于前面的需求分析,再結(jié)合目前的市場(chǎng)資源來看,一般的8bit的單片機(jī)是很難滿足要求的,16bit單片機(jī)若能達(dá)到要求,則失去了價(jià)格優(yōu)勢(shì),DSP也能實(shí)現(xiàn)需求,但同樣的性價(jià)比不高。雖然32bit單片機(jī)的價(jià)格一直比較高,但自從ARM公司推出Cortex-M3后,其價(jià)格優(yōu)勢(shì)就比較明顯了,M3主要是面向低成本和高性能的MCU應(yīng)用領(lǐng)域,其可選的型號(hào)也很豐富,價(jià)格從幾元至幾十元都有。
AdaptCan系列智能斷路器采用的是TI公司的STM32F10x系列MCU,下面對(duì)其中部分對(duì)設(shè)計(jì)比較重要的資源進(jìn)行說明。
最高72MHz工作頻率,單周期乘法和硬件除法,保證了基本指令執(zhí)行、運(yùn)算的速度。
從32KB~512KB的閃存程序存儲(chǔ)器,可選擇的型號(hào)很多,可兼顧產(chǎn)品的成本控制和后期擴(kuò)展。
(1)1~3個(gè)12bit模數(shù)轉(zhuǎn)換器(多達(dá)16個(gè)輸入通道),滿足多路通道采樣的需求。
(2)12位分辨率,保證了產(chǎn)品測(cè)量的精度。
(3)規(guī)則通道轉(zhuǎn)換期間有DMA 請(qǐng)求產(chǎn)生,可設(shè)置為在規(guī)則組所有通道都采樣轉(zhuǎn)換完成后產(chǎn)生DMA中斷,以便集中對(duì)所有通道的數(shù)據(jù)進(jìn)行處理,避免了每個(gè)通道轉(zhuǎn)換完成后都需要進(jìn)入中斷處理數(shù)據(jù)。
(4)從通道0~n 的自動(dòng)掃描模式,可結(jié)合模數(shù)轉(zhuǎn)換器的規(guī)則組轉(zhuǎn)換與DMA功能一起實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)的自動(dòng)存儲(chǔ),無(wú)需浪費(fèi)CPU的時(shí)間。
(5)雙采樣和保持功能:2路通道同時(shí)采樣轉(zhuǎn)換,可提高多路通道采樣轉(zhuǎn)換效率。
(6)ADC 轉(zhuǎn)換時(shí)間,最快達(dá)到1μs。
7通道DMA控制器,可將ADC轉(zhuǎn)換,串口通信、SPI數(shù)據(jù)傳輸?shù)扰渲脼镈MA操作,節(jié)約CPU資源,提示CPU的處理能力。DMA框圖如圖2所示。
16個(gè)外部中斷,PA口~PE口均能映像到外部中斷,幾乎所有的端口均可接受5V信號(hào)。
串行單線調(diào)試(SWD)和JTAG接口,方便軟件開發(fā)、調(diào)試。
多達(dá)7個(gè)定時(shí)器:3個(gè)16位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)數(shù)的通道和增量編碼器輸入;2個(gè)看門狗定時(shí)器(獨(dú)立型和窗口型);系統(tǒng)時(shí)間定時(shí)器:24位自減型計(jì)數(shù)器。
多 達(dá)2個(gè)I2C接 口(支 持SMBus/PMBus)。
多達(dá)3個(gè)USART接口(支持ISO7816接口,LIN,IrDA接口和調(diào)制解調(diào)控制)。
多達(dá)2個(gè)SPI接口(18Mb/s)。
圖2 DMA框圖
圖3 程序流程框圖
智能控制器的主要控制功能都是通過軟件控制實(shí)現(xiàn)的,基于MCU的軟件設(shè)計(jì)需要針對(duì)其資源和系統(tǒng)需求進(jìn)行合理的設(shè)計(jì),充分發(fā)揮MCU的性能,保證整個(gè)產(chǎn)品的可靠、穩(wěn)定。
為保證產(chǎn)品的實(shí)時(shí)性及方便后期的維護(hù),AdaptCan系列智能斷路器軟件設(shè)計(jì)是基于RTOS設(shè)計(jì)的。
軟件架構(gòu)主要由TASK_ControlPRO任務(wù)、TASK_FFTPRO任務(wù)、TASK_UARTPRO任 務(wù)、TASK_DisplayPRO任 務(wù)、TASK_KeyPRO任務(wù)及各中斷服務(wù)程序組成。
軟件主要流程框圖見圖3。
對(duì)周期采樣信號(hào)進(jìn)行計(jì)算,采用均方根方式計(jì)算出信號(hào)對(duì)應(yīng)的ADC均方根值,結(jié)合校準(zhǔn)參數(shù)可計(jì)算得到輸入的各相電流、電壓信號(hào)、不平衡率等參數(shù);再根據(jù)TASK_FFTPRO任務(wù)得到的相位參數(shù),計(jì)算得出接地故障電流、線電壓等參數(shù)。接地故障電流計(jì)算公式如式(1)所示,相電壓與線電壓轉(zhuǎn)換圖由圖4所示,計(jì)算公式如式(2)~(4)所示。
圖4 相電壓轉(zhuǎn)換線電壓示意圖
在TASK_ControlPRO任務(wù)中還將通過軟件方式模擬故障電流的熱效應(yīng),當(dāng)故障電流產(chǎn)生的能量達(dá)到設(shè)定限值后,發(fā)送跳閘或報(bào)警信號(hào)觸發(fā)斷路器跳閘或報(bào)警輸出。
由于該任務(wù)的優(yōu)先級(jí)最高,其響應(yīng)時(shí)間為一個(gè)信號(hào)周期,其保護(hù)延時(shí)精度可控制在1~2個(gè)信號(hào)周期內(nèi),加入特殊的補(bǔ)償處理后,在各延時(shí)設(shè)定條件均可確保10%的延時(shí)誤差精度要求。
對(duì)周期采樣信號(hào)通過快速傅立葉變換(FFT)算法計(jì)算得到各電流、電壓信號(hào)間的相位差,判斷電源相序。
由于電源相位的變化比較慢,對(duì)響應(yīng)時(shí)間的要求相對(duì)偏低,因此將其獨(dú)立出來作為一個(gè)任務(wù),這樣可以避免因其長(zhǎng)時(shí)間的運(yùn)算,影響TASK_ControlPRO任務(wù)中其他需要快速響應(yīng)的功能的實(shí)時(shí)性。
串口通信任務(wù),收到串口通信消息后對(duì)通訊指令進(jìn)行分析、解碼,并根據(jù)指令內(nèi)容執(zhí)行相應(yīng)的操作,需要上傳數(shù)據(jù)時(shí),啟動(dòng)DMA發(fā)送數(shù)據(jù)。實(shí)現(xiàn)斷路器的‘四遙’功能:遙信、遙測(cè)、遙控和遙調(diào)。
顯示任務(wù),主要負(fù)責(zé)LED指示燈、LCD顯示屏的顯示。根據(jù)斷路器狀態(tài)控制各LED指示燈的亮滅;根據(jù)斷路器的狀態(tài)和按鍵操作控制LCD顯示屏顯示的內(nèi)容,提供友好的人機(jī)交互界面。
由于LCD接口采用的是SPI接口,當(dāng)傳輸數(shù)據(jù)量大時(shí)可啟動(dòng)SPI的DMA功能,由DMA自動(dòng)發(fā)送顯示數(shù)據(jù)。
按鍵掃描任務(wù),主要負(fù)責(zé)按鍵狀態(tài)檢測(cè),其他開關(guān)狀態(tài)輸入信號(hào)的檢測(cè)。根據(jù)按鍵輸入的內(nèi)容控制LCD屏顯示的界面,查詢斷路器測(cè)量信息、狀態(tài)信息、設(shè)置信息及故障信息等內(nèi)容,設(shè)置各項(xiàng)保護(hù)參數(shù)。
(1)DMA1_Channel1_IRQHandler中斷服務(wù)程序
系統(tǒng)要求能對(duì)多達(dá)12路的模擬信號(hào)進(jìn)行采樣處理,并需保證采樣的同步性和實(shí)時(shí)性,可利用STM32芯片提供的多路ADC通道,將其配置成ADC轉(zhuǎn)換的規(guī)則組,采用單次轉(zhuǎn)換模式,并使用雙ADC轉(zhuǎn)換功能,提升多路通道的采樣速率。
用一定時(shí)器定時(shí)觸發(fā)規(guī)則組轉(zhuǎn)換,定時(shí)時(shí)間由信號(hào)周期和每周期采樣數(shù)決定,以50Hz信號(hào)64個(gè)采樣點(diǎn)為例,定時(shí)時(shí)間為20 000μs/64=312.5μs 。
使用能夠進(jìn)行ADC轉(zhuǎn)換的DMA功能,使每次轉(zhuǎn)換完成后數(shù)據(jù)由硬件自動(dòng)保存到指定的存儲(chǔ)單元,無(wú)需CPU介入。當(dāng)整個(gè)規(guī)則組通道數(shù)據(jù)都轉(zhuǎn)換完成后產(chǎn)生DMA中斷,在中斷里面可將得到的12組數(shù)據(jù)進(jìn)行處理,當(dāng)周期采樣完成后發(fā)送消息通知相關(guān)任務(wù)處理數(shù)據(jù)。
該DMA中斷還需要執(zhí)行一個(gè)重要的功能,就是瞬時(shí)電流的判定,由于瞬動(dòng)保護(hù)對(duì)實(shí)時(shí)性要求非常高,一般要求要在20ms左右斷開斷路器。如果等周期采樣完成后再進(jìn)行判定則無(wú)法保證其速度,因此將瞬動(dòng)保護(hù)功能放置在中斷里面,將每個(gè)電流采樣點(diǎn)數(shù)據(jù)與瞬動(dòng)保護(hù)限值進(jìn)行比較,當(dāng)判定越限后認(rèn)為存在瞬動(dòng)電流,立即啟動(dòng)端口斷路器,為確保不產(chǎn)生誤動(dòng)作,可增加判定次數(shù)。
(2)串口通信相關(guān)中斷
設(shè)計(jì)中串口通信采用標(biāo)準(zhǔn)的Modbus協(xié)議,用到了3個(gè)中斷,其中串口數(shù)據(jù)接收由于其數(shù)據(jù)長(zhǎng)度的不確定性,采用串口中斷來接收,數(shù)據(jù)幀的結(jié)束和通訊超時(shí)判定由定時(shí)器中斷負(fù)責(zé),在定時(shí)器中斷里面檢測(cè)到協(xié)議規(guī)定的幀結(jié)束時(shí)間后,發(fā)送消息通知TASK_UARTPRO任務(wù)處理數(shù)據(jù)。串口數(shù)據(jù)發(fā)送由DMA自動(dòng)執(zhí)行,只需在TASK_UARTPRO任務(wù)啟動(dòng)DMA傳輸功能。
本文簡(jiǎn)單介紹了基于單片機(jī)(MCU)的智能斷路器設(shè)計(jì),由于MCU在控制上的靈活性,使得智能斷路器在功能的多樣性、判斷準(zhǔn)確性、實(shí)時(shí)通訊、人機(jī)交互及二次開發(fā)的便利性等方面都會(huì)有極大的改進(jìn)。隨著單片機(jī)技術(shù)的不斷進(jìn)步,各種邏輯器件的廣泛應(yīng)用,由其組成的智能化產(chǎn)品的應(yīng)用領(lǐng)域也將不斷的拓展。