馬志航,虎恩典,毛 令,朱兆元,劉融宇
(北方民族大學 計算機科學與工程學院,銀川 750021)
國外智能閥門定位器發展比較成熟,以德國西門子SIPATT PS2系列為代表,其核心部件鑄造高標準,國內鑄造工藝水平難以達到要求。國內生產的一些智能閥門定位器多數采用16位低功耗微處理器,它們在抗干擾、響應速度、穩定時間等方面表現優秀,但在控制精度方面仍表現不足。一些國產閥門閥位在調節的過程中往往會出現往復抖動的現象[1],長期使用的情況下控制精度進一步下降。
本設計選用意法半導體超低功耗芯片STM32L152芯片為控制系統核心,以紅外遙控、霍爾按鍵、4~20 mA電流信號發生器配合定制顯示屏實現人機交互,不同的操作方法任意切換,采用自適應模糊免疫PID控制算法實現參數自整定有效提高了控制系統的動態性能和穩態性能。設計菜單式操作模式,可以查看當前報警信息、閥門開度、溫度和壓力等。另外,預留主控制器接口為以后升級拓展做好準備。
二線制工業電流信號不僅作為閥門的定位信號,同時也是控制器的供電電源[2]。4~20 mA電流信號經過信號轉換電路轉換為電壓信號,控制器采樣計算后線性化為閥門開度,4 mA對應閥門開度的0%,20 mA對應閥門開度的100%。使用人機交互模塊進行閥體工作狀態的顯示。閥門在運行過程中開啟自檢,若當前有故障發生則報警燈亮起,經過8 s延時后閥門自動回到全關位置;若無故障發生默認進入4~20 mA電流信號發生器直接控制閥門開度模式。控制器對4~20 mA電流信號和位置傳感器反饋的信號進行采樣處理,將得到的數字量做減法得到偏差,偏差值經自適應模糊免疫PID算法處理輸出PID值產生PWM波控制電磁閥的動作,在此過程中位置傳感器不斷檢測位置信號返回控制器中,構成了閉環控制系統。
以超低功耗芯片STM32L152CBT6芯片為控制核心,該芯片采用Cortex-M3 32位RISC內核,創新自主平臺工藝,具有電壓調節、低功耗模式、超低功耗模式。集成了高達24路12位模擬量輸入通道,2個12位DAC通道。芯片內置LCD驅動,最高支持8×40筆段,可以簡化顯示部分軟件設計。芯片最高支持36 MHz工作頻率,且它在低功耗模式運行的同時性能不會降低。

圖1 系統總體結構圖
二線制定位器電源和信號線共用兩根導線,供電完全從定位信號中抽取。三端穩壓器選用LTC1474-3.3,其轉換率可超過92%,擁有極低的待機電流同時也可以保持電壓輸出,滿足低功耗的設計要求。電源模塊的信號源端電壓在8~12 V的范圍內,為了保證系統在最低電流信號輸入時維持正常運行,采用一個12 V穩壓管。由于輸入的電流信號值大小會產生一定誤差,為保證系統正常運行留有5%的裕量,則在輸入電流信號最小為4 mA時系統允許消耗的最大電流為3.8 mA。電源模塊電路如圖2所示,輸入4 mA電流經過整流濾波后,通過三端穩壓器LTC1474-3.3轉化成了3.3 V的直流電,此時整個控制系統的功耗約為33 mW,滿足了人機交互模塊的功耗需求[3]。

圖2 電源模塊
開度/位移信號轉換電路中運算放大器選用LM158。該放大器具有高增益,低功耗,3~30 V寬電壓供電的特點。定位信號(4~20 mA電流)經過兩個100 Ω并聯電阻采樣后轉變為負電壓,輸入到LM158第一路放大器的負端,其輸出端接入控制器PA1引腳。位移傳感器反饋信號經過電阻采樣后輸入到第二路放大器的正端,其輸出端接入控制器PA2引腳。為了避免低電壓采樣出錯,將控制器的基準電壓設置為2.5 V。這兩種信號經過采樣轉化后在控制器中模擬量化為12位的數字量。信號轉換模塊電路如圖3所示。

