周 磊,劉慶想,王邦繼,李相強,張健穹
(西南交通大學,成都 610031)
目前高性能直流微電機多采用空心杯結構,具有重量輕、體積小、損耗低和轉速高的優點,兼具良好的起動能力和調速性能。在小關節康復儀器、醫用多葉準直器和陣列天線等領域,需要在有限空間內實現多路微電機的位置控制[1-2],因此小型化的多軸微型電機位置控制模塊成為關鍵技術之一。
傳統電機位置控制器通常使用串行代碼,因而無法同步控制多軸電機[3]。由于傳統比例-積分-微分(以下簡稱PID)控制策略適用性和魯棒性較低,文獻[4]使用參數自適應調整的方法改善控制性能。文獻[5]和文獻[6]分析了控制系統的模式,用漸變的方式切換控制系統模式,從而進一步優化控制性能。另一方面,空心杯微電機電樞電感很小,其電氣時間常數低至微秒量級,因此H橋的開關動作周期必須也降至微秒量級,以提高電樞電流質量[7],這導致H橋死區時間占開關周期的比例較大,容易出現輸入脈沖寬度調制PWM占空比太小而H橋不響應的情況,進而產生定位誤差。
現場可編程門陣列(以下簡稱FPGA)基于可編程硬件實現多種功能[8],因而可并行控制多軸電機。本文使用Verilog硬件描述語言設計了微型直流電機位置控制器知識產權IP核,基于自適應控制和專家經驗策略,設計了簡化的控制參數在線參數整定功能;在位置誤差較小時,適當放大PWM占空比的計算值,以滿足驅動芯片占空比響應范圍的要求,使得電機維持轉動,從而降低電機定位誤差。例化多個IP核即可在單芯片中控制多軸電機,有利于電機控制系統的小型化。
本文采用自頂向下的設計方法,直流微電機位置伺服控制器的結構如圖1所示。

圖1直流電機位置控制器頂層框圖
如圖1所示,位置伺服控制器包括FPGA芯片、集成驅動芯片和編碼器。FPGA芯片計算所需控制參數,驅動芯片產生電樞電流,編碼器提供實際位置信息。被控電機為Faulhaber公司的1016-006G,匹配三相256線增量式編碼器,型號為HEM3-256-W。被控電機的關鍵參數如表1所示。
表1Faulhaber 1016-006G關鍵參數

參數值參數值額定力矩T/(mN·m)0.48電樞電感L/mH0.06電樞電阻R/Ω20.1機械時間常數τ/ms13
根據表1,被控電機電樞回路的電氣時間常數僅3 μs,為提高電樞電流質量,應提高開關頻率,使得開關周期與之接近。因此采用Texas Instruments公司的DRV8837,其最大開關頻率為250 kHz,死區時間、輸出使能時間和上升時間共計628 ns。由于DRV8837只有限流保護且編碼器分辨率較低,控制回路為單位置環。為了減小機械振動對控制回路產生的干擾,PID控制周期應當遠小于機械時間常數;另一方面為了使得驅動芯片累計足夠的調制效果,PID控制周期應當明顯大于開關動作周期,最終PID控制周期設為0.2 ms。
直流電機位置控制器IP核的結構如圖2所示。

圖2位置控制器IP核總體設計圖
如圖2所示,位置控制器IP核包括正交編碼脈沖(以下簡稱QEP)處理模塊、改進型PID控制器模塊、PWM產生模塊和有限狀態機(以下簡稱FSM)模塊。
通過QEP模塊可獲知電機當前位置。改進型PID模塊根據當前位置和設定位置整定控制參數并執行數字式PID,經過補償后輸出PWM占空比。PWM產生模塊產生指定占空比的PWM波。FSM通過狀態切換的方式控制其他模塊的工作時序,以確保IP核的正常工作。
QEP處理模塊包括數字濾波器、邊沿檢測、方向辨別和四倍頻計數器,其內部結構如圖3所示。

圖3QEP處理模塊框圖
如圖3所示,A,B和Z相信號均通過數字濾波以消除毛刺。定義A相信號相位超前B相信號時電機正轉,否則電機反轉。對A相和B相信號全部邊沿計數以實現四倍頻,Z信號用于清空計數器。計數器的工作邏輯如表2所示。
表2計數器工作邏輯

