張 莉,鄔寶寅
(1.鄭州科技學(xué)院機(jī)械工程學(xué)院,河南 鄭州 450064;2.新天科技股份有限公司,河南 鄭州 450001)
接觸器是電氣控制系統(tǒng)常用的負(fù)載驅(qū)動(dòng)元件。接觸器用于連接控制回路與主回路,可將控制回路的弱控制信號(hào)轉(zhuǎn)換為主回路的通斷。傳統(tǒng)接觸器為機(jī)械觸點(diǎn)式,通過(guò)控制電磁線圈電流的通斷使電磁線圈產(chǎn)生磁力,再控制機(jī)械主觸點(diǎn)的通斷,從而將控制電磁線圈的弱電流轉(zhuǎn)換為主觸點(diǎn)的強(qiáng)電流。在這個(gè)轉(zhuǎn)換過(guò)程中,電磁線圈所在的回路和主觸點(diǎn)所在的回路是電氣隔離的,可以有不同的電壓等級(jí)。發(fā)生故障或斷電時(shí),主觸點(diǎn)在彈簧的作用下斷開,所以接觸器具有較高的安全性和可靠性。
較復(fù)雜的電氣控制系統(tǒng)中,接觸器通常由可編程邏輯控制器(programmable logic controller,PLC)、計(jì)算機(jī)輸入/輸出(input/output,I/O)接口卡或工業(yè)觸摸屏I/O接口控制。每個(gè)接觸器線圈連接1個(gè)開關(guān)量輸出點(diǎn),通過(guò)程序控制接觸器負(fù)載動(dòng)作。這種系統(tǒng)在接觸器較多時(shí)導(dǎo)線使用也較多,且接觸器負(fù)載之間距離不能太遠(yuǎn),一般采用將接觸器和PLC集中安裝在控制箱的方式[1]。對(duì)于大型分布式控制系統(tǒng),需要采用現(xiàn)場(chǎng)總線連接的多臺(tái)PLC分別控制各自的接觸器負(fù)載,系統(tǒng)結(jié)構(gòu)較復(fù)雜,成本較高。大容量接觸器不能由PLC輸出點(diǎn)直接驅(qū)動(dòng),而是需要采用中間繼電器,導(dǎo)致布線更復(fù)雜。
固體繼電器(接觸器)是采用電力晶體管制造的無(wú)觸點(diǎn)開關(guān)元件,可通過(guò)極微弱的電流信號(hào)控制強(qiáng)電負(fù)載的通斷,并可實(shí)現(xiàn)遠(yuǎn)高于機(jī)械觸點(diǎn)的開關(guān)速度和通斷次數(shù)壽命。但電力晶體管對(duì)過(guò)載較敏感,需要配合保護(hù)電路,且在斷開時(shí)存在不可消除的漏電流,不能實(shí)現(xiàn)開關(guān)兩端的徹底斷開[2-3]??偩€式固體接觸器系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
本文結(jié)合現(xiàn)代微控制器技術(shù)和電力晶體管技術(shù),設(shè)計(jì)總線式固體接觸器。如圖1所示,總線式固體接觸器通過(guò)總線互相連接,由總線指令控制通斷。主控制器通過(guò)RS-422串行接口發(fā)送指令,控制總線上所有接觸器的通斷??偩€式固體接觸器內(nèi)部通過(guò)光電隔離省略中間繼電器環(huán)節(jié),簡(jiǎn)化電路結(jié)構(gòu),方便安裝使用。由于串行總線可實(shí)現(xiàn)遠(yuǎn)距離通信,這種方式更適合遠(yuǎn)距離分散安裝情況下的集中控制。接觸器通過(guò)現(xiàn)場(chǎng)總線直接控制,相當(dāng)于將常規(guī)應(yīng)用中PLC層級(jí)的現(xiàn)場(chǎng)總線下移至接觸器層級(jí),使之成為一種面向負(fù)載分散安裝的現(xiàn)場(chǎng)總線智能終端,更符合現(xiàn)代集散控制系統(tǒng)集中管理分散控制的思想[4]。
總線式固體接觸器相當(dāng)于具有1個(gè)輸出點(diǎn)的總線式PLC,采用微控制器電子線路構(gòu)成控制核心,采用電力晶體管構(gòu)成觸點(diǎn),故稱之為“固體”接觸器。借助其微控制器硬件和總線通信功能,還可實(shí)現(xiàn)更多智能化設(shè)計(jì)功能,如精確的軟啟動(dòng)、三相電壓電流檢測(cè)、斷相故障檢測(cè)等[5-6]。
總線式固體接觸器硬件由微控制器、雙RS-422總線接口電路、晶閘管驅(qū)動(dòng)測(cè)量保護(hù)電路這3個(gè)部分構(gòu)成。
晶閘管驅(qū)動(dòng)測(cè)量保護(hù)電路如圖2所示。三相固體接觸器含有3個(gè)這樣的結(jié)構(gòu),設(shè)計(jì)容量為10 A。相線L從端子J9進(jìn)入,分別經(jīng)過(guò)電壓電流測(cè)量電路、雙向晶閘管驅(qū)動(dòng)電路和保護(hù)電路,從端子J6輸出。
圖2 晶閘管驅(qū)動(dòng)測(cè)量保護(hù)電路
晶閘管驅(qū)動(dòng)電路由雙向晶閘管Q6 BAT26/600B和過(guò)零型雙向可控硅輸出光耦U16 MOC3063構(gòu)成。U17輸入端由微控制器I/O口C1通過(guò)三極管Q16控制。當(dāng)C1輸出低電平時(shí),U16輸入端發(fā)光管導(dǎo)通、輸出端在下一次過(guò)零時(shí)輸出觸發(fā)電流,觸發(fā)雙向晶閘管Q6導(dǎo)通,從而使三相固體接觸器的該相回路閉合。當(dāng)C1輸出高電平時(shí),U16在下一次過(guò)零時(shí)關(guān)斷觸發(fā)電流,致使Q6關(guān)斷[9-10]。
晶閘管驅(qū)動(dòng)電路后方為保護(hù)電路,包括熔斷器F1、浪涌吸收電路和輸出檢測(cè)電路。F1為20 A 10×38熔斷器,用于短路保護(hù),以防止晶閘管損壞。浪涌吸收電路由C33、R53構(gòu)成的容阻吸收電路和400 V壓敏電阻RV5組成。輸出檢測(cè)電路由普通光耦U17構(gòu)成。U17輸入端通過(guò)電阻串聯(lián)在相線輸出端和零線之間。U17光電輸出端連接在微控制器I/O口上。若晶閘管Q6導(dǎo)通,則U17光電端輸出50 Hz周期性高電平,由此可在故障時(shí)判斷是熔斷器熔斷還是負(fù)載斷相。
雙RS-422總線接口電路如圖3所示[ 3]。
圖3 總線接口電路
2個(gè)RS-422電路的差分端構(gòu)成固體接觸器的2個(gè)總線接口(A和B)。2個(gè)RS-422電路的晶體管-晶體管邏輯(transistor-transistor logic,TTL)端通過(guò)2個(gè)三態(tài)門相連構(gòu)成中繼透?jìng)麟娐?同時(shí)分別與微控制單元(microcontroller unit,MCU)的2個(gè)串口收發(fā)端相連。MCU采用STM32F103C8。三態(tài)門平時(shí)處于閉合狀態(tài),來(lái)自總線的差分信號(hào)數(shù)據(jù)從總線接口A進(jìn)入,轉(zhuǎn)換為TTL數(shù)據(jù),再穿過(guò)三態(tài)門重新轉(zhuǎn)換為差分?jǐn)?shù)據(jù)從總線接口B輸出。從總線接口B進(jìn)入的差分信號(hào)數(shù)據(jù)經(jīng)過(guò)相同過(guò)程從總線接口A輸出。同時(shí),MCU的2個(gè)串口的接收端處于接收狀態(tài),可以接收來(lái)自總線接口A和總線接口B的數(shù)據(jù),若該數(shù)據(jù)與自身有關(guān)則進(jìn)行解析。這種中繼方式可延長(zhǎng)總線傳輸距離,增加總線設(shè)備數(shù)量。若該固體接觸器需要向外輸出數(shù)據(jù),則首先斷開三態(tài)門,然后MCU的2個(gè)串口輸出端輸出的數(shù)據(jù)通過(guò)總線接口A和總線接口B送入總線。在此期間,若總線接口A和總線接口B同時(shí)有數(shù)據(jù)送入,則MCU的2個(gè)串口的接收端會(huì)接收該數(shù)據(jù)并緩存在MCU內(nèi)部,待自身數(shù)據(jù)發(fā)送完成后再向另一方向發(fā)送在此期間緩存的數(shù)據(jù)。這種方式可實(shí)現(xiàn)總線上的設(shè)備在任意時(shí)刻發(fā)送數(shù)據(jù),而不必?fù)?dān)心總線沖突的問(wèn)題[5]。
總線式固體接觸器微控制器程序設(shè)計(jì)包含觸點(diǎn)控制和測(cè)量、總線通信控制、通信協(xié)議執(zhí)行3項(xiàng)基本功能。
觸點(diǎn)控制和測(cè)量是固體接觸器的基本功能,包括觸點(diǎn)閉合斷開控制、電源電壓和負(fù)載電流測(cè)量、測(cè)量結(jié)果按條件輸出等3個(gè)并行任務(wù)。觸點(diǎn)閉合斷開控制任務(wù)由20 ms定時(shí)器中斷驅(qū)動(dòng)。MCU以20 ms為周期讀取通信指令預(yù)設(shè)的通斷標(biāo)志。若標(biāo)志為斷開,則直接斷開晶閘管電路;若標(biāo)志為閉合,則同時(shí)讀取軟啟動(dòng)參數(shù),以20 ms為周期(即交流電頻率)交替閉合斷開晶閘管電路。由于設(shè)計(jì)采用了過(guò)零驅(qū)動(dòng)型光耦驅(qū)動(dòng)晶閘管電路,可保證負(fù)載在此期間得到50%占空比的交流電,直到達(dá)到預(yù)設(shè)軟啟動(dòng)時(shí)間,再令晶閘管電路穩(wěn)定閉合。測(cè)量任務(wù)由ADC轉(zhuǎn)換完成中斷觸發(fā)執(zhí)行。MCU初始化后,內(nèi)部ADC以連續(xù)方式執(zhí)行基準(zhǔn)電壓、三相輸入電壓、三相負(fù)載電流共7路轉(zhuǎn)換,耗時(shí)約2 ms。轉(zhuǎn)換完成后觸發(fā)中斷,MCU解算三相輸入電壓值和三相負(fù)載電流值。結(jié)果移入可存儲(chǔ)50次轉(zhuǎn)換結(jié)果的先進(jìn)先出(first in first out,FIFO)緩存,再與之前49次的轉(zhuǎn)換值一起經(jīng)過(guò)數(shù)字濾波后計(jì)算出近5個(gè)交流電周期的有效值。該計(jì)算值與通信指令預(yù)設(shè)的報(bào)警值相比,若輸入三相電壓低于或高于預(yù)設(shè)電壓范圍,置電源故障標(biāo)志;若輸入三相電壓不平衡,置電源斷相故障標(biāo)志;若輸出電流高于預(yù)設(shè)短路電流值,置短路故障標(biāo)志;若輸出三相電流不平衡,置負(fù)載缺相故障標(biāo)志;若輸出電流高于預(yù)設(shè)過(guò)載電流值且超過(guò)預(yù)設(shè)過(guò)載時(shí)間,置過(guò)載故障標(biāo)志;發(fā)生上述故障時(shí)晶閘管觸點(diǎn)立即被斷開,且立即執(zhí)行輸出測(cè)量結(jié)果。測(cè)量結(jié)果輸出任務(wù)除了在發(fā)生故障時(shí)執(zhí)行外,還可通過(guò)定時(shí)中斷執(zhí)行。定時(shí)值由通信指令預(yù)設(shè)的測(cè)量結(jié)果輸出周期決定。通過(guò)設(shè)置測(cè)量結(jié)果輸出周期,總線式固體接觸器可周期性地向總線輸出電源電壓、負(fù)載電流、故障狀態(tài)等信息。
總線通信控制程序結(jié)合雙RS-422總線接口電路,可實(shí)現(xiàn)總線中繼通信和防沖突功能。RS-422總線接口A和總線接口B分別對(duì)應(yīng)2個(gè)硬件通用異步接收發(fā)送器(universal asynchronous receiver/transmitter,UART)。每個(gè)UART具有1個(gè)接收FIFO緩存??偩€通信控制程序分為數(shù)據(jù)接收、數(shù)據(jù)解析和數(shù)據(jù)發(fā)送這3個(gè)部分。數(shù)據(jù)接收由2個(gè)UART接收中斷觸發(fā)執(zhí)行。UART平時(shí)處于接收狀態(tài),且2個(gè)RS-422接口電路之間的三態(tài)門處于導(dǎo)通狀態(tài)。RS-422進(jìn)入的數(shù)據(jù)一方面穿過(guò)該設(shè)備從另一個(gè)RS-422口流出,另一方面UART接收到數(shù)據(jù),將數(shù)據(jù)存入相應(yīng)FIFO環(huán)形緩存,并進(jìn)行幀尾判斷。若判斷到幀尾,則啟動(dòng)一個(gè)定時(shí)器任務(wù)進(jìn)行數(shù)據(jù)解析。之所以不立即執(zhí)行數(shù)據(jù)解析,是為了防止數(shù)據(jù)解析期間再次傳入數(shù)據(jù)造成丟失。通過(guò)設(shè)置UART接收中斷優(yōu)先級(jí)高于解析任務(wù)的定時(shí)器,可實(shí)現(xiàn)在數(shù)據(jù)解析期間繼續(xù)接收數(shù)據(jù)存入FIFO。數(shù)據(jù)解析由定時(shí)器觸發(fā)執(zhí)行,即從FIFO緩存中提取數(shù)據(jù)調(diào)用通信協(xié)議執(zhí)行程序,生成應(yīng)答幀,然后執(zhí)行數(shù)據(jù)發(fā)送過(guò)程。數(shù)據(jù)發(fā)送程序除了在數(shù)據(jù)解析后執(zhí)行外,還會(huì)在上述測(cè)量結(jié)果輸出任務(wù)時(shí)執(zhí)行。某個(gè)RS-422接口在進(jìn)行數(shù)據(jù)發(fā)送前要先等待另一個(gè)RS-422接口數(shù)據(jù)接收完畢或超時(shí),然后斷開該RS-422發(fā)送電路與另一個(gè)RS-422接收電路之間的三態(tài)門。此時(shí),這2個(gè)RS-422接口電路之間將不能進(jìn)行數(shù)據(jù)透?jìng)鳌ART輸出端開始通過(guò)該RS-422發(fā)送電路發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送完畢后,判斷在數(shù)據(jù)發(fā)送期間另一個(gè)RS-422接收電路對(duì)應(yīng)的UART接收FIFO緩存有無(wú)收到數(shù)據(jù)。若收到數(shù)據(jù)且接收完畢,則通過(guò)該RS-422發(fā)送電路再次發(fā)送這一部分?jǐn)?shù)據(jù)。這種方式可實(shí)現(xiàn)多個(gè)設(shè)備同時(shí)向總線某一方向發(fā)送數(shù)據(jù)而不會(huì)造成數(shù)據(jù)丟失[5]。
通信協(xié)議執(zhí)行包括解析執(zhí)行來(lái)自總線的控制指令和向總線發(fā)送接觸器狀態(tài)這2項(xiàng)功能。控制指令包括觸點(diǎn)控制和各種參數(shù)設(shè)置指令,參數(shù)包括三相電源電壓范圍、過(guò)載電流、短路電流、觸點(diǎn)緩啟動(dòng)延時(shí)、電源電壓負(fù)載電流上報(bào)周期等。接觸器狀態(tài)上傳指令包括電源電壓負(fù)載電流上報(bào)和發(fā)生故障時(shí)故障狀態(tài)上報(bào)。上報(bào)周期由預(yù)設(shè)參數(shù)決定。程序流程如圖4所示。
圖4 程序流程圖
通過(guò)設(shè)計(jì)原理圖制作印刷電路板(printed circuit board,PCB),并采用3D打印殼體制作總線式固體接觸器樣機(jī)。采用keil v4作為STM32F103C8微控制器的程序編譯器設(shè)計(jì)程序。將樣機(jī)主電源端連接三相交流電,負(fù)載端與300 W普通三相交流異步電機(jī)相連。樣機(jī)總線接口A通過(guò)RS-422、RS-232轉(zhuǎn)換器與計(jì)算機(jī)串口相連,總線接口B與24 V開關(guān)電源相連。計(jì)算機(jī)端通過(guò)串口調(diào)試工具組幀與樣機(jī)通信,首先設(shè)置基本參數(shù),再發(fā)送觸點(diǎn)控制指令,并在串口調(diào)試工具界面上接收打印樣機(jī)上傳的電源、負(fù)載狀態(tài)信息。通過(guò)發(fā)送指令可有效控制交流異步電機(jī)啟停,并較為精確地獲取電源電壓和負(fù)載工作電流。若設(shè)置的報(bào)警參數(shù)偏離實(shí)際工作值,則負(fù)載立即停止并上傳報(bào)警信息。
總線式固體接觸器屬于對(duì)傳統(tǒng)接觸器的智能化改造,除了具有基本的通斷控制功能外,還具有遠(yuǎn)程控制和狀態(tài)檢測(cè)、監(jiān)控等智能化功能。在某些場(chǎng)合,總線式固體接觸器可替代PLC,通過(guò)計(jì)算機(jī)和相應(yīng)軟件直接構(gòu)成控制系統(tǒng)。若通過(guò)連接適當(dāng)?shù)腞S-422網(wǎng)關(guān),可使接觸器直接成為工業(yè)互聯(lián)網(wǎng)的一個(gè)終端,實(shí)現(xiàn)三相交流負(fù)載的網(wǎng)絡(luò)控制和狀態(tài)監(jiān)控,提高工業(yè)控制的自動(dòng)化、智能化水平。