常廣暉,李雁飛 ,劉樹勇
(海軍工程大學(xué) 動力工程學(xué)院, 湖北 武漢 430033)
隨著現(xiàn)代控制技術(shù)的發(fā)展,變頻恒壓供水技術(shù)在新型艦船上獲得廣泛應(yīng)用,其主要優(yōu)點:裝置高效節(jié)能,質(zhì)量小,體積??;供水壓力穩(wěn)定;自動化程度高等[1-2].由于進口PLC功能完善、配套齊全,艦船上變頻恒壓供水裝置普遍采用進口PLC作為其控制器,目前在復(fù)雜的國際環(huán)境下,為了立足自主保障,研制完全具有自主知識產(chǎn)權(quán)的變頻恒壓供水控制系統(tǒng)勢在必行.通過基于模型設(shè)計(MDB)方法進行嵌入式控制系統(tǒng)設(shè)計開發(fā)是解決以上問題的一條重要途徑,其優(yōu)勢在于控制策略的圖形化設(shè)計、高質(zhì)量的代碼自動生成、靈活的嵌入式硬件部署.
基于可靠性考慮,一般艦船變頻恒壓供水機組采用多臺變頻泵并聯(lián)結(jié)構(gòu)[2],變頻器同一時刻只驅(qū)動1臺變頻泵,用戶的用水量決定了機組工作泵的數(shù)量,工作泵的每種組合就構(gòu)成機組的一種工況,泵數(shù)量越多機組工況就越復(fù)雜.所以變頻恒壓供水裝置的控制除了考慮壓力的閉環(huán)控制還涉及復(fù)雜的工況切換邏輯控制.不同工況下泵組特性發(fā)生變化,給壓力穩(wěn)定控制也帶來一定難度,隨著計算機仿真技術(shù)的進步,辨識不同工況下變頻泵組模型成為可能,這有助于通過仿真分析系統(tǒng),在開展物理實驗之前就能設(shè)計出符合要求的控制系統(tǒng).
本文提出了一種應(yīng)用于變頻恒壓供水嵌入式控制的MBD設(shè)計實現(xiàn)方法.首先,通過實驗辨識的方式辨識出系統(tǒng)模型,該模型可以模擬不同工況下、不同出口開度的泵組特性.遵循MBD方法,根據(jù)系統(tǒng)模型設(shè)計了Stateflow有限狀態(tài)工況切換邏輯控制器和模糊自適應(yīng)PID壓力控制器,并在Simulink仿真環(huán)境下動態(tài)模擬了基于閥門開度變化的全流量下的恒壓控制效果.最后,通過自動代碼生成和軟件集成將設(shè)計好的控制算法部署在自行設(shè)計開發(fā)的嵌入式控制電路板上.通過實際供水裝置測試實驗,證明了變頻恒壓供水控制MBD設(shè)計方法的有效性和便捷性.
某型船用變頻恒壓供水裝置(以下簡稱泵組)采用3臺變頻泵并聯(lián)結(jié)構(gòu),為全船提供洗滌、生活用水.基于可靠性,設(shè)計3臺泵,正常工作情況下2用1備,工作原理如圖1所示.
由圖2所示的一般水泵特性曲線[3]可知,在工作點附近可以將泵組模型線性化,管阻ν阻不變時,水泵出口壓力近似水泵轉(zhuǎn)速成正比;泵轉(zhuǎn)速n不變時,水泵出口壓力與管阻近似成反比.不同的出口閥門開度對應(yīng)不同的管阻特性,閥門開度越小管阻越大.選取閥門開度50%對應(yīng)的管阻特性曲線為工作曲線.在某恒定工況下,出口閥門開度50%保持不變,以控制器輸出頻率(與水泵轉(zhuǎn)速成正比)為輸入信號,管網(wǎng)壓力為輸出信號,供水裝置的數(shù)學(xué)模型可近似成一個帶純滯后的一階慣性環(huán)節(jié),即
式中,G(s)為傳遞函數(shù),s為拉氏變換算子,K為系統(tǒng)的總增益,tg為泵組的慣性時間常數(shù),t為系統(tǒng)推遲時間.
圖1 某型恒壓供水裝置工作原理Fig.1 Working principle diagram of a constant pressure water supply device
圖2 水泵揚程及管阻特性曲線Fig.2 Characteristic curve of pump head and pipe resistance
該機組有3臺變頻泵可以選擇,共有6種工況,通過泵組性能測試系統(tǒng)對各工況進行飛升曲線測試,根據(jù)實驗數(shù)據(jù)進行系統(tǒng)辨識得到各工況下系統(tǒng)模型參數(shù)如表1所示.
根據(jù)以上辨識的結(jié)果在Simulink環(huán)境下建立的供水裝置數(shù)學(xué)模型如圖3所示.
表1 各工況下系統(tǒng)模型參數(shù)Tab.1 Parameters of system model under various working conditions
圖3 供水裝置數(shù)學(xué)模型Fig.3 Mathematical model of water supply device
由于該泵組由3臺變頻泵組成所以控制系統(tǒng)任務(wù)除了要保持管網(wǎng)壓力穩(wěn)定的同時,還要根據(jù)不同用戶負載平滑地進行工況切換(加減泵).供水系統(tǒng)設(shè)有3種工作模式分別是:自動模式、檢修模式、手動模式.自動模式下,泵選擇開關(guān)選定的泵為值班泵,3臺泵在控制器的控制下按序?qū)崿F(xiàn)3泵輪流變頻運行.具體工作過程如下:當(dāng)需要供水時,按下啟動開關(guān)后首先由旋轉(zhuǎn)開關(guān)選定的值班泵變頻啟動,閉環(huán)控制器按控制策略調(diào)節(jié)變頻器輸出頻率,從而保持供水壓力恒定.當(dāng)用水量增加,輸出頻率逐漸增大到工頻后,控制器將值班泵自動切換到工頻運行,同時變頻啟動第2臺泵運行.當(dāng)供水量仍顯不足時,第2臺泵的頻率繼續(xù)增高至工頻,控制器將第2臺泵切換到工頻,同時增加第3臺泵自動變頻啟動運行.當(dāng)用水達到極限,壓力達不到設(shè)定值時3臺泵全部工頻運行.當(dāng)用水量減少時,控制器則按增加泵功能模式相反的順序減少運行泵的數(shù)量,直到系統(tǒng)停機休眠.檢修模式下,泵選擇開關(guān)選定的泵為待檢修泵,該泵不參加工作,剩余的2臺泵在控制器的控制下按序?qū)崿F(xiàn)雙泵輪流變頻運行,運行過程同自動工況.手動模式下通過泵選擇開關(guān)選擇值班泵單泵工頻工作,泵的起停通過壓力繼電器控制,類似壓力水柜模式.除了以上3種模式外,系統(tǒng)還設(shè)有休眠控制、喚醒控制、故障報警等功能.在用水低谷或夜間不用水時,管網(wǎng)壓力達到壓力休眠值,控制器使裝置自動停機休眠,目的是節(jié)能和延長使用壽命;當(dāng)裝置處于休眠時,一旦有用戶用水使管網(wǎng)壓力低于壓力喚醒值時,控制器自動啟動裝置開始變頻供水;當(dāng)水泵電機過載導(dǎo)致熱繼電器工作時,控制器自動進行聲光報警.
從以上控制任務(wù)分析可以看出控制功能可以劃分為壓力的閉環(huán)控制和工況切換的邏輯控制2大部分.考慮到不同工況下機組特性不同,壓力閉環(huán)控制采用模糊自適應(yīng)PID控制實現(xiàn).工況切換的邏輯控制可以通過Stateflow有限狀態(tài)層次化建模方法實現(xiàn).
圖4 自適應(yīng)PID控制系統(tǒng)結(jié)構(gòu)Fig.4 Structure of adaptive PID control system
模糊自適應(yīng)PID控制基本思路為采用模糊推理的方法確定PID的3個參數(shù)KP、KI、KD與e和ec之間的模糊關(guān)系[4],在運行中通過不斷檢測e和ec之間的關(guān)系,利用模糊控制規(guī)則在線對PID參數(shù)進行整定,使設(shè)計的控制器具有良好的自適應(yīng)性能.模糊控制器的輸入為壓力差e和壓力差變化率ec.壓力差和壓力變化率的物理論域為[-10,10]和[-0.05,0.05],通過仿真選取量化因子使控制器的物理論域映射到模糊論域{-3,-2,-1,0,1,2,3}上,隸屬函數(shù)采用Mamdani型函數(shù).綜上設(shè)計變頻恒壓供水系統(tǒng)模糊自適應(yīng)PID控制器的結(jié)構(gòu)如圖4所示.
通過Stateflow圖形開發(fā)環(huán)境可以方便地實現(xiàn)工況切換的邏輯控制.每種工況都可以看成一個狀態(tài),泵組所有工況就對應(yīng)一個有限狀態(tài)系統(tǒng).創(chuàng)建泵組的有限狀態(tài)模型的基礎(chǔ)是建立層次化的模型[7],首先泵組的起、停對應(yīng)2個父狀態(tài),起動情況下每種工況都可以看成其子狀態(tài).子狀態(tài)之間的轉(zhuǎn)移條件主要受變頻器輸出頻率和出口壓力所決定.變頻泵的變頻范圍為30~50 Hz,當(dāng)某泵運行頻率小于30.5 Hz時認為達到頻率下限,作為該泵停止的條件.當(dāng)頻率大于49.5 Hz時認為達到頻率上限,作為該泵由變頻轉(zhuǎn)為工頻運行的條件,以上頻率的判斷可以通過創(chuàng)建Freq狀態(tài)來實現(xiàn).泵組設(shè)定壓力為0.35 MPa,當(dāng)壓力小于0.25 MPa時認為壓力低作為泵組從休眠到喚醒的轉(zhuǎn)換條件,當(dāng)壓力大于0.38 MPa時,認為壓力高,作為從3泵工頻到2工1變狀態(tài)的轉(zhuǎn)換條件,當(dāng)壓力大于0.4 MPa時認為壓力保護,此時立即轉(zhuǎn)換到休眠狀態(tài).以上壓力的判斷可以通過創(chuàng)建Pressure狀態(tài)來實現(xiàn).機組在工作時需要判斷泵的好壞,泵被操作者通過選擇開關(guān)選為檢修泵或者驅(qū)動該泵電機的熱繼電器動作則認為該泵故障需要停止工作,否則認為正常可以工作,這個判斷可以通過創(chuàng)建Pump狀態(tài)來實現(xiàn).RUN子狀態(tài)之間的切換主要是通過Freq、Pressure和Pump 3個狀態(tài)的判斷結(jié)果實現(xiàn)轉(zhuǎn)換.由于頻率、壓力、泵狀態(tài)的判斷和工況切換是需要實時進行的,所以RUN、Freq、Pressure和Pump 4個子狀態(tài)是同時活動的,需要設(shè)為并行的解析關(guān)系.最終建立的層次化有限狀態(tài)如表2所示.
表2 泵組邏輯控制層次化有限狀態(tài)表Tab.2 Hierarchical finite state table of pump unit logic control
將Stateflow工況切換邏輯控制器、自適應(yīng)PID控制器和泵組模型組合在一起,通過變量模擬工作模式選擇開關(guān)、泵選擇開關(guān)、啟動、停止按鈕的輸入動作和出口閥門開度調(diào)節(jié),在Matlab 2018b環(huán)境下構(gòu)成完整的系統(tǒng)仿真模型如圖5所示.
圖5 變頻恒壓供水系統(tǒng)仿真模型Fig.5 Simulation model of variable frequency constant pressure water supply system
通過改變出口閥門開度,改變用水量,模擬實際用水情況.仿真設(shè)定如下:出口開度從15%經(jīng)過400 s逐漸增大到65%,然后再通過400 s逐漸減少到15%,如圖6所示.得到的全流量下仿真曲線如圖7所示.從仿真結(jié)果來看Stateflow有限狀態(tài)邏輯控制器實現(xiàn)了預(yù)設(shè)的控制效果,當(dāng)變頻器輸出頻率大于49.5 Hz時,實現(xiàn)了加泵工況切換,頻率小于30.5 Hz時實現(xiàn)了減泵工況切換,同時在PID控制器的作用下出口壓力總體保持穩(wěn)定,在加、減泵工況切換瞬間壓力波動較大誤差主要是因為泵由變頻運行轉(zhuǎn)換為工頻中間存在延時,同時也與泵組辨識模型線性化有關(guān),其他時刻壓力波動不超過7%符合設(shè)計要求,總體達到了預(yù)定的控制效果.
圖6 閥門開度仿真設(shè)定Fig.6 Valve opening simulation setting
圖7 系統(tǒng)全流量下仿真結(jié)果Fig.7 Simulation results under full flow
泵組的嵌入式控制電路板采用核心板加底板結(jié)構(gòu)的模塊化設(shè)計方案.核心板采用ST公司的Cortex-M3內(nèi)核ARM STM32F103ZET6作為MCU,在此基礎(chǔ)上集成DM9000BI以太網(wǎng)通信電路和FLASH存儲電路等.以太網(wǎng)接口主要用于通過MODBUS/TCP協(xié)議和觸摸屏進行數(shù)據(jù)通訊.
底板主要由電源電路、電流輸入、輸出通道、開關(guān)量輸入、輸出通道等構(gòu)成.電流輸入通道ADC選用CS5532,它是一款低功耗、低噪聲24位Σ-ΔADC,STM32通過SPI1總線和CS5532相連接,用于采集泵組出口壓力傳感器的電流信號;電流輸出通道以12位的DAC MAX5306為核心,通過SPI2總線和STM32連接,經(jīng)TLV2254運放、達林頓管BCV47構(gòu)成的電流反饋回路精確輸出4~20 mA電流用于控制變頻器的頻率輸出;數(shù)字輸入通道通過光耦隔離后經(jīng)74HC165芯片并串轉(zhuǎn)換向STM32串行傳遞信息,用于采集控制柜面板轉(zhuǎn)換開關(guān)和啟動、停止按鈕的輸入;繼電器輸出通道主要是用于驅(qū)動各個泵的工頻和變頻接觸器線圈.
自動生成的控制代碼同底層驅(qū)動代碼數(shù)據(jù)交互采用全局變量的方式實現(xiàn),將控制器同底層設(shè)備交互的輸入輸出信號置為Test Point,儲存類型設(shè)置為Exported Global,這樣在驅(qū)動程序中就可以方便的調(diào)用這些全局變量了.接下來在Simulink配置對話框中,選用ert.tlc系統(tǒng)目標(biāo)文件,硬件類型選擇ARM Cortex類型[6],選擇定步長仿真,仿真步長為0.01 s.設(shè)置好之后使用build命令利用Embedded Coder將控制模塊生成高效率的嵌入式C代碼.
泵組的控制軟件采用實時操作系統(tǒng)uCOS-II進行集成設(shè)計,核心是線程設(shè)計.除了上述邏輯及穩(wěn)壓控制自動代碼外控制軟件應(yīng)實現(xiàn)選擇開關(guān)、啟動、停止按鈕等開關(guān)量采集,和電流形式的壓力測量、電流形式的變頻控制信號輸出等功能.因此控制軟件應(yīng)包含4個線程分別是:開關(guān)量采集線程、壓力測量線程、頻率輸出線程、邏輯及穩(wěn)壓控制線程.為了實現(xiàn)自動代碼和控制軟件的集成,將上節(jié)自動生成的代碼中的Controller_pumps_step()函數(shù)在邏輯及穩(wěn)壓控制線程函數(shù)中進行調(diào)用,并將線程的任務(wù)延時設(shè)定為10 ms(與仿真步長一致),這樣就實現(xiàn)了變頻泵的實時控制.開關(guān)信號、出口壓力、變頻頻率等信號需要在上述4個線程之間共享,為了防止出現(xiàn)沖突,4個線程通過互斥信號量來防止共享沖突.
為了驗證上述基于模型設(shè)計的有效性,將集成后的軟件通過keil5編譯后下載到泵組嵌入式控制器中進行了測試實驗,實驗臺架如圖8所示.為了驗證控制效果通過LabVIEW和NI采集模塊構(gòu)建了測試系統(tǒng),測試系統(tǒng)可以實時采集機組出口壓力、出口流量、泵組功率等參數(shù).通過手動改變出口閥門開度從0依次增大到65%后再依次減小到0,過程持續(xù)時間為4 300 s,考察機組在全流量變化情況下的泵組切換和壓力控制效果.實驗測試曲線如圖9所示.實驗結(jié)果表明,采用基于模型設(shè)計通過自動代碼生成的控制算法直接移植到嵌入式控制器,取得了預(yù)期控制效果,隨開度變化機組能夠適時進行加泵、減泵切換,壓力波動較小,不超過設(shè)定壓力的5%,在工況切換點壓力波動較大,最大不超過設(shè)定壓力的10%.
圖8 變頻恒壓供水裝置實驗臺架Fig.8 Experimental bench of frequency conversion constant pressure water supply device
圖9 泵組全流量變化下試驗測試曲線Fig.9 Test curve of pump set under full flow variation
本文提出了變頻恒壓供水裝置控制器的MBD設(shè)計方法,實現(xiàn)了某艦用3泵變頻供水裝置的工況切換邏輯控制和穩(wěn)壓控制.首先,通過實驗辨識得到了泵組各工況下的數(shù)學(xué)模型,通過模型Simulink環(huán)境下設(shè)計基于模糊自適應(yīng)PID穩(wěn)壓控制器和基于stateflow有限狀態(tài)工況切換邏輯控制器.然后基于STM32F103ZET6設(shè)計了機組嵌入式控制電路板.設(shè)計完成后通過embedded coder將控制器生成高效率的嵌入式C代碼與底層驅(qū)動代碼以實時操作系統(tǒng)多線程的方式進行集成并最終部署于嵌入式控制電路板中.通過實際機組全流量變化下穩(wěn)壓控制試驗,驗證了使用MBD方法簡化了嵌入式控制器的設(shè)計過程,減少了設(shè)計失敗的風(fēng)險,相比通過手動編寫代碼設(shè)計控制器而言,縮短了設(shè)計時間提高了設(shè)計效率[8].該MBD方法流程為其他復(fù)雜動力系統(tǒng)控制器的設(shè)計提供了很好的借鑒.