A相信號B相信號計數器動作A相信號B相信號計數器動作上升沿低電平加1上升沿高電平減1下降沿高電平加1下降沿低電平減1高電平上升沿加1低電平上升沿減1低電平下降沿加1高電平下降沿減1
電機每轉動一圈,QEP計數值增加1024,因而提高了位置檢測精度。同時,編碼器信號缺相時QEP計數值幾乎不增加,因而便于系統故障診斷。
PID控制模塊包含增量型數字式PID控制器、參數在線調整和補償3部分。增量型數字式PID控制器第k個控制周期的輸出增量Δu(k):
Δu(k)=kpΔe(k)+kie(k)+
kd[Δe(k)-Δe(k-1)]=
kp[p(k-1)-p(k)]+ki[Ps-p(k)]+
kd[p(k-2)-p(k-1)]
(1)
式中:kp,ki和kd分別為比例、積分和微分系數;e(k)為位置誤差,Δe(k)為位置誤差的變化值;p(k)為實際位置,Ps為設定位置。為了兼顧控制效果和硬件資源消耗量,本文基于自適應控制和模糊控制思想,設計了根據e(k)和Δe(k)的狀態在線整定kp,ki和kd的策略。基本調整原則如下:
e(k)較大時,使用較大的kp和較小的kd,ki取零以減小過沖;
e(k)中等時,使用中等的kp、較小的ki和較小的kd進入過渡狀態;
e(k)較小且Δe(k)較大時,使用較小的kp、較小的ki和較大的kd以避免過沖;
e(k)較小且Δe(k)中等時,使用較小的kp、中等的ki和較小的kd向消除靜態誤差過渡;
e(k)較小且Δe(k)較小時,使用中等的kp和較大的ki,kd取零,主要用于消除靜態誤差。
根據e(k)與設定位置Ps的比值ηP確定e(k)的狀態,根據Δe(k)/TP與當前負載條件下穩定轉速的比值ηω確定Δe(k)的狀態,其中TP為位置環控制周期。ηP小于0.25時定義e(k)較小;ηP介于0.25與0.75之間時定義e(k)中等;ηP大于0.75時定義e(k)較大。Δe(k)狀態的判定規律與之相同。
上述整定策略符合階躍控制的一般規律,有助于減少過沖和振蕩,以調高位置階躍響應的速度和定位精度,同時不需要計算隸屬函數和解模糊運算,因而減少了硬件資源的消耗。
當Ps很小時,e(k)的狀態為較大,但占空比的計算值較小。若占空比小于集成驅動芯片響應范圍的下限,電機將不能轉動即產生靜態誤差。根據參數整定規律,此時ki為零,導致該靜態誤差無法消除。因此本文對占空比的計算值進行補償,其條件如下:
(a)e(k)不為零;
(b) 連續兩個位置控制周期內Δe(k)為零。
若上述條件滿足,則將占空比放大到20%,實驗中該數值可以維持電機轉動。PID控制模塊輸出值D的范圍為±100,符號代表電流方向,數值對應占空比0~100%。根據系統傳遞函數,D與u(k)的關系:
D=5u(k)4 096
(2)
PWM產生模塊由循環計數器、可調閾值比較器和輸出引腳選擇電路組成,當計數值小于閾值時輸出‘1’,否則輸出‘0’。根據DRV8837的接口關系,本模塊有兩個輸出引腳。若PID模塊輸出為正,則PWM波選通PWM1引腳;若PID模塊輸出為負,則選通PWM2引腳;若PID模塊輸出零,則PWM1引腳和PWM2引腳均輸出低電平。
FSM依據特定條件跳轉狀態并執行狀態內的操作。本文中FSM包含6種狀態,其定義如表3所示。
表3FSM各狀態的定義

狀態名稱狀態內動作S0復位,清空所有寄存器S1等待0.2ms計時完成S2讀取設定位置和實際位置以計算位置誤差S3整定控制參數S4執行數字式PID控制并轉換為占空比S5執行占空比補償并為PWM產生模塊賦值
FSM的狀態切換由當前狀態、復位信號Rst、使能信號En和0.2 ms計時器溢出信號To共同決定,狀態轉換圖如圖4所示。

圖4FSM狀態轉換圖
圖4中,FSM復位完成后進入S0,En信號使得FSM進入S1,從而進入工作流程。To信號使得FSM進入S2以計算位置誤差,從而開始一個位置控制周期。此后依次在S3中整定控制參數,在S4中執行PID控制和占空比計算,在S5中完成占空比補償及PWM賦值后,FSM回到S1,等待下一個位置控制周期的開始。En信號還是0.2 ms計時器的啟動信號,以確保計時器與FSM同步工作。
使用Quartus Prime 15.1軟件對IP核進行編譯,目標器件為EP4CE22F16,編譯結果如表4所示。
表4IP核資源消耗和時序分析結果

項目數值邏輯單元消耗量1262芯片總邏輯單元數量22320嵌入式乘法器消耗量5芯片總嵌入式乘法器數量132最惡劣條件下允許時鐘頻率f/MHz67.51
根據分析結果,IP核消耗的邏輯單元和嵌入式乘法器僅占目標器件的6%和5%,因而單芯片最多可控制16路電機,有利于運動控制系統的小型化。
使用Model Sim對微型直流電機控制器IP核進行寄存器傳輸級RTL仿真。由于Model Sim中難以對電機和編碼器進行動態建模,仿真中假設電機勻速轉動。設定位置編碼為512(弧度為π)時仿真結果如圖5所示。