圖3 信號轉換模塊圖
本設計以3種方式控制閥門的工作:1)通過安裝在電路板上的6個霍爾按鍵;2)使用紅外遙控器;3)直接使用4~20 mA電流信號發生器。這3種方式都需要配合LCD顯示屏進行操作。
如圖4所示,LCD顯示屏主要用于人機交互界面內容顯示,它整合了段碼屏和點陣屏,內部集成驅動芯片ST7567,穩定性高,顯示內容豐富。點陣屏部分顯示滾動式菜單,段碼屏部分顯示閥門開度設定值、閥門開度實際值、電量圖標、閥門開合圖標、手型操作圖標、遠程操作圖標及故障圖標。在使用過程中兩部分顯示屏同時顯示,工人可以直觀地獲取閥體工作狀態和閥門開度;按動霍爾按鍵對其輸入磁信號,霍爾元件內部觸發器會發生翻轉,輸出電平信號也隨之由高變低。當主控制器檢測到下降沿時,會根據具體的IO口執行不同的指令,指令包括:切換操作方式為紅外遙控/遠程控制、增大/減小閥門開度、暫停/中斷運行;紅外遙控發出脈沖串信號,由安裝在電路板上的紅外接收器接收,控制器解碼。紅外遙控輸出方式為按下按鍵后發送一幀數據,如果不松開則一直重復發送。紅外遙控控制方式具有霍爾按鍵控制方式的全部功能,且增加了閥門閥位點動/連動運行功能;4~20 mA電流信號發生器只具有增大/減小閥門開度的功能,信號發生器輸出的電流每變化0.01 mA就會引起閥門動作。3種不同的操作方式在一定程度上方便了工人對閥體的操作,同時也提高了閥體的工作效率,大大滿足了復雜多變的工業環境。

圖4 人機交互模塊
為了減少芯片拓展和降低誤碼率,上位機與下位機的通訊方式采用SPI接口實現。通信模式為全雙工,將下位機配置為主機,上位機配置為從機。上位機僅僅用于讀取下位機當前的操作碼和閥門工作狀態數據。每次進行通信時,上位機都向下位機發送一幀8位的空數據,下位機返回實際數據。這樣做的目的是防止數據交換時系統卡死。另外,設計了RS232接口電路用于完成控制器與PC間的通訊。
為了能夠驗證不同控制算法對系統的控制效果,在本節中將建立起控制系統的廣義傳遞數學模型。G1為反饋桿的數學模型,G2為氣動執行器的數學模型,G3為電氣轉換調節閥的數學模型,H為反饋環節的數學模型[4]。
(1)
(2)
(3)
(4)
免疫系統是生物體內所必備的一套特征生理反應防御機制,用于保護自己的身體免受自然界中各種病毒、微生物與細菌的侵害。對我們來說,一系列具有免疫功能的特異淋巴細胞,包括吞噬細胞、B細胞和T細胞就共同組成了保護人體的免疫系統。
如圖5所示,可以看出存在兩條反饋回路:(1)免疫反應的初期,病毒和細菌等抗原侵入,吞噬細胞為了得到正確的抗原信息會將其吞噬并分析,之后會產生特異Th細胞和Ts細胞。這時B細胞在Th細胞和Ts細胞的共同作用下就會產生出相應的特異抗體用來消滅抗原。免疫系統剛開始作用時,體內的抗原濃度較高,Ts細胞數量較少,使得Th細胞能夠起到促進作用,刺激B細胞活化,以產生更多的抗體去消滅入侵的抗原。(2)到免疫反應的末期,抗原被抗體逐漸消滅,濃度減小,此時體內的Ts細胞就會對Th細胞和免疫B細胞起到抑制作用,減少抗體的生成,使得人體在經過一段時間后,免疫反饋系統會逐漸恢復到平衡狀態。

