王楠楠,劉春英
(河北工程大學(xué) 信息與電氣工程學(xué)院,邯鄲 056038)
“晃電”是指電網(wǎng)因雷擊、短路、發(fā)電廠故障及其他外部、內(nèi)部原因造成電網(wǎng)短時(shí)間電壓大幅度波動(dòng)、甚至短時(shí)斷電數(shù)秒的現(xiàn)象;“晃電”會(huì)使系統(tǒng)電壓瞬間降低,導(dǎo)致接觸器、變頻器及斷路器等控制設(shè)備脫扣,造成能源供應(yīng)中止或生產(chǎn)線停產(chǎn)[1]。企業(yè)中,大量低壓電動(dòng)機(jī)由接觸器來(lái)控制,供電系統(tǒng)短暫失壓將會(huì)使接觸器因失電脫扣,導(dǎo)致電機(jī)停機(jī)。晃電結(jié)束后,電網(wǎng)電壓恢復(fù),電機(jī)需人工啟動(dòng),大量時(shí)間被延誤。給企業(yè)造成了相當(dāng)大的直接、間接的經(jīng)濟(jì)損失。
本文針對(duì)交流接觸器控制的電動(dòng)機(jī),設(shè)計(jì)了一種基于STM32微控制器和MODBUS協(xié)議的低壓電機(jī)再啟動(dòng)控制器。根據(jù)用戶(hù)現(xiàn)場(chǎng)回路采用不同的接線方式,實(shí)現(xiàn)相應(yīng)的再起動(dòng)控制,有效避免了晃電對(duì)企業(yè)連續(xù)生產(chǎn)的影響。
控制器充分利用STM32微處理器豐富的片上資源和強(qiáng)大的處理功能,實(shí)現(xiàn)電機(jī)精確、安全再啟動(dòng),并實(shí)時(shí)顯示電機(jī)運(yùn)行狀態(tài)以及當(dāng)前電壓值;以RS485為物理層,通過(guò)MODBUS協(xié)議,實(shí)現(xiàn)上位機(jī)對(duì)現(xiàn)場(chǎng)設(shè)備的智能化控制以及網(wǎng)絡(luò)化管理。
低壓電機(jī)再啟動(dòng)控制器供電電路引自交流接觸器控制電路L、N端,并通過(guò)控制器的輸出控制端檢測(cè)接觸器KM常開(kāi)輔助觸點(diǎn)狀態(tài),從而判斷晃電發(fā)生情況。
現(xiàn)場(chǎng)電路供電正常時(shí),控制器電源電路中設(shè)計(jì)法拉電容作為儲(chǔ)能元件,發(fā)生晃電時(shí),電容放電供控制器工作,可維持工作時(shí)間300 s。
當(dāng)現(xiàn)場(chǎng)發(fā)生晃電時(shí),交流接觸器KM的線圈失電,接觸器KM主觸點(diǎn)斷開(kāi),正在運(yùn)行的電機(jī)停機(jī)。同時(shí)接觸器KM常開(kāi)輔助觸點(diǎn)斷開(kāi),控制器啟動(dòng)計(jì)時(shí)??刂破鲗?shí)時(shí)監(jiān)測(cè)電網(wǎng)電壓,根據(jù)電壓恢復(fù)情況控制電機(jī):如果電網(wǎng)電壓在設(shè)定時(shí)間內(nèi)的某一時(shí)刻開(kāi)始恢復(fù)正常,此時(shí)開(kāi)始,根據(jù)工藝流程要求,控制器延時(shí)控制相應(yīng)繼電器閉合,接觸器KM線圈得電,KM主觸頭閉合,因電網(wǎng)晃電造成停機(jī)的電機(jī)再啟動(dòng);如果在允許時(shí)間內(nèi)電網(wǎng)電壓沒(méi)有恢復(fù)正常,則控制器相應(yīng)繼電器不動(dòng)作,線路保持?jǐn)嚅_(kāi),電機(jī)由其它方式再啟動(dòng)。
控制器設(shè)計(jì)了兩路繼電器控制,根據(jù)現(xiàn)場(chǎng)對(duì)電機(jī)再啟動(dòng)方式要求,來(lái)控制繼電器J1和繼電器J2狀態(tài),實(shí)現(xiàn)不同方式的電機(jī)再啟動(dòng),如星三角啟動(dòng)回路或降壓?jiǎn)?dòng)回路的電機(jī)再起動(dòng)。
控制器通過(guò)RS485總線可以和上位機(jī)進(jìn)行雙向通信。上位機(jī)可以對(duì)接觸器狀態(tài)及抗晃電時(shí)間等進(jìn)行遙控和查詢(xún);上位機(jī)有要求時(shí),控制器可以將接觸器當(dāng)前狀態(tài)、晃電時(shí)間、有無(wú)晃電現(xiàn)象等信息上傳至上位機(jī)。
控制器由電源電路、STM32微處理器、電壓監(jiān)測(cè)、繼電器、按鍵輸入、顯示、485通信模塊組成。控制器硬件框圖如圖1所示。
圖1 硬件框圖Fig.1 Block diagram of hardware devices
控制器4個(gè)輸入按鍵包括復(fù)位鍵、功能選擇鍵、位選擇鍵、加1/確認(rèn)功能鍵;數(shù)碼管顯示晃電時(shí)間、電網(wǎng)電壓等。通信模塊實(shí)現(xiàn)控制器與上位機(jī)通信。
STM32系列32位閃存微控制器使用來(lái)自ARM公司具有突破性的Cortex-M3內(nèi)核,該內(nèi)核是專(zhuān)門(mén)設(shè)計(jì)于滿(mǎn)足集高性能、低功耗、實(shí)時(shí)應(yīng)用、具有競(jìng)爭(zhēng)性?xún)r(jià)格于一體的嵌入式領(lǐng)域的要求[2]。
控制器以32位STM32F103RBT6為核心處理器,性能高、功耗低。片上集成128 K字節(jié)的Flash存儲(chǔ)器,2個(gè)12位μs級(jí)A/D轉(zhuǎn)換器,3個(gè) USART接口。微處理器基于Cortex-M3 CPU,最高工作頻率可達(dá)72 MHz,單周期32位乘法和硬件除法器,大幅提高Cortex-M3運(yùn)算能力。
編程時(shí),應(yīng)用STM32固件函數(shù)庫(kù),可以大大降低編寫(xiě)程序的時(shí)間,降低成本。
控制器由電網(wǎng)交流低壓經(jīng)過(guò)開(kāi)關(guān)電源變換輸出電壓供電。“晃電”再啟動(dòng)控制器必須能夠在系統(tǒng)供電出現(xiàn)低電壓或者供電中斷時(shí)維持正常連續(xù)工作,才能夠在電壓恢復(fù)后按設(shè)定的參數(shù)精確再啟動(dòng)[3]。電壓電路原理圖如圖2所示,圖中法拉電容C2、C4的作用為晃電時(shí),作為維持控制器工作的電源;D2、D3、D4功能為防止法拉電容向開(kāi)關(guān)電源供電,損壞開(kāi)關(guān)電源;R1用來(lái)限制法拉電容的充電電流。
圖2 電源電路Fig.2 Power circuit
控制器通過(guò)監(jiān)測(cè)接觸器常開(kāi)輔助觸點(diǎn)判斷電機(jī)運(yùn)行狀態(tài),通過(guò)L、N兩端電壓監(jiān)測(cè)電網(wǎng)電壓恢復(fù)情況,控制電機(jī)再啟動(dòng)。電壓監(jiān)測(cè)電路如圖3所示,電壓互感器T1輸出電流,經(jīng)R2輸出電壓,D7、D8兩個(gè)保護(hù)二極管與1.5 V基準(zhǔn)電壓,保證電壓互感器輸出電壓UA在0.8~2.2 V,在處理器A/D的線性工作范圍內(nèi);R10、C52低通濾波,R9吸收特高頻信號(hào),便于諧波分析;D5、D6組成鉗位電路,防止A/D輸入信號(hào)過(guò)小或過(guò)大燒壞芯片。
圖3 電壓監(jiān)測(cè)電路Fig.3 Voltage monitoring circuit
繼電器控制電路中采用光耦合器實(shí)現(xiàn)控制電路與現(xiàn)場(chǎng)電路電氣隔離,同時(shí)保持信號(hào)聯(lián)系。如果電網(wǎng)電壓在規(guī)定時(shí)間內(nèi)恢復(fù)正常,STM32控制對(duì)應(yīng)輸出端口,光耦合器3腳輸出高電平,R8防止光耦合器截止時(shí),三極管基極下拉至地,保證三極管截止,通過(guò)限流電阻R6給三極管發(fā)射結(jié)提供靜態(tài)偏置,三極管處于飽和狀態(tài),控制繼電器閉合,線路閉合,實(shí)現(xiàn)電機(jī)再啟動(dòng);如果電網(wǎng)電壓沒(méi)有恢復(fù)正常,則繼電器保持?jǐn)嚅_(kāi),電機(jī)由其它方式再啟動(dòng)。D10為續(xù)流二極管,C5為濾波電容。繼電器控制電路設(shè)計(jì)如圖4所示。
圖4 繼電器控制電路Fig.4 Relay controlling circuit
控制器軟件設(shè)計(jì)決定電機(jī)能否實(shí)現(xiàn)精確、安全的再啟動(dòng)。通信協(xié)議選擇決定上位機(jī)對(duì)現(xiàn)場(chǎng)設(shè)備監(jiān)控的準(zhǔn)確性和實(shí)時(shí)性??刂破鬈浖O(shè)計(jì)包括MODBUS協(xié)議選擇、通信命令格式、電機(jī)再啟動(dòng)控制程序。
MODBUS協(xié)議是應(yīng)用在工業(yè)控制領(lǐng)域中的一種標(biāo)準(zhǔn)通信協(xié)議,通過(guò)該協(xié)議,不同廠商生產(chǎn)的設(shè)備可以連接成工業(yè)網(wǎng)絡(luò),實(shí)現(xiàn)集散控制。RS485總線通信方式具有結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉、通信距離較遠(yuǎn)和數(shù)據(jù)傳輸速率適當(dāng)?shù)葍?yōu)點(diǎn)[4]。
標(biāo)準(zhǔn)MODBUS協(xié)議有2種工作模式:ASCII模式和RTU模式。由于在同樣的波特率下,RTU模式比ASCII模式能夠傳送更多的數(shù)據(jù)[5],因此控制器采用RTU模式來(lái)實(shí)現(xiàn)MODBUS通信協(xié)議。
RTU消息幀典型格式如表1所示。采用RTU模式通信時(shí),消息發(fā)送至少要以3.5個(gè)字符時(shí)間的停頓間隔開(kāi)始。在最后一個(gè)傳輸字符之后,一個(gè)至少3.5個(gè)字符時(shí)間的停頓標(biāo)定消息的結(jié)束。
表1 RTU消息幀Tab.1 RTU message frame
MODBUS通信采用主從方式,在同一網(wǎng)絡(luò)中,主機(jī)和從機(jī)必須都采用統(tǒng)一通信模式和同一傳輸速率。
控制器與上位機(jī)通信包括最近一次晃電開(kāi)始時(shí)間、晃電結(jié)束時(shí)間,因晃電停機(jī)電機(jī)是否由控制器重啟,控制器參數(shù)設(shè)置,系統(tǒng)供電時(shí)重啟電機(jī)及對(duì)時(shí)等信息。
如1號(hào)控制器記錄最近一次晃電發(fā)生時(shí)間為2014年2月12日6時(shí)25分37.55秒,結(jié)束時(shí)間為2014年2月12日6時(shí)25分37.98秒。時(shí)間在4個(gè)寄存器中,用毫秒方式表示,轉(zhuǎn)換成16進(jìn)制,則上述發(fā)生時(shí)間存儲(chǔ)為:07de 020c 0619 92ae。寄存器首地址為01H,上位機(jī)讀寄存器功能碼為03H,控制器1返回晃電發(fā)生和結(jié)束時(shí)間,則命令格式為
上位機(jī)發(fā)送:0x01 0x03 0x00 0x01 0x00 0x08 0x1d 0x14
控制器 1返回:0x01 0x03 0x10 0x07 0xde 0x02 0x0c 0x06 0x19 0x92 0xae 0x07 0xde 0x02 0x0c 0x06 0x19 0x94 0x5c 0x07 0x5a
上位機(jī)對(duì)時(shí)命令,保證現(xiàn)場(chǎng)組網(wǎng)設(shè)備時(shí)鐘一致。對(duì)時(shí)命令以廣播方式發(fā)送,功能碼為10H,寄存器首地址為40H。如果統(tǒng)一對(duì)時(shí)時(shí)間為2014年2月13日8時(shí)10分20.20秒,則命令格式為
上位機(jī)發(fā)送:0x00 0x10 0x00 0x40 0x00 0x04 0x08 0x07 0xde 0x02 0x0d 0x08 0x0a 0x4e 0xe8 0x10 0x23
上位機(jī)發(fā)送對(duì)時(shí)命令后,現(xiàn)場(chǎng)組網(wǎng)中所有從機(jī)設(shè)備如控制器1按命令設(shè)置控制器時(shí)間。
1號(hào)控制器重啟晃電后停機(jī)的電機(jī),則首地址00H寄存器值為01,否則為00,則當(dāng)重啟后上位機(jī)查詢(xún)時(shí),命令格式為
上位機(jī)發(fā)送:0x01 0x03 0x00 0x00 0x00 0x01 0x0a 0x84
控制器 1返回:0x01 0x03 0x02 0x00 0x01 0x84 0x79
再啟動(dòng)控制包括3個(gè)模塊:電機(jī)掉電判斷及再啟動(dòng);實(shí)時(shí)監(jiān)測(cè)電網(wǎng)電壓,微處理器采樣中斷功能可保證實(shí)時(shí)性;人機(jī)交互模塊。電機(jī)再啟動(dòng)控制部分流程如圖5所示??刂破髦饕鶕?jù)接觸器輔助觸點(diǎn)判斷電機(jī)運(yùn)行狀態(tài)變化,根據(jù)掉電后電網(wǎng)電壓恢復(fù)情況和現(xiàn)場(chǎng)線路設(shè)計(jì),控制繼電器動(dòng)作。
圖5 再啟動(dòng)控制流程圖Fig.5 Flow chart of restarting controlling
控制器可以實(shí)現(xiàn)不同接線方式電機(jī)再啟動(dòng),以星-三角接線再啟動(dòng)為例,介紹控制器控制接線應(yīng)用,接線圖如圖6所示。
圖6 再啟動(dòng)控制接線圖Fig.6 Wiring chart of restarting controlling
控制器通過(guò)監(jiān)測(cè)接觸器KM3輔助觸點(diǎn)狀態(tài)判斷是否有晃電現(xiàn)象發(fā)生。再啟動(dòng)控制過(guò)程為:如果ZJ釋放,控制器輸出再啟動(dòng)信號(hào),繼電器J1線圈得電,KM3線圈得電主觸頭閉合,同時(shí)時(shí)間繼電器SJ得電延時(shí),KM1線圈得電主觸頭閉合,電機(jī)以星形接線啟動(dòng);SJ延時(shí)到,SJ常開(kāi)觸點(diǎn)閉合,繼電器ZJ線圈得電,KM3線圈失電,KM2線圈得電主觸頭閉合同時(shí)SJ線圈失電,KM1線圈不斷電,電機(jī)以三角形接線運(yùn)行。
控制器采用STM32作為核心處理器,充分利用其豐富的片上資源和高速處理能力,準(zhǔn)確測(cè)量電網(wǎng)電壓,精確定時(shí)再啟動(dòng)因晃電停機(jī)的電機(jī)。通過(guò)RS485總線與上位機(jī)通信,采用標(biāo)準(zhǔn)的MODBUS協(xié)議,實(shí)現(xiàn)低壓電網(wǎng)的智能化控制。控制器完成后,已成功應(yīng)用于某些連續(xù)生產(chǎn)的煤化工企業(yè)中,有效防止因電網(wǎng)晃電而造成的電機(jī)停機(jī)事故。
[1] 陳建厚.企業(yè)“晃電”治理的方法[J].電氣應(yīng)用,2011,30(6):21-24.
[2] 季力.基于STM32芯片的電參數(shù)測(cè)量與數(shù)據(jù)傳輸[J].自動(dòng)化與儀器儀表,2010(3):137-139.
[3] 高仁璟,崔建軍,郝剛.“晃電”檢測(cè)與再啟動(dòng)控制器設(shè)計(jì)[J].儀器儀表學(xué)報(bào),2008,29(4):822-824.
[4] 汪義旺,崔鳴,祁春清.RS-485/Modbus在FFU控制系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2010,31(6):39-44.
[5] 鄭鴻彥,苗世洪,張軍民.基于ARM9微處理器的MODBUS通信協(xié)議的實(shí)現(xiàn)[J].電氣應(yīng)用,2007,26(5):45-79. ■