董文華
(湖北廣播電視臺(tái),湖北 武漢 430071)
高壓帶電顯示器是一種直接安裝在室內(nèi)電氣設(shè)備上,能夠直觀顯示出電氣設(shè)備是否帶有運(yùn)行電壓的提示性安全裝置。當(dāng)設(shè)備帶有運(yùn)行電壓時(shí),該顯示器顯示窗發(fā)出亮光指示,警示運(yùn)維人員高壓設(shè)備帶電,若設(shè)備無電,則無相應(yīng)指示。
高壓帶電顯示器通過抽壓電容芯棒,從高壓帶電回路中抽取一定的電壓作為顯示和閉鎖的電源,用于反映裝置設(shè)置處于帶電狀態(tài),并能強(qiáng)制閉鎖開關(guān)柜柜門。
高壓帶電顯示器因其特性被廣泛用于進(jìn)線母線、斷路器、主變、開關(guān)柜、GIS組合電器等處,但在實(shí)際使用過程中也暴露出一定的不足。目前,電力監(jiān)控系統(tǒng)被廣泛應(yīng)用于變配電站所,用于監(jiān)視和控制電力生產(chǎn)及供應(yīng)全過程。但傳統(tǒng)的高壓帶電顯示器只能在本地通過指示燈判斷系統(tǒng)運(yùn)行狀態(tài),無數(shù)據(jù)接口提供給后臺(tái)電力監(jiān)控系統(tǒng),這極大地限制了該設(shè)備的應(yīng)用前景。特別是在廣播電視供配電系統(tǒng)中,一般采用雙電源供電高壓母聯(lián)互倒的運(yùn)行方式。當(dāng)一路市電停電時(shí),該側(cè)高壓進(jìn)線斷路器處于分?jǐn)酄顟B(tài),后臺(tái)系統(tǒng)無法通過有效方式檢測(cè)該側(cè)市電是否來電。值班人員只能反復(fù)檢查高壓進(jìn)線柜高壓帶電顯示器,確認(rèn)是否來電,從而增加了值班人員的工作量。
高壓帶電顯示器原理如圖1所示。該系統(tǒng)由傳感器和顯示器兩部分組成。通常,傳感器安裝在電纜室或母線室,與母線相連,其作用是將高壓帶電部分的高電壓分壓,抽取其中一部分低電壓提供給顯示器使用。顯示器一般是電阻和氖管組成,顯示設(shè)備帶電狀態(tài)。當(dāng)設(shè)備帶電時(shí),高壓電通過傳感器分壓使氖管發(fā)光,提示設(shè)備帶電。
圖1 高壓帶電顯示器原理圖
為使設(shè)備帶電狀態(tài)能夠傳送給后臺(tái)監(jiān)控系統(tǒng),利用原高壓帶電顯示器傳感器部分采集低電壓,經(jīng)過整流和降壓后再經(jīng)模數(shù)轉(zhuǎn)換(ADC),由單片機(jī)保存設(shè)備狀態(tài)。當(dāng)后臺(tái)監(jiān)控系統(tǒng)請(qǐng)求該設(shè)備帶電狀態(tài)時(shí),單片機(jī)按Modbus協(xié)議規(guī)范向后臺(tái)系統(tǒng)發(fā)送數(shù)據(jù)。系統(tǒng)框圖如圖2所示。
圖2 系統(tǒng)框圖
經(jīng)測(cè)量,傳感器對(duì)地輸出電壓約為交流25V;無電時(shí),電壓約為0V。為便于數(shù)據(jù)采集,將輸入電壓轉(zhuǎn)換為直流5V標(biāo)準(zhǔn)電壓。為簡(jiǎn)化設(shè)計(jì)方案,采用半波整流電容濾波電阻分壓電路,如圖3所示。
圖3 整流與降壓電路
(1)電阻選擇。該系統(tǒng)選用STC15F2K60S2單片機(jī)(以下簡(jiǎn)稱為STC單片機(jī))完成ADC轉(zhuǎn)換功能。該單片機(jī)ADC輸入口等效阻抗約幾十千歐,取分壓電阻R2為10kΩ。整流濾波后的輸入電壓為R2的電壓U2應(yīng)不大于5V,根據(jù)歐姆定律可得公式(1)。
式中:U=35V,U2=5V,R2=10kΩ,通過計(jì)算可得R1=60kΩ。根據(jù)常用電阻規(guī)格表,R1選擇參數(shù)為阻值62kΩ、功率1/8W的電阻,R2選擇參數(shù)為阻值10kΩ、功率1/8W的電阻。
(2)濾波電容選擇。半波整流濾波電容計(jì)算公式如下:
式中:Vp為輸入電壓的峰值,V;VD為二極管的正向?qū)妷海琕;Vr為紋波電壓,V;f為交流電頻率,Hz;R為負(fù)載電阻,kΩ。其中,Vp=35V,VD=0.7V,Vr< 1V,f=50Hz,R≈R1+R2=72kΩ。 經(jīng) 計(jì) 算,C>9uF。根據(jù)常用電容規(guī)格表,選擇參數(shù)為容量22uF、耐壓50V的電解電容。
因有a、b、c三路獨(dú)立傳感器,故系統(tǒng)有三路相同、獨(dú)立的整流、降壓電路,如圖4所示。
圖4 系統(tǒng)硬件原理圖
為了把設(shè)備帶電狀態(tài)發(fā)送給后臺(tái)監(jiān)控系統(tǒng),需要把直流電壓模擬量轉(zhuǎn)換為數(shù)字量。STC單片機(jī)集成有8路10位精度ADC轉(zhuǎn)換器,位于P1口。高壓帶電顯示器傳感器輸出為3路電壓量,系統(tǒng)使用STC單片機(jī)P1.0~P1.2作為ADC輸入口。整流降壓電路與STC單片機(jī)接線方式如圖4所示。ADC轉(zhuǎn)換在單片機(jī)內(nèi)部完成,并將轉(zhuǎn)換數(shù)據(jù)直接存入單片機(jī)內(nèi)部寄存器。
串口數(shù)據(jù)傳輸通過STC單片機(jī)集成功能實(shí)現(xiàn),該單片機(jī)內(nèi)部集成3個(gè)串口,系統(tǒng)使用串口1。為便于長(zhǎng)距離傳輸、減少數(shù)據(jù)差錯(cuò)率,將單片機(jī)TTL電平串口轉(zhuǎn)換為RS-485接口。
系統(tǒng)使用MAX485芯片實(shí)現(xiàn)TTL與RS-485轉(zhuǎn)換。MAX485工作在半雙工狀態(tài),使用STC單片機(jī)P3.2控制MAX485芯片和DE兩個(gè)引腳,控制發(fā)送、接收數(shù)據(jù)。MAX485芯片RO和DI端分別與STC單片機(jī)的P3.0/RXD和P3.1/TXD相連。R7為A和B端之間匹配電阻,電阻參數(shù)為阻值100Ω、功率1/8W。MAX485與單片機(jī)接線方式如圖4所示。
(1)電源。該系統(tǒng)工作電壓為標(biāo)準(zhǔn)5V直流電源,一般電力系統(tǒng)操作電源為220V直流或交流電源,電源模塊將220V直流或交流轉(zhuǎn)換為5V直流。電源模塊正極與系統(tǒng)VCC相連,負(fù)極與GND相連。
(2)地址選擇開關(guān)。Modbus協(xié)議中設(shè)備具有唯一地址,為使不同設(shè)備具有不同地址,使用1個(gè)4位DIP開關(guān)設(shè)置設(shè)備地址,DIP開關(guān)與單片機(jī)P2.4~P2.7口相連。DIP開關(guān)與單片機(jī)接線方式如圖4所示。
系統(tǒng)軟件使用C51語言編寫,主要包括ADC模數(shù)轉(zhuǎn)換、數(shù)據(jù)采樣、Modbus協(xié)議的串行通信等。CPU系 統(tǒng)時(shí)鐘頻率為11.0592MHz。
系統(tǒng)ADC數(shù)據(jù)采集、串行通信、定時(shí)器均采用中斷方式,ADC采樣周期為1s。其中,定時(shí)器0作為ADC采樣計(jì)時(shí)器,定時(shí)器1作為判斷幀結(jié)構(gòu)計(jì)時(shí)器,定時(shí)器2作為串口波特率發(fā)生器。串口中斷優(yōu)先級(jí)設(shè)為高,其他中斷優(yōu)先級(jí)設(shè)為低。
STC單片機(jī)ADC輸入通道使用P1口,通過P1ASF寄存器可將P1口中的任何一路設(shè)置為ADC輸入通道,該系統(tǒng)使用P1.0~P1.2共3個(gè)輸入通道。STC單片機(jī)ADC模塊的參考電壓為輸入工作電壓,該系統(tǒng)中為5V。ADC控制寄存器ADC_CONTR用于選擇轉(zhuǎn)換輸入通道、設(shè)置轉(zhuǎn)換速度及ADC啟動(dòng)等。設(shè)置SPEED0=0,SPEED1=0,ADRJ=0。
定時(shí)器0中斷程序流程如圖5所示。定時(shí)器0的計(jì)時(shí)時(shí)長(zhǎng)為10ms,當(dāng)時(shí)間到產(chǎn)生中斷后,先清除計(jì)時(shí)中斷標(biāo)志TF0,判斷計(jì)數(shù)器是否計(jì)滿100(1s)。若沒計(jì)滿,則將計(jì)數(shù)器加1并重新啟動(dòng)計(jì)時(shí)器;若已計(jì)滿,則從通道0開始進(jìn)行ADC轉(zhuǎn)換,并將計(jì)數(shù)器清零重新開始計(jì)時(shí)。
圖5 定時(shí)器0中斷程序流程圖
ADC模數(shù)轉(zhuǎn)換中斷程序流程如圖6所示。當(dāng)一路ADC轉(zhuǎn)換完成后,將產(chǎn)生ADC中斷。進(jìn)入ADC中斷程序后首先清除ADC_FLAG寄存器,為下次采樣做準(zhǔn)備。讀取ADC_RES寄存器的值,并根據(jù)端口號(hào)存入40H-42H寄存器,為數(shù)據(jù)發(fā)送做準(zhǔn)備。判斷端口號(hào)是否等于2,是則說明3個(gè)通道都已采樣完畢,等待下一個(gè)采樣周期;否則,將端口號(hào)和通道號(hào)都加1,并重新啟動(dòng)ADC轉(zhuǎn)換,采集下一通道數(shù)據(jù)。
圖6 ADC模數(shù)轉(zhuǎn)換中斷程序流程圖
系統(tǒng)使用P3.0和P3.1作為串行通信的發(fā)送和接收口,P3.2作為控制MAX485芯片的發(fā)送、接收控制口。串口工作方式為1,通信波特率設(shè)為9600bps。
系統(tǒng)使用Modbus協(xié)議,主從模式。后臺(tái)監(jiān)控系統(tǒng)作為上位機(jī)向系統(tǒng)請(qǐng)求數(shù)據(jù),系統(tǒng)作為下位機(jī),響應(yīng)上位機(jī)請(qǐng)求。通信傳輸方式為RTU模式。
RTU數(shù)據(jù)幀從頭開始依次為起始位、設(shè)備地址、功能代碼、數(shù)據(jù)、CRC校驗(yàn)、結(jié)束位。因只傳輸設(shè)備帶電的狀態(tài),系統(tǒng)僅支持功能碼03,即讀取保持寄存器。
系統(tǒng)的設(shè)備地址由DIP開關(guān)進(jìn)行選擇,默認(rèn)地址范圍為80H~8FH。若該地址與其他設(shè)備沖突,可在軟件中改為其他地址段。
Modbus協(xié)議傳輸幀的方式是間隔3.5個(gè)字符以上再發(fā)送下一幀,按1字符包括1起始位、8位數(shù)據(jù)位、1校驗(yàn)位、1停止位總計(jì)包括11位,照此計(jì)算,3.5字符就是3.5×11=38.5位,取40位。幀間隔時(shí)間t=(1÷9600)×40=4.2ms。
串行通信中斷程序流程如圖7所示。系統(tǒng)初始處于監(jiān)聽狀態(tài),即串口設(shè)置為接收狀態(tài)。上位機(jī)需要獲取某一設(shè)備狀態(tài)時(shí),會(huì)發(fā)送有該設(shè)備地址的數(shù)據(jù)請(qǐng)求幀。若串口中斷為接收數(shù)據(jù)觸發(fā),將收到的數(shù)據(jù)存入接收緩沖區(qū),重置并啟動(dòng)定時(shí)器1,繼續(xù)接收數(shù)據(jù)。若串口中斷為發(fā)送數(shù)據(jù)觸發(fā),則判斷發(fā)送區(qū)數(shù)據(jù)是否已發(fā)送完畢,若未發(fā)送完畢則繼續(xù)發(fā)送下一數(shù)據(jù),若已發(fā)送完畢則轉(zhuǎn)為接收狀態(tài)。
定時(shí)器1作為判斷幀結(jié)構(gòu)計(jì)時(shí)器,計(jì)時(shí)時(shí)長(zhǎng)為4.2ms。定時(shí)器1中斷程序流程如圖8所示。進(jìn)入該中斷說明一幀信息已接收完畢,中斷程序首先關(guān)閉定時(shí)器1,并進(jìn)行幀信息處理。先進(jìn)行CRC校驗(yàn),然后檢驗(yàn)幀地址是否為本機(jī),若CRC校驗(yàn)和地址檢查都通過,根據(jù)上位機(jī)請(qǐng)求,生成反饋數(shù)據(jù)幀寫入發(fā)送數(shù)據(jù)緩存區(qū),延時(shí)4.2ms(幀間間隔)后逐字節(jié)發(fā)送。若發(fā)現(xiàn)CRC校驗(yàn)失敗或幀地址不是本機(jī),則直接丟棄該幀,清空接收緩沖,重新接收下一幀數(shù)據(jù)。高壓帶電顯示器的狀態(tài)數(shù)據(jù)最終到達(dá)后臺(tái)監(jiān)控系統(tǒng),并通過監(jiān)控界面顯示。
圖7 串行通信中斷程序流程圖
圖8 定時(shí)器1中斷程序流程圖a
該系統(tǒng)的設(shè)計(jì)目標(biāo)是基于Modbus通信協(xié)議的高壓帶電顯示器后臺(tái)數(shù)據(jù)傳輸。系統(tǒng)采用STC單片機(jī)作為核心控制芯片,使用C51語言編寫了Modbus通信協(xié)議,采用RS485接口作為數(shù)據(jù)傳輸方式,實(shí)現(xiàn)了高壓帶電顯示器與后臺(tái)監(jiān)控系統(tǒng)的相互通信。整個(gè)系統(tǒng)具有功耗低、可靠性高的優(yōu)勢(shì),較好地滿足了廣播電視供配電系統(tǒng)對(duì)于設(shè)備運(yùn)行狀態(tài)的監(jiān)測(cè)要求,并可在類似場(chǎng)景推廣,應(yīng)用前景十分廣闊。