林厚健,蔡子穎,鄧定南,王小增,黃杰賢
(嘉應學院物理與電子工程學院,廣東梅州 514015)
磁懸浮系統具有無接觸、無摩擦以及近乎無阻力的性能特點被大眾所追求,通常應用于磁懸浮軸承[1]、列車和擺件等,控制方法也多種多樣[2]。但磁懸浮系統具有非線性、不穩定、抗干擾差等特點,若采用依賴數學模型的控制方法[3],將使得系統的控制變得復雜,對MCU 的算力要求更高,而模糊PID 雖然適應能力強,但穩態控制效果通常不如模型預測和神經網絡等控制算法,且以上算法實現起來相對復雜?;谝陨戏治觯闹性O計了一種采用模糊PD 控制與自適應算法相結合的改進下推式磁懸浮系統,相比常規PD 控制算法的磁懸浮控制系統,適應范圍更大,魯棒性更強,功耗更低。
釹鐵硼浮子在斥力和吸力的共同作用下,豎直方向上的浮子達到受力平衡而懸浮。
又由恩紹定理[4]知,磁懸浮系統水平方向上若沒有對浮子的控制作用,浮子是難以穩定懸浮的。為提供磁懸浮系統水平方向上的控制力,實驗模型中,在鐵氧體環內對稱放置四個磁力線圈,水平方向控制力隨線圈電流變化而變化。在鐵氧體環內中心位置放置三個相互垂直的線性霍爾元件HX6639,用于檢測該點的三軸磁場信息,通過STM32F401 主控芯片讀取并轉換得到浮子的位置信息,并進行控制算法的運算,通過驅動器控制磁力線圈輸出力的大小,實現對浮子的穩定懸浮控制。
傳統PID 控制器中,控制量輸出U(t)與控制誤差err(t)關系如式(1)所示:
根據磁懸浮系統的特點,除了控制浮子的位置之外,還要抑制浮子震蕩速度,因此引入微分環節,人為放置浮子時的起始控制位置和動作完成時間是不確定的,若加入積分環節,會因為放置浮子的動作容易引起積分飽和,使得浮子在穩態時出現明顯振蕩,所以去除積分控制,采用PD 控制。PD 控制算法的離散化公式如式(2)所示:
其中,err(k)為k時刻的偏差,Kp和Kd分別是比例和微分參數。
傳統PD 控制的磁懸浮系統效果不盡如人意,基于以上PD 控制算法,應用模糊控制理論,實現PD 參數的在線自整定,以提高系統的魯棒性和適應性。圖1 所示為模糊PID 控制結構圖。

圖1 模糊PID控制結構圖
模糊控制器主要由模糊化、模糊推理和解模糊三個環節組成[5-10]。首先對輸入值模糊化,以誤差err(k)和誤差變化率Δerr(k)作為輸入,確定輸入量的基本論域,再通過實測對PD 參數的基本論域進行確定。
選定負大[NB]、負中[NM]、負小[NS]、零[ZO]、正小[PS]、正中[PM]、正大[PB]七個語言變量表達err(k)和Δerr(k)的模糊子集,選擇合適的常數集{-300,-200,-100,0,100,200,300} 作為模糊子集,通過測試,得出表1 所示系統模糊參數,其中量化因子為基本論域和模糊論域之比。