圖5 免疫反饋過程
將入侵的抗原的第k代時的數量假設為ε(k),Th細胞和Ts細胞在受到免疫反應刺激后的輸出設為Th(k)和Ts(k),將B細胞在兩種T細胞的共同作用下受到的影響設為S(k),受到影響的變化率為ΔS(k),則有:
S(k)=Th(k)-Ts(k)
(5)
在式(5)中:
Th(k)=k1ε(k),Ts(k)=k2f(S(k),ΔS(k))ε(k)。不妨在設計控制系統時,將系統偏差e(k)等同于第k代抗原的數量ε(k),系統的輸入u(k)等同于B細胞所受到的總影響S(k),則可以總結出如下的反饋控制公式:
S(k)=k1ε(k)-k2f(S(k),ΔS(k))ε(k)
(6)
可寫作:
S(k)=K(1-ηf(S(k),ΔS(k))ε(k)=KP1e(k)
(7)
在式(7)中,Kp1=K(1-ηf(u(k),Δu(k))),K=k1為控制系統反應速度參數,η=k2/k1為控制系統穩定效果的參數。選定一個非線性函數f(·),則:
f(·)=f(u(k),Δu(k))
(8)
如此,就可以將上式(7)視作是一個非線性的P控制器,而其P控制器的比例系數Kp1=K(1-ηf(u(k),Δu(k)))就會隨著控制器的輸出u(k)變化而變化。其中K為比例系數,可以通過增大它的值來避免系統響應速度過慢,但同時也要注意增大K值帶來超調量和控制曲線更加波動的問題;η為抑制系數,其大小決定了控制系統對控制過程的抑制作用。
根據增量式PID的公式:
u(k)=u(k-1)+Kp[e(k)-e(k-1)]+Kie(k)+
Kd[e(k)-2e(k-1)+e(k-2)]
(9)
將公式中的Kp用Kp1所代替,就可以的得到一個免疫非線性的PID控制器:
u(k)=u(k-1)+Kp1[e(k)-e(k-1)] +
Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]
(10)
從3.3中可以看出,能否設計出一個合適的非線性函數f(·)對于系統的控制性能會產生很大的影響。可采用的設計方式有:基于函數模型和基于模糊推理規則逼近兩種[5]。由于模糊控制作為一種新型的控制方式不需要確定被控對象的精確數學模型,在面對非線性控制對象時也能體現出很好的魯棒性和適應性而被廣泛運用于現在的控制系統當中[6]。因此,采用模糊推理規則逼近的方式來獲得非線性函數會是比較好的選擇。
將第一個模糊控制器的輸入量定為系統的控制量u和控制量的變化率Δu,輸出為f(·)。兩個輸入量由正、負兩個模糊子集模糊化,輸出量由正、零和負3個模糊集模糊化。u、Δu和f(·)基本論域均為[0,1],各模糊變量的隸屬度函數圖如圖6所示。

圖6 u、Δu、f(·)的隸屬度函數圖
根據“細胞收到的刺激越大,抑制能力越小;細胞受到的刺激越小,抑制能力越強”的免疫過程的原則來設計模糊規則,可以得到如表1所示模糊規則[7]。

表1 f(u(k),Δu(k))的模糊控制規則
將第二個模糊控制器的輸入量定為控制誤差e(k)和控制誤差的變化率Δe(k),輸出為ΔKi和ΔKd。這4個量都是由負小、負中、負大、零、正小、正中和正大7個模糊子集來模糊化。e(k)和Δe(k)的基本論域均為[-3,3],ΔKi的基本論域為[-0.06,0.06],ΔKd的基本論域為[-0.3,0.3],各模糊變量的隸屬度函數圖如圖7所示。

圖7 e、ec、Ki、Kd的隸屬度函數圖
ΔKi、ΔKd模糊控制規則如表2~3所示。

表2 ΔKi的模糊控制規則表
以上兩個模糊控制器模糊化方法均采用Mamdani模糊推理機制AND操作,解模糊化方法采用重心法。

