周 磊,劉慶想,王邦繼,李相強(qiáng),張健穹
(西南交通大學(xué),成都 610031)
目前高性能直流微電機(jī)多采用空心杯結(jié)構(gòu),具有重量輕、體積小、損耗低和轉(zhuǎn)速高的優(yōu)點(diǎn),兼具良好的起動(dòng)能力和調(diào)速性能。在小關(guān)節(jié)康復(fù)儀器、醫(yī)用多葉準(zhǔn)直器和陣列天線(xiàn)等領(lǐng)域,需要在有限空間內(nèi)實(shí)現(xiàn)多路微電機(jī)的位置控制[1-2],因此小型化的多軸微型電機(jī)位置控制模塊成為關(guān)鍵技術(shù)之一。
傳統(tǒng)電機(jī)位置控制器通常使用串行代碼,因而無(wú)法同步控制多軸電機(jī)[3]。由于傳統(tǒng)比例-積分-微分(以下簡(jiǎn)稱(chēng)PID)控制策略適用性和魯棒性較低,文獻(xiàn)[4]使用參數(shù)自適應(yīng)調(diào)整的方法改善控制性能。文獻(xiàn)[5]和文獻(xiàn)[6]分析了控制系統(tǒng)的模式,用漸變的方式切換控制系統(tǒng)模式,從而進(jìn)一步優(yōu)化控制性能。另一方面,空心杯微電機(jī)電樞電感很小,其電氣時(shí)間常數(shù)低至微秒量級(jí),因此H橋的開(kāi)關(guān)動(dòng)作周期必須也降至微秒量級(jí),以提高電樞電流質(zhì)量[7],這導(dǎo)致H橋死區(qū)時(shí)間占開(kāi)關(guān)周期的比例較大,容易出現(xiàn)輸入脈沖寬度調(diào)制PWM占空比太小而H橋不響應(yīng)的情況,進(jìn)而產(chǎn)生定位誤差。
現(xiàn)場(chǎng)可編程門(mén)陣列(以下簡(jiǎn)稱(chēng)FPGA)基于可編程硬件實(shí)現(xiàn)多種功能[8],因而可并行控制多軸電機(jī)。本文使用Verilog硬件描述語(yǔ)言設(shè)計(jì)了微型直流電機(jī)位置控制器知識(shí)產(chǎn)權(quán)IP核,基于自適應(yīng)控制和專(zhuān)家經(jīng)驗(yàn)策略,設(shè)計(jì)了簡(jiǎn)化的控制參數(shù)在線(xiàn)參數(shù)整定功能;在位置誤差較小時(shí),適當(dāng)放大PWM占空比的計(jì)算值,以滿(mǎn)足驅(qū)動(dòng)芯片占空比響應(yīng)范圍的要求,使得電機(jī)維持轉(zhuǎn)動(dòng),從而降低電機(jī)定位誤差。例化多個(gè)IP核即可在單芯片中控制多軸電機(jī),有利于電機(jī)控制系統(tǒng)的小型化。
本文采用自頂向下的設(shè)計(jì)方法,直流微電機(jī)位置伺服控制器的結(jié)構(gòu)如圖1所示。
圖1直流電機(jī)位置控制器頂層框圖
如圖1所示,位置伺服控制器包括FPGA芯片、集成驅(qū)動(dòng)芯片和編碼器。FPGA芯片計(jì)算所需控制參數(shù),驅(qū)動(dòng)芯片產(chǎn)生電樞電流,編碼器提供實(shí)際位置信息。被控電機(jī)為Faulhaber公司的1016-006G,匹配三相256線(xiàn)增量式編碼器,型號(hào)為HEM3-256-W。被控電機(jī)的關(guān)鍵參數(shù)如表1所示。
表1Faulhaber 1016-006G關(guān)鍵參數(shù)
參數(shù)值參數(shù)值額定力矩T/(mN·m)0.48電樞電感L/mH0.06電樞電阻R/Ω20.1機(jī)械時(shí)間常數(shù)τ/ms13
根據(jù)表1,被控電機(jī)電樞回路的電氣時(shí)間常數(shù)僅3 μs,為提高電樞電流質(zhì)量,應(yīng)提高開(kāi)關(guān)頻率,使得開(kāi)關(guān)周期與之接近。因此采用Texas Instruments公司的DRV8837,其最大開(kāi)關(guān)頻率為250 kHz,死區(qū)時(shí)間、輸出使能時(shí)間和上升時(shí)間共計(jì)628 ns。由于DRV8837只有限流保護(hù)且編碼器分辨率較低,控制回路為單位置環(huán)。為了減小機(jī)械振動(dòng)對(duì)控制回路產(chǎn)生的干擾,PID控制周期應(yīng)當(dāng)遠(yuǎn)小于機(jī)械時(shí)間常數(shù);另一方面為了使得驅(qū)動(dòng)芯片累計(jì)足夠的調(diào)制效果,PID控制周期應(yīng)當(dāng)明顯大于開(kāi)關(guān)動(dòng)作周期,最終PID控制周期設(shè)為0.2 ms。
直流電機(jī)位置控制器IP核的結(jié)構(gòu)如圖2所示。
圖2位置控制器IP核總體設(shè)計(jì)圖
如圖2所示,位置控制器IP核包括正交編碼脈沖(以下簡(jiǎn)稱(chēng)QEP)處理模塊、改進(jìn)型PID控制器模塊、PWM產(chǎn)生模塊和有限狀態(tài)機(jī)(以下簡(jiǎn)稱(chēng)FSM)模塊。
通過(guò)QEP模塊可獲知電機(jī)當(dāng)前位置。改進(jìn)型PID模塊根據(jù)當(dāng)前位置和設(shè)定位置整定控制參數(shù)并執(zhí)行數(shù)字式PID,經(jīng)過(guò)補(bǔ)償后輸出PWM占空比。PWM產(chǎn)生模塊產(chǎn)生指定占空比的PWM波。FSM通過(guò)狀態(tài)切換的方式控制其他模塊的工作時(shí)序,以確保IP核的正常工作。
QEP處理模塊包括數(shù)字濾波器、邊沿檢測(cè)、方向辨別和四倍頻計(jì)數(shù)器,其內(nèi)部結(jié)構(gòu)如圖3所示。
圖3QEP處理模塊框圖
如圖3所示,A,B和Z相信號(hào)均通過(guò)數(shù)字濾波以消除毛刺。定義A相信號(hào)相位超前B相信號(hào)時(shí)電機(jī)正轉(zhuǎn),否則電機(jī)反轉(zhuǎn)。對(duì)A相和B相信號(hào)全部邊沿計(jì)數(shù)以實(shí)現(xiàn)四倍頻,Z信號(hào)用于清空計(jì)數(shù)器。計(jì)數(shù)器的工作邏輯如表2所示。
表2計(jì)數(shù)器工作邏輯
A相信號(hào)B相信號(hào)計(jì)數(shù)器動(dòng)作A相信號(hào)B相信號(hào)計(jì)數(shù)器動(dòng)作上升沿低電平加1上升沿高電平減1下降沿高電平加1下降沿低電平減1高電平上升沿加1低電平上升沿減1低電平下降沿加1高電平下降沿減1
電機(jī)每轉(zhuǎn)動(dòng)一圈,QEP計(jì)數(shù)值增加1024,因而提高了位置檢測(cè)精度。同時(shí),編碼器信號(hào)缺相時(shí)QEP計(jì)數(shù)值幾乎不增加,因而便于系統(tǒng)故障診斷。
PID控制模塊包含增量型數(shù)字式PID控制器、參數(shù)在線(xiàn)調(diào)整和補(bǔ)償3部分。增量型數(shù)字式PID控制器第k個(gè)控制周期的輸出增量Δ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分別為比例、積分和微分系數(shù);e(k)為位置誤差,Δe(k)為位置誤差的變化值;p(k)為實(shí)際位置,Ps為設(shè)定位置。為了兼顧控制效果和硬件資源消耗量,本文基于自適應(yīng)控制和模糊控制思想,設(shè)計(jì)了根據(jù)e(k)和Δe(k)的狀態(tài)在線(xiàn)整定kp,ki和kd的策略?;菊{(diào)整原則如下:
e(k)較大時(shí),使用較大的kp和較小的kd,ki取零以減小過(guò)沖;
e(k)中等時(shí),使用中等的kp、較小的ki和較小的kd進(jìn)入過(guò)渡狀態(tài);
e(k)較小且Δe(k)較大時(shí),使用較小的kp、較小的ki和較大的kd以避免過(guò)沖;
e(k)較小且Δe(k)中等時(shí),使用較小的kp、中等的ki和較小的kd向消除靜態(tài)誤差過(guò)渡;
e(k)較小且Δe(k)較小時(shí),使用中等的kp和較大的ki,kd取零,主要用于消除靜態(tài)誤差。
根據(jù)e(k)與設(shè)定位置Ps的比值ηP確定e(k)的狀態(tài),根據(jù)Δe(k)/TP與當(dāng)前負(fù)載條件下穩(wěn)定轉(zhuǎn)速的比值ηω確定Δe(k)的狀態(tài),其中TP為位置環(huán)控制周期。ηP小于0.25時(shí)定義e(k)較小;ηP介于0.25與0.75之間時(shí)定義e(k)中等;ηP大于0.75時(shí)定義e(k)較大。Δe(k)狀態(tài)的判定規(guī)律與之相同。
上述整定策略符合階躍控制的一般規(guī)律,有助于減少過(guò)沖和振蕩,以調(diào)高位置階躍響應(yīng)的速度和定位精度,同時(shí)不需要計(jì)算隸屬函數(shù)和解模糊運(yùn)算,因而減少了硬件資源的消耗。
當(dāng)Ps很小時(shí),e(k)的狀態(tài)為較大,但占空比的計(jì)算值較小。若占空比小于集成驅(qū)動(dòng)芯片響應(yīng)范圍的下限,電機(jī)將不能轉(zhuǎn)動(dòng)即產(chǎn)生靜態(tài)誤差。根據(jù)參數(shù)整定規(guī)律,此時(shí)ki為零,導(dǎo)致該靜態(tài)誤差無(wú)法消除。因此本文對(duì)占空比的計(jì)算值進(jìn)行補(bǔ)償,其條件如下:
(a)e(k)不為零;
(b) 連續(xù)兩個(gè)位置控制周期內(nèi)Δe(k)為零。
若上述條件滿(mǎn)足,則將占空比放大到20%,實(shí)驗(yàn)中該數(shù)值可以維持電機(jī)轉(zhuǎn)動(dòng)。PID控制模塊輸出值D的范圍為±100,符號(hào)代表電流方向,數(shù)值對(duì)應(yīng)占空比0~100%。根據(jù)系統(tǒng)傳遞函數(shù),D與u(k)的關(guān)系:
D=5u(k)4 096
(2)
PWM產(chǎn)生模塊由循環(huán)計(jì)數(shù)器、可調(diào)閾值比較器和輸出引腳選擇電路組成,當(dāng)計(jì)數(shù)值小于閾值時(shí)輸出‘1’,否則輸出‘0’。根據(jù)DRV8837的接口關(guān)系,本模塊有兩個(gè)輸出引腳。若PID模塊輸出為正,則PWM波選通PWM1引腳;若PID模塊輸出為負(fù),則選通PWM2引腳;若PID模塊輸出零,則PWM1引腳和PWM2引腳均輸出低電平。
FSM依據(jù)特定條件跳轉(zhuǎn)狀態(tài)并執(zhí)行狀態(tài)內(nèi)的操作。本文中FSM包含6種狀態(tài),其定義如表3所示。
表3FSM各狀態(tài)的定義
狀態(tài)名稱(chēng)狀態(tài)內(nèi)動(dòng)作S0復(fù)位,清空所有寄存器S1等待0.2ms計(jì)時(shí)完成S2讀取設(shè)定位置和實(shí)際位置以計(jì)算位置誤差S3整定控制參數(shù)S4執(zhí)行數(shù)字式PID控制并轉(zhuǎn)換為占空比S5執(zhí)行占空比補(bǔ)償并為PWM產(chǎn)生模塊賦值
FSM的狀態(tài)切換由當(dāng)前狀態(tài)、復(fù)位信號(hào)Rst、使能信號(hào)En和0.2 ms計(jì)時(shí)器溢出信號(hào)To共同決定,狀態(tài)轉(zhuǎn)換圖如圖4所示。
圖4FSM狀態(tài)轉(zhuǎn)換圖
圖4中,F(xiàn)SM復(fù)位完成后進(jìn)入S0,En信號(hào)使得FSM進(jìn)入S1,從而進(jìn)入工作流程。To信號(hào)使得FSM進(jìn)入S2以計(jì)算位置誤差,從而開(kāi)始一個(gè)位置控制周期。此后依次在S3中整定控制參數(shù),在S4中執(zhí)行PID控制和占空比計(jì)算,在S5中完成占空比補(bǔ)償及PWM賦值后,F(xiàn)SM回到S1,等待下一個(gè)位置控制周期的開(kāi)始。En信號(hào)還是0.2 ms計(jì)時(shí)器的啟動(dòng)信號(hào),以確保計(jì)時(shí)器與FSM同步工作。
使用Quartus Prime 15.1軟件對(duì)IP核進(jìn)行編譯,目標(biāo)器件為EP4CE22F16,編譯結(jié)果如表4所示。
表4IP核資源消耗和時(shí)序分析結(jié)果
項(xiàng)目數(shù)值邏輯單元消耗量1262芯片總邏輯單元數(shù)量22320嵌入式乘法器消耗量5芯片總嵌入式乘法器數(shù)量132最?lèi)毫訔l件下允許時(shí)鐘頻率f/MHz67.51
根據(jù)分析結(jié)果,IP核消耗的邏輯單元和嵌入式乘法器僅占目標(biāo)器件的6%和5%,因而單芯片最多可控制16路電機(jī),有利于運(yùn)動(dòng)控制系統(tǒng)的小型化。
使用Model Sim對(duì)微型直流電機(jī)控制器IP核進(jìn)行寄存器傳輸級(jí)RTL仿真。由于Model Sim中難以對(duì)電機(jī)和編碼器進(jìn)行動(dòng)態(tài)建模,仿真中假設(shè)電機(jī)勻速轉(zhuǎn)動(dòng)。設(shè)定位置編碼為512(弧度為π)時(shí)仿真結(jié)果如圖5所示。
圖5設(shè)定位置編碼為512時(shí)仿真結(jié)果
圖5中,P_set和P_real分別為電機(jī)設(shè)定位置和實(shí)際位置;e(k-2),e(k-1)和e(k)為連續(xù)3個(gè)控制周期內(nèi)的位置誤差;kp,ki和kd分別為 PID的控制參數(shù);u(k)和Δu(k)分別為PID控制器的輸出和輸出變化值,D為計(jì)算所得的PWM占空比;PWM1和PWM2為DRV8837的控制信號(hào)。根據(jù)仿真結(jié)果,隨著電機(jī)轉(zhuǎn)動(dòng),kp,ki和kd也在不斷調(diào)整。經(jīng)過(guò)對(duì)比,QEP處理結(jié)果正確,參數(shù)整定結(jié)果與本文預(yù)期結(jié)果吻合,即本文設(shè)計(jì)的參數(shù)在線(xiàn)整定功能可正常運(yùn)行。經(jīng)過(guò)驗(yàn)算,Δu(k),u(k)和D計(jì)算結(jié)果與預(yù)期相同,PWM引腳選擇正確,因此本文的直流微電機(jī)伺服控制模塊可正常運(yùn)行。
微電機(jī)位置伺服控制器的實(shí)驗(yàn)裝置包括DE0-nano開(kāi)發(fā)板、DRV8837驅(qū)動(dòng)板、待測(cè)電機(jī)-編碼器套件、螺旋天線(xiàn)負(fù)載和邏輯分析儀,連接關(guān)系如圖6所示。
圖6實(shí)驗(yàn)裝置連接示意圖
圖6中,DE0-nano開(kāi)發(fā)板搭載EP4CE22F16芯片,直流微電機(jī)控制器IP核下載于其中,通過(guò)開(kāi)發(fā)板上的微型滑動(dòng)開(kāi)關(guān)修改設(shè)定位置。螺旋天線(xiàn)的轉(zhuǎn)動(dòng)慣量為3 g·mm2。邏輯分析儀記錄QEP處理結(jié)果用于繪制電機(jī)的角位移-時(shí)間曲線(xiàn)。
設(shè)定位置編碼為512和32時(shí),常規(guī)PID控制與本文改進(jìn)的PID控制下,直流微電機(jī)角位移-時(shí)間曲線(xiàn)的對(duì)比分別如圖7和圖8所示。
圖7設(shè)定位置編碼為512時(shí)控制效果對(duì)比圖
圖8設(shè)定位置編碼為32時(shí)控制效果對(duì)比圖
根據(jù)圖7和圖8,常規(guī)PID控制算法產(chǎn)生的過(guò)沖分別為5%和15%,并一直在振蕩。在改進(jìn)后的PID控制算法下,位置控制中期開(kāi)始提前減速,雖然首次到達(dá)設(shè)定位置的時(shí)間比常規(guī)PID控制略長(zhǎng),但消除了位置過(guò)沖和振蕩;對(duì)π和π/16的位置階躍響應(yīng)時(shí)間分別為24 ms和15 ms,從而提高了位置階躍響應(yīng)速度和精度。
為了減小過(guò)沖并兼顧不同定位角度的需求,控制參數(shù)整定后相對(duì)較小,在位置誤差較小時(shí)占空比計(jì)算值也較小,從而一定程度上犧牲了對(duì)小角度的跟隨能力,本文圖8設(shè)定位置為圖7的1/16,但響應(yīng)時(shí)間僅減少了1/3,圖8中占空比補(bǔ)償機(jī)制使得電機(jī)維持轉(zhuǎn)動(dòng)并到達(dá)設(shè)定位置。
綜上所述,本文的改進(jìn)措施消除了傳統(tǒng)PID位置控制導(dǎo)致的過(guò)沖和振蕩,并兼顧了不同設(shè)定位置的需求。
本文基于FPGA和集成驅(qū)動(dòng)芯片,設(shè)計(jì)了直流微電機(jī)位置伺服控制器,并設(shè)計(jì)了位置伺服控制器IP核?;谧赃m應(yīng)控制思想在線(xiàn)調(diào)整IP核的控制參數(shù),針對(duì)微電機(jī)電感低和集成驅(qū)動(dòng)芯片的工作時(shí)序,通過(guò)補(bǔ)償機(jī)制避免電機(jī)錯(cuò)誤停止,從而提高了微電機(jī)位置階躍響應(yīng)速度和定位精度。IP核的參數(shù)可在線(xiàn)調(diào)整,因而使用靈活。仿真結(jié)果表明,IP核占用硬件資源較少,目標(biāo)芯片最多可控制16路電機(jī),IP核的控制功能與預(yù)期相符。實(shí)驗(yàn)結(jié)果表明,本文的位置伺服控制器可快速實(shí)現(xiàn)無(wú)過(guò)沖無(wú)振蕩的位置階躍響應(yīng),從而滿(mǎn)足特定領(lǐng)域的需求。
[1] 靳嵐,謝黎明,沈浩,等.基于DSP的多葉準(zhǔn)直器葉片位置控制精度的研究[J].中國(guó)制造業(yè)信息化,2008,37(7):61-63,68.
[2] 王邦繼,劉慶想,張政權(quán),等.機(jī)械相控陣列天線(xiàn)的電機(jī)控制系統(tǒng)設(shè)計(jì)[J].強(qiáng)激光與粒子束,2011,23(11):3123-3126.
[3] 肖然,郝守剛,周明,等.直流電機(jī)位置伺服系統(tǒng)驅(qū)動(dòng)器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2007,33(9):25-27.
[4] 徐峰,李東海,姜學(xué)智.適應(yīng)型PID控制器參數(shù)整定性能比較[J].電子技術(shù)應(yīng)用,2002,28(6):36-38.
[5] 權(quán)利敏,趙景波,王曄.基于滑??刂频乃欧到y(tǒng)的建模與仿真[J].微型機(jī)與應(yīng)用,2013,32(2):81-83.
[6] 謝楨,付立軍,肖飛,等.直流變換器模式快速識(shí)別PI自適應(yīng)控制策略[J].電機(jī)與控制學(xué)報(bào),2013,36(1):25-30.
[7] 李立毅,譚廣軍,劉家曦,等.抑制高速電機(jī)電流諧波的LC濾波電路設(shè)計(jì)[J].微電機(jī),2013,46(7):38-44.
[8] 董盈鈞,孔明,馬忠祥.基于FPGA的打印機(jī)走紙控制系統(tǒng)[J].微型機(jī)與應(yīng)用,2010,29(21):94-96.