0 引言
隨著電液伺服控制理論的發展, 很多先進的控制策略被應用于電液伺服控制領域中。如: 文獻[ 1 ]闡述了基本運算為不完全微分PID的濾波型二自由度控制算法, 針對飛行仿真轉臺用液壓伺服系統的特點進行了仿真研究。文獻[ 2 ] 研究了基于RBFNN 的PID控制在電液位置伺服系統中的應用。文獻[ 3 ]對電液位置伺服系統采用滑模變結構控制, 用最優控制理論設計滑模平面, 均取得了良好效果。但大量文獻均是理論與仿真研究, 大多的工業應用仍然以模擬電路實現PID控制算法為主, 主要原因是實現這些先進的控制算法的方法目前都是由負責控制的下位機用程序實現的, 而計算機易出現死機、掉電等情況, 這使液壓系統可靠性和安全性都降低。
筆者介紹了一種用基于FPGA的DSP技術來設計電液伺服系統控制器的方法。該方法克服了傳統伺服控制器的一些不足, 可將許多復雜的實時控制算法硬件化實現, 并根據控制效果的優劣調整控制算法, 從而提高了控制器的控制效果、運算速度和可靠性。使用該方法, 設計者不必十分了解 FPGA (可編程邏輯門陣列) 和VHDL (硬件描述語言) , 在Matlab中便可設計出需要的伺服控制器。
1 現代DSP技術概述
近幾年來, 應用數字信號處理技術設計的數字控制器被越來越多地應用到電液伺服系統中。在過去很長的一段時間里, 以美國TI公司 TMS320 系列為代表的DSP處理器幾乎是數字信號處理應用系統的唯一選擇。但面對當今迅速變化的DSP應用市場, 其硬件結構的不可變性, 早已顯得力不從心。基于FPGA的現代DSP技術是用FPGA等可編程門陣列實現數字信號處理算法, 它是一種面向對象的DSP系統, 用戶可根據需要來定制和配置自己的DSP系統。但是, 應用FPGA開發DSP系統專業性強, 使其應用受到很大限制。目前, 在利用FPGA進行DSP系統的開發應用上, 已有了全新的設計工具和設計流程, 世界兩大FPGA生產廠商Xilinx公司和Altera公司都相繼推出了自己的DSP解決方案。 DSP Builder就是Altera公司推出的一個面向DSP開發的系統級工具。MathsWork公司Matlab是功能強大的數學分析工具。 Simulink是Matlab的一個工具箱, 用于圖形化建模仿真。DSP Builder作為Simulink中的一個工具箱,使得用FPGA設計 DSP系統可以通過Simulink的圖形化界面進行。DSP Builder中的基本模塊是以算法級的描述出現的, 易于用戶從系統或者算法級進行理解, 甚至不需要十分了解FPGA 本身和硬件描述語言。這為傳統控制系統領域的工程師開發基于FPGA的可靠控制系統芯片自頂向下的算法級設計提供了便利的條件。
2 電液位置伺服系統的數學模型
電液伺服系統是將電氣和液壓兩種控制方式結合起來組成的系統。典型的電液系統方框圖如圖1 所示

2.1 電液伺服閥
把電液伺服閥看作是一個二階震蕩環節, 其傳遞函數可以寫成如下形式:

式中: Ksv為伺服閥的流量增益;
ωsv為伺服閥的固有頻率;
ξsv為伺服閥的阻尼比。
采用TR2h7 /20EF型動圈雙級滑閥式位置反饋式電液伺服閥, 其主要參數為: 額定電流ΔiR = 013A;供油壓力 ps = 415MPa; 額定流量qR = 015 ×10- 3m3 / s;零位泄漏流量qc = 813 ×10 - 6m3 / s; 顫振電流幅值和頻率分別為25mA 和50Hz。由實驗可得出伺服閥固有頻率ωsv = 112 rad / s, 阻尼比ξsv = 0.6。
得到伺服閥的傳遞函數為:
令控制系統采樣周期為011 s, 可得伺服閥的脈沖傳遞函數為:
2.2 液壓缸- 負載
負載為慣性負載, 則液壓缸- 負載環節的傳遞函數可以寫成如下形式:
式中: XP 為液壓缸活塞位移;
QL 為負載流量;
AP 為液壓缸有效工作面積;
ωn 為液壓缸的固有頻率;
ξh為液壓缸的阻尼比。
液壓缸的技術參數為: 活塞直徑D = 01125m, 活塞桿直徑d = 0106m, 活塞行程H = ±01075m, 液壓缸有效工作面積AP = 9145 ×10 - 3m2 , 系統總的壓縮體積Vt = 2HAP +V管≈ 2148 ×10 - 3m3。
若液壓油彈性模量βe = 7 ×108 Pa, 慣性負載質量mt = 2175 ×104 kg, 則液壓缸- 負載環節的固有頻率為:
由于該環節的粘性阻尼系數和涉及到的伺服閥流量- 壓力系數都較小, 取ξh = 012。則可得到液壓缸- 負載環節的傳遞函數為:
令控制系統采樣周期為011 s, 可得伺服閥的脈沖傳遞函數為:
3 基于DSP Builder的電液伺服系統PID控制器設計
3.1 控制系統結構設計
伺服控制器設計可以從與硬件完全無關的系統級開始, 首先利用Matlab強大的系統設計、分析能力和DSP Builder提供的模塊完成控制系統的結構設計。本文控制器采用位置式PID控制器, 在Simulink搭建如圖2所示的模型。