表1 系統模糊參數
接著求解輸入數據的隸屬度,這里選用三角隸屬度函數,通過隸屬度函數,計算當前偏差數據對應的隸屬區間和隸屬度,完成對偏差數據的模糊化,然后進行模糊推理,得出清晰化的數值增量。根據PID參數的工程整定法,可制定PD 參數的模糊規則表。結合模糊規則表,通過重心法[11]進行解模糊,如式(3)所示:
其中,M為隸屬度,F為模糊量化值,Vo為模糊輸出增量,由式(3)可得PID 參數的增量值ΔKp、ΔKd,即系統PD 參數表達式如式(4)所示:
式中,Kp0和Kd0為使用模糊參數整定前的初始值。
為了盡可能消除穩態誤差,同時最大程度降低系統的穩態輸出功率,該系統引入自適應控制算法。自適應控制算法包括自學習的控制算法[12-13]、基于backstepping 方法設計的自適應算法[14]、滑模自適應算法[15-16]、反饋線性化與在線參數辨識相結合的非線性自適應控制方法[17]和采用Lyapunov 綜合設計方法的模糊自適應算法[18]等。以上自適應控制算法雖然能降低甚至消除系統穩態誤差,但實施難度相對較大,而且都是基于恒定設定值而設計的算法。
通過式(5)對偏差進行分析:
式中,set_goal(k)為k時刻的設定值,detection(k)為k時刻的檢測值。err(k)的大小取決于設定值與檢測值的差,檢測值是由控制情況所決定的,而設定值是控制開始前設定且認為是浮子最佳懸浮位置的固定參數,對浮子的控制開始后,該固定參數往往已不再是浮子的最佳懸浮位置,故令系統實時調整設定值并使浮子自動尋找合適的懸浮位置實現穩定懸浮。
動態調整設定值之前,需先使系統進入穩定懸浮狀態,而Δerr(k)趨近零是穩態的特點,假定誤差變化率|Δerr(k)|<a,其中a>0,認為系統進入穩態。認定系統進入穩態后,假定穩態誤差控制目標為|err(k)|<b,其中b>0,當|err(k)|>b時,設定值就對err(k)進行積分累加,向|err(k)|增大的方向調整,進而使|err(k)|更大,迫使系統自動調整浮子位置。隨著系統的調整,浮子的穩態誤差逐漸減小,處于動態調整的設定值也會逐漸穩定,直到滿足|err(k)|<b,式(6)為設定值調整的理論依據:
其中,c為設定值積分系數。引入以上算法進行改進后,實現了設定值自動調整的自適應控制,穩態誤差幾乎為0。
實驗中發現,對受控力較小的浮子進行控制時,系統容易因輸出磁力不夠而失控。針對這一問題,利用檢測z軸磁場的霍爾元件來判斷浮子的受控力大小,對PD 參數再加入一個隨受控力變化的控制增量,如式(7)所示:
其中,VMAX為z軸檢測量程的最大值,z_detection(k)為k時刻檢測值,α和β為增量比例系數,均大于0。
自適應模糊PD 算法控制結構圖如圖2 所示,在傳統PD 控制的基礎上,引入了增加設定值積分功能的自適應模糊控制器和基于z軸磁場檢測的比例控制器對PD 參數進行自動調整,進而提高控制系統的魯棒性和適應性。

圖2 自適應模糊PD算法控制結構圖
實驗電路采用自主設計的基于STM32F401CCU6為主控芯片的磁懸浮硬件系統,控制代碼在Keil 軟件開發環境下通過C 語言編寫完成,浮子位置跟蹤波形通過藍牙模塊傳輸數據到手機藍牙串口調試器APP 進行顯示。
實驗確定的釹鐵硼浮子直徑、厚度、質量分別為3 cm、2 cm、96 g。依次用傳統PD 控制、模糊PD 控制、自適應模糊PD 控制算法進行懸浮控制實驗。確保三種控制算法初始PD 參數相同,釹鐵硼浮子在傳統PD控制、模糊PD 控制、自適應模糊PD 控制算法下的位置跟蹤波形如圖3-5 所示。由位置跟蹤波形圖可知,采用自適應模糊PD 控制使得浮子豎直方向(對應y軸)、水平方向(對應x軸)的位置跟蹤誤差均趨于0。

圖3 傳統PD控制下位置跟蹤波形

圖4 模糊PD控制下位置跟蹤波形

圖5 自適應模糊PD控制下位置跟蹤波形
保持初始PD 參數一致,分別用傳統PD 控制、模糊PD 控制和自適應模糊PD 控制對浮子進行懸浮測試直至穩態,通過功率表測量得到磁懸浮系統的穩態輸出電流和功率如表2 所示。

表2 系統穩態輸出電流和功率
表2 數據表明,自適應模糊PD 控制的穩態輸出電流遠低于其他兩種算法,系統功耗為0.534 W,功耗降低至傳統PD 控制的9.5%。
為了測試三種控制算法對浮子的體位適應性控制效果,在保證初始PD 參數和位置參數一致的前提下,分別用三種控制算法進行控制直至穩定懸浮后,固定裝置的一側,將另一側緩慢抬起使裝置與水平面夾角增大,直至浮子無法懸浮,并記錄穩定懸浮的最大傾斜角和系統輸出功率。測試結果為:傳統PD控制、模糊PD 控制和自適應模糊PD 控制下的最大傾斜角分別為10°、15°、90°,對應輸出功率分別為14.06 W、13.02 W、0.595 W。實驗結果表明,在自適應模糊PD 算法控制下,裝置傾斜角能夠達到90°,系統功耗由14 W 降低至0.6 W 左右,性能明顯優于前兩種控制算法。
針對常見下推式磁懸浮系統存在的穩態誤差大、系統功耗高、體位適應性差的問題,提出了一種自適應模糊PD 控制算法,在傳統PD 控制的基礎上加入模糊控制,降低了浮子位置穩態誤差。引入具有設定值積分功能的模糊控制器和基于z軸磁場檢測的比例運算器實現自適應模糊PD 控制,使系統具有設定值自調整功能。實驗結果表明,相較于傳統PD 控制和模糊PD 控制,基于自適應模糊PD 控制算法的磁懸浮系統輸出功率顯著下降,同時裝置懸浮傾斜角從10°達到90°幾近垂直狀態,磁懸浮控制系統的穩態誤差、系統功耗、體位自適應能力三方面的性能均得到大幅提升。