表3 ΔKd的模糊控制規則表
控制網絡框圖如圖8,由控制論可知在一定范圍內增大比例系數可以加快系統的響應;增強積分環節的作用可以消除靜差,提高系統無差度;引入微分環節系統可以產生早期修正信號,減少調節時間,引入模糊控制對PID參數進行整定,可以使得被控對象具有良好的靜態特性和動態特性,從而實現系統自適應控制[8]。

圖8 控制網絡框圖
使用MDK5開發平臺基于STM32芯片庫函數對系統軟件進行開發,直接在固件庫中調用所需函數,這在很大程度上降低了程序開發的難度[9]。控制系統需要用到的片上資源有:SPI,定時器TIME,ADC,DAC,外部中斷EXIT等。開發軟件內容主要包括:霍爾按鍵子程序,紅外信號接收子程序,點陣與段碼顯示子程序,位移、溫度、壓力采集子程序,通訊子程序,PID自整定子程序,報警子程序等。系統的主要功能由控制器的外部中斷和串口中斷實現。系統上電運行后,首先對各個模塊進行初始化,然后進入死循環[10]。在死循環中默認進行的是4~20 mA電流信號發生器直接控制閥門開度操作,按動霍爾按鍵切換到按鍵操作或者紅外遙控操作,整個過程調用顯示子程序,實時顯示當前閥門的狀態。

圖9 主程序流程圖
為克服偶然因素引起的高頻干擾波動,采用中值濾波的方法對采樣信號進行處理,連續采集13個信號,將之形成有序數據,取中間值作為本次的有效值,并對其進行歸一化處理。經過處理后的采樣信號分別作為閥位的輸入值和輸出值,若當前需要進行參數自整定則調用自適應模糊免疫PID算法整定PID參數輸出PWM波驅動電磁閥。

圖10 自適應模糊免疫PID算法流程圖
根據上文所得到的數學模型,建立起相應的自適應模糊免疫控制系統、傳統的模糊PID控制系統和常規PID控制系統。仿真時間取5 s,采樣時間為0.01 s,設定輸入值為10,Kp1=2(1-1.69f(·))。通過仿真來得到3個系統的響應曲線并比較它們的控制效果。結果如圖11(第3 s時施加擾動):

圖11 施加擾動下的控制系統仿真曲線
根據圖11從響應時間來看,3種控制算法中自適應模糊免疫PID算法要優于模糊PID算法,但比常規PID算法要差;從超調量來看,常規PID算法的超調量為12.3%,自適應模糊免疫PID算法和模糊PID算法基本可以實現無差調節;從調整時間來看,常規PID算法為2.988 s,模糊PID算法為1.4 s,自適應模糊免疫PID算法為0.8 s;從抗擾動來看,自適應模糊免疫PID算法性能最好。
閥門閥位行程數據如表4所示。在3種控制算法下對整個系統進行聯機調校,開度設置為從0%到100%,整個過程中記錄閥門行程數據。其中,使用自適應免疫模糊PID算法進行參數自整定。可以看出,自適應免疫模糊PID算法能夠最快達到目標值。通過仿真與實測對比,自適應模糊免疫PID算法性能最優。既避免了閥位抖動,又實現了無差調節,這對閥門長時間地穩定運行起著關鍵的作用[11]。

表4 閥門閥位行程數據表
提出一種以超低功耗芯片STM32L152芯片為核心的閥門定位器。硬件設計部分以低功耗為依據對外圍電路器件進行選型,為以后升級開發留下電源利用空間。軟件設計部分以自適應模糊免疫PID算法作為參數整定策略,依據實驗結果該控制算法提高了系統的動態性能和穩態性能,特別是提高了閥門閥位控制精度和避免了閥位抖動問題。對閥門的操作方法進行了一定創新,多種操作方法為工業生產帶來了便利性,滿足了設計初衷。實踐表明,控制系統在給定開度為100%時不到1.25 s輸出達到目標值;低電流維持正常運行時功率僅為33 mW。