圖2中, 頂層模型中PID Controllor為PID控制子系統, Input為控制輸入端, Feedback 為反饋輸入端,Function1與Function2 分別為伺服閥及液壓缸- 負載的離散數學模型。值得注意的是PID 子系統中的Mask Type 必須設置為SubSystem AlteraBlockSet, 否則, 只能進行Simulink 仿真, 不能進行SingnalCom2p iler分析。PID控制子系統為實現PID算法部分, 其結構框圖如圖3所示。

控制輸入端及反饋輸入端均采用了16 位精度。由于DSP Builder中尚不支持浮點數運算, 為了實現比例、積分、微分系數的精確可調, 在這里PID系數采用了位數轉換的方法, 先將PID系數取成整型, 先放大數據值到24位, 而在并行加法器運算單元后用IO&Bus中的總線轉換器單元對累加后的數據進行位數轉換為16位, 可表示1 /256 = 01003 9整數倍的浮點數, 實現FPGA中的浮點數運算。
3.2 控制系統仿真
在本例中采用PD控制, 取比例系數為1715, 微分系數為4, 相應地設置Kp = 1715 ×256 = 4 480,Kd = 4 ×256 = 1 024, 得系統的閉環階躍響應及正弦響應如圖4、5所示。

3.3 控制器的FPGA實現
雙擊ServoSystem 模型中的SingnalComp iler模塊,按照提示選擇器件、綜合及優化工具, 這里選擇EP2C8型 FPGA, 綜合工具選為QuartusⅡ, 優化方式選擇Balanced, 綜合考慮運算速度和耗費資源, 編譯生成 ServoSystem1qpf。在QuartusⅡ中打開ServoSys2tem1qpf, 可以看到SingnalCompiler 為自動生成的 VHDL語言源代碼。在QuartusⅡ中完成編譯適配過程,生成的pof文件及sof文件可直接用于FPGA的編程配置。配置好的控制器, Input 端接計算機給定值, Feed2back端接位移反饋A /D芯片, Output端接D /A輸出。
4 結論
筆者以FPGA的系統級設計工具DSP Builder設計帶鋼卷取電液伺服系統控制器為例, 介紹了現代DSP技術在電液伺服系統中的應用。該方法可以解決復雜控制算法在電液伺服系統實際應用中, 分立元件的局限性, 軟件實現的實時性、可靠性等方面的矛盾。由于有了像 DSP Builder這樣的系統級設計工具,設計是從與硬件完全無關的Matlab系統級仿真開始,因此便于傳統控制領域的工程師迅速地將算法級的構思應用于控制系統設計中, 從而可以將有限的精力專注于系統級算法的設計, 而避免陷入重復繁瑣的電路設計中去。可以預見, 隨著控制理論及電子技術的發展, 該方法在未來的電液伺服控制系統設計中將會得到廣泛應用。
參考文獻
【1】曹健, 李尚義, 趙克定. 電液伺服系統的二自由度P ID控制[ J ]. 機床與液壓, 2001 (6).
【2】張德華, 武永紅, 段鎖林. 基于RBFNN的P ID控制及其在電液位置伺服系統中的應用[ J ]. 太原科技大學學報, 2006, 27 (5).
【3】湯青波, 張文漢. 最優滑模控制在電液伺服系統中的應用研究[ J ]. 液壓與氣動, 2007 (1).
【4】潘松, 黃繼業, 曾毓. SOPC技術實用教程[M ]. 清華大學出版社, 200513.
【5】王積偉, 吳振順. 控制工程基礎[M ]. 高等教育出版社, 200118.