程鯤鵬,楊 杰,劉新輝,李有創(chuàng),戴 林,姜 耀
(1.江蘇遠望儀器集團有限公司技術部,江蘇 泰州 225508;2.江蘇科技大學機械工程學院,江蘇 鎮(zhèn)江 212003)
目前,電動閥門已廣泛應用于船舶、化工和航空等領域,主要用于控制氣體、水或其他腐蝕性介質(zhì)等類型流體的流動[1]。傳統(tǒng)的電動閥門控制系統(tǒng)主要使用PLC進行遠程控制,但PLC方案往往具有控制價格較高和不利于系統(tǒng)集成化等缺點[2-3]。根據(jù)項目實際需求,本文設計了一種面向開度型電動閥門的低成本、網(wǎng)絡化控制系統(tǒng),主要應用于浮船塢浮態(tài)的自動控制。其中,控制芯片采用高性能單片機STM32以替代原PLC實現(xiàn)的開度控制及狀態(tài)顯示等功能,并使用CAN總線進行組網(wǎng)通信。
本閥門控制系統(tǒng)基于CAN總線[4-5]進行設計,其拓撲結(jié)構如圖1所示,主要由上位機、CAN收發(fā)器和若干控制器節(jié)點3部分組成。上位機是系統(tǒng)的控制終端,負責各閥門開度指令的下達及其實際開度大小的監(jiān)測反饋??刂破鞴?jié)點即為本文所設計的下位機控制模塊,它能夠面向各閥門發(fā)出具體的操控指令,并對各閥門反饋的開度狀態(tài)進行實時采集、顯示或上傳。系統(tǒng)采用了電源隔離型CAN收發(fā)器芯片ADM3053,以便整個CAN網(wǎng)絡中各節(jié)點在CAN協(xié)議控制器與物理層總線之間實現(xiàn)完全隔離,避免可能存在的多節(jié)點連帶損壞的風險。
圖1 CAN網(wǎng)絡拓撲結(jié)構
下位機閥門控制器的硬件組成如圖2所示。該控制器采用雙MCU架構,通過主、從MCU的合理分工,有效保障了控制系統(tǒng)的實時性及其控制精度。其中,主控制器采用STM32F105VCT6芯片,主要負責與上位機進行CAN通信、閥門開度的閉環(huán)控制,以及對應開關量輸入/輸出的管理;從控制器采用STM32F103RCT6, 主要負責閥門實際開度反饋電流信號的實時采集和OLED屏幕的顯示。
圖2 控制器總體框架
另外,邏輯控制芯片主要用于系統(tǒng)中相關開關量的I/O管理,主要涉及到:不同工作模式下的開/關閥輸出信號、閥門狀態(tài)反饋輸入信號,通過撥碼開關實現(xiàn)的閥門延時操作設置或故障模擬設置、閥門控制器ID地址及CAN通信波特率設置等。
在進行系統(tǒng)設計時,要注意以下幾點要求:
a.閥門開度的控制。閥門使用4~20 mA電流信號進行實際開度大小反饋。在閥門運行過程中,采用了硬件電路濾波和軟件數(shù)字濾波相結(jié)合的方法,有效保障了反饋電流的高精度檢測。同時,系統(tǒng)采用了模糊PID控制算法,有利于提高開度閥在工況條件發(fā)生變化時的控制精度。另外,系統(tǒng)設計有全開/全關到位反饋電路。
b.閥門的控制模式。根據(jù)項目實際需求,為了滿足不同應用場合對開度閥提出的不同控制需求并便于系統(tǒng)調(diào)試,系統(tǒng)設計有3種不同控制方式:現(xiàn)場電控柜控制、現(xiàn)場模擬板控制、基于CAN總線的上位機遠程控制。
c.故障報警。在閥門控制過程中,可能會遇到某些故障問題,所以系統(tǒng)設計有故障檢測功能,如常見的開、關到位故障。當發(fā)出閥門操作指令后,若在規(guī)定的時間沒有接收到對應的閥門開度反饋電流信號,則立即啟動閥門故障檢測程序。
d.抗干擾設計。本閥門控制器最終將安裝在船上,其實際工作環(huán)境難免會存在各類干擾。為提高系統(tǒng)的可靠性,MCU輸出端均采用了光耦隔離保護,以避免外界干擾可能給單片機造成的損壞。
開度閥使用4~20 mA電流作為開度控制信號,其輸出電路如圖3所示。此電路使用了TI公司的XTR111(U3)芯片,該芯片僅需在其VIN引腳輸入0~3 V的電壓,就能線性輸出0~20 mA電流。本文使用主控制器內(nèi)置的DAC直接輸出0~3 V電壓信號,經(jīng)過上述轉(zhuǎn)換電路后得到輸出范圍為0~20 mA的電流信號。在保障閥門開度控制電流段4~20 mA的基礎上,可利用0~4 mA段進行控制電路故障的判斷。
圖3 開度控制信號輸出電路
因?qū)﹂y門反饋的4~20 mA電流信號直接進行采樣較為困難,故先利用1個150 Ω采樣電阻(R2)進行I/V轉(zhuǎn)換,然后再通過電壓跟隨器OPA4171(U1)進行輸出。BAS70-04TL1(U4)主要用于限幅保護,使單片機A/D轉(zhuǎn)換輸入電壓不大于3.3 V,以預防因其可能超限而損壞單片機芯片。具體電路如圖4所示。
圖4 電流采集電路
如圖5所示,上位機通過CAN通信發(fā)送指令給主MCU,主控制器通過解析功能碼執(zhí)行不同的功能程序;主MCU使用PID模糊算法對控制參數(shù)進行動態(tài)調(diào)整后輸出對應控制信號。從MCU通過內(nèi)置軟件濾波算法對開度反饋電流進行實時檢測,轉(zhuǎn)換為閥門開度值后通過OLED屏幕顯示出來,同時將其通過定義好的通信協(xié)議發(fā)送給主MCU。主MCU通過比較上位機發(fā)送來的預期開度與從MCU檢測到的實際開度的差值大小,給各閥門發(fā)出相應的開/關控制信號。
圖5 閥門開度控制軟件流程
本文設計的控制器采用了模糊PID算法[6-7],其基本思想如圖6所示,程序代碼采用C語言編寫。
圖6 模糊PID控制基本原理
閥門通過檢測反饋電流大小獲取閥門實時開度值,計算此時實際開度與預期開度的偏差E以及當前偏差與上一次偏差的變化率EC。首先,程序需要對E和EC進行模糊化,開度偏差E的變化區(qū)間是0到100,需要將E的區(qū)間分成8個部分:(0~12.5)、(12.5~25.0)、(25.0~37.5)、(37.5~50.0)、(50.0~62.5)、(62.5~75.0)、(75.0~87.5)、(87.5~100.0)。然后將12.5、25.0、37.5、50.0、62.5、75.0、87.5分別用NB、NM、NS、ZO、PS、PM、PB表示。通過反饋電流值可以計算出當前的E和EC,通過模糊規(guī)則表1可以判斷出它們的隸屬度。
表1 模糊規(guī)則表
在計算出輸出值的隸屬度后,將輸出值的假設區(qū)間4~20(對應4~20 mA控制電流信號)劃分為8個部分,即7個隸屬值NB、NM、NS、ZO、PS、PM、PB。根據(jù)隸屬度乘以相應的隸屬值算出輸出值的解。
在本系統(tǒng)中,通過將模糊規(guī)則二維查詢表固化在單片機程序中,閥門控制器根據(jù)給定的模糊規(guī)則進行模糊推理,最后對模糊參數(shù)進行清晰化,即可輸出實時的閥門控制PID參數(shù)。
系統(tǒng)采用雙CAN通信冗余設計,有效保障了上位機控制指令的高效、準確傳遞,并利用CAN通信能主動報錯的優(yōu)勢,以便在快速發(fā)現(xiàn)通信故障的基礎上通過雙CAN口的自動切換,實現(xiàn)上、下位機之間可靠的遠程通信。其中,控制器使用CAN_ID作為指令的識別碼,CAN_ID由(控制板序號)+功能碼組成。例如:ID為0x_ _ 9(_ _為控制板的序號,9為主CAN開度對應的功能碼),主CAN收發(fā)器對4路閥門進行開度操作,前4個字節(jié)分別對應4個閥門的開閥動作,后4個字節(jié)保留不使用,0x00表示開度為0%,0x64表示開度100%。通過設定不同的功能碼,控制器可以實現(xiàn)開度指令下達、實時狀態(tài)反饋和故障信息報警等功能。
此外,針對運行過程中的故障,在程序中編寫了故障檢測機制??刂破鲗﹂y門執(zhí)行的開度指令進行分析,通過計算得出閥門開到預期開度所需要的時間,如果超過限定時間3 s還未開到預期開度值,將會主動觸發(fā)故障警報,控制器通過CAN通信將故障指令發(fā)送給上位機,通過這樣主動檢測故障的方式,可以及時排除故障,避免事故的發(fā)生。
本文所設計的下位機控制器實物及其測試場景如圖7所示。通過對開度型電動閥門QTA-15進行開度控制測試,以檢驗閥門控制器的控制精度及其工作穩(wěn)定性。實驗時,使用上位機通過CAN網(wǎng)絡發(fā)送開度功能對應的ID功能碼(0x_ _ 9)以及需要進行的開度值(0~100%)控制指令,使閥門開至指定開度值,并將閥門上顯示的實際開度值與預期開度值進行對比分析。
圖7 控制系統(tǒng)性能測試
將閥門開度值按0(全關)—100%(全開)—0(全關)的測試順序進行全周期內(nèi)的開/關閥測試,開度間隔為5%,其測得的某組實驗數(shù)據(jù)如圖8所示。其中,開度誤差指實際開度值與預期開度值的絕對差值。
圖8 閥門控制誤差曲線
實驗表明:采用模糊PID控制算法后,能夠使下位機對閥門的控制精度達到0.6%以內(nèi),可以滿足一般的現(xiàn)場工業(yè)控制需求[8];閥門開度誤差帶有隨機性,難以實現(xiàn)零偏差控制,這是由于控制器輸出的控制電流信號是在一定區(qū)間上下波動的,閥門輸出電流采樣時也會存在隨機噪聲。另外,電機轉(zhuǎn)動及執(zhí)行機構存在的偏差同樣難以避免。故在閥門開度控制過程中,不宜過度追求零偏差控制,否則閥門會在預期開度值附近出現(xiàn)頻繁的開、關閥操作,這不利于保證閥門的使用壽命。
進行重復性實驗時,將閥門開度從0直接開至50%,重復10次,測得的數(shù)據(jù)如表2所示。
表2 重復性實驗數(shù)據(jù)
用貝塞爾法計算上述數(shù)據(jù)的標準差,可得
本文設計了一種基于CAN總線的網(wǎng)絡化開度閥控制系統(tǒng),彌補了傳統(tǒng)PLC控制方案價格高昂和可嵌入性差的缺陷,在所需開度閥數(shù)量較多的場合,可迅速擴充其通道數(shù),從而實現(xiàn)多通道開度閥的網(wǎng)絡化控制;使用模糊PID進行開度偏差控制,使閥門能夠迅速穩(wěn)定在指定開度值附近,并可在船舶載荷突變情況下依然具有良好的控制精度。目前,該控制系統(tǒng)已經(jīng)在某型散貨船上進行了裝機測試,能夠滿足在浮船塢浮態(tài)控制系統(tǒng)中對泵艙壓載進排水遙控閥的實際需求。