圖5設定位置編碼為512時仿真結果
圖5中,P_set和P_real分別為電機設定位置和實際位置;e(k-2),e(k-1)和e(k)為連續3個控制周期內的位置誤差;kp,ki和kd分別為 PID的控制參數;u(k)和Δu(k)分別為PID控制器的輸出和輸出變化值,D為計算所得的PWM占空比;PWM1和PWM2為DRV8837的控制信號。根據仿真結果,隨著電機轉動,kp,ki和kd也在不斷調整。經過對比,QEP處理結果正確,參數整定結果與本文預期結果吻合,即本文設計的參數在線整定功能可正常運行。經過驗算,Δu(k),u(k)和D計算結果與預期相同,PWM引腳選擇正確,因此本文的直流微電機伺服控制模塊可正常運行。
微電機位置伺服控制器的實驗裝置包括DE0-nano開發板、DRV8837驅動板、待測電機-編碼器套件、螺旋天線負載和邏輯分析儀,連接關系如圖6所示。

圖6實驗裝置連接示意圖
圖6中,DE0-nano開發板搭載EP4CE22F16芯片,直流微電機控制器IP核下載于其中,通過開發板上的微型滑動開關修改設定位置。螺旋天線的轉動慣量為3 g·mm2。邏輯分析儀記錄QEP處理結果用于繪制電機的角位移-時間曲線。
設定位置編碼為512和32時,常規PID控制與本文改進的PID控制下,直流微電機角位移-時間曲線的對比分別如圖7和圖8所示。

圖7設定位置編碼為512時控制效果對比圖

圖8設定位置編碼為32時控制效果對比圖
根據圖7和圖8,常規PID控制算法產生的過沖分別為5%和15%,并一直在振蕩。在改進后的PID控制算法下,位置控制中期開始提前減速,雖然首次到達設定位置的時間比常規PID控制略長,但消除了位置過沖和振蕩;對π和π/16的位置階躍響應時間分別為24 ms和15 ms,從而提高了位置階躍響應速度和精度。
為了減小過沖并兼顧不同定位角度的需求,控制參數整定后相對較小,在位置誤差較小時占空比計算值也較小,從而一定程度上犧牲了對小角度的跟隨能力,本文圖8設定位置為圖7的1/16,但響應時間僅減少了1/3,圖8中占空比補償機制使得電機維持轉動并到達設定位置。
綜上所述,本文的改進措施消除了傳統PID位置控制導致的過沖和振蕩,并兼顧了不同設定位置的需求。
本文基于FPGA和集成驅動芯片,設計了直流微電機位置伺服控制器,并設計了位置伺服控制器IP核。基于自適應控制思想在線調整IP核的控制參數,針對微電機電感低和集成驅動芯片的工作時序,通過補償機制避免電機錯誤停止,從而提高了微電機位置階躍響應速度和定位精度。IP核的參數可在線調整,因而使用靈活。仿真結果表明,IP核占用硬件資源較少,目標芯片最多可控制16路電機,IP核的控制功能與預期相符。實驗結果表明,本文的位置伺服控制器可快速實現無過沖無振蕩的位置階躍響應,從而滿足特定領域的需求。
[1] 靳嵐,謝黎明,沈浩,等.基于DSP的多葉準直器葉片位置控制精度的研究[J].中國制造業信息化,2008,37(7):61-63,68.
[2] 王邦繼,劉慶想,張政權,等.機械相控陣列天線的電機控制系統設計[J].強激光與粒子束,2011,23(11):3123-3126.
[3] 肖然,郝守剛,周明,等.直流電機位置伺服系統驅動器設計[J].電子技術應用,2007,33(9):25-27.
[4] 徐峰,李東海,姜學智.適應型PID控制器參數整定性能比較[J].電子技術應用,2002,28(6):36-38.
[5] 權利敏,趙景波,王曄.基于滑模控制的伺服系統的建模與仿真[J].微型機與應用,2013,32(2):81-83.
[6] 謝楨,付立軍,肖飛,等.直流變換器模式快速識別PI自適應控制策略[J].電機與控制學報,2013,36(1):25-30.
[7] 李立毅,譚廣軍,劉家曦,等.抑制高速電機電流諧波的LC濾波電路設計[J].微電機,2013,46(7):38-44.
[8] 董盈鈞,孔明,馬忠祥.基于FPGA的打印機走紙控制系統[J].微型機與應用,2010,29(21):94-96.