常怡萍, 劉 琴, 楊 蕾
(中原工學(xué)院 電子信息學(xué)院 河南 鄭州 450007)
基于FPGA的直流電機(jī)伺服控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
常怡萍, 劉 琴, 楊 蕾
(中原工學(xué)院 電子信息學(xué)院 河南 鄭州 450007)
為了滿足直流電機(jī)伺服控制系統(tǒng)實(shí)時(shí)控制的要求,提高電機(jī)跟蹤控制的精度,設(shè)計(jì)了基于單片F(xiàn)PGA的直流電機(jī)伺服控制系統(tǒng).該控制系統(tǒng)采用Nios II內(nèi)核實(shí)現(xiàn)位置環(huán)和速度環(huán)控制策略,系統(tǒng)的電流環(huán)通過(guò)并行硬件電路實(shí)現(xiàn).為了減小電機(jī)的力矩波動(dòng),設(shè)計(jì)了基于Anti-Windup策略的PI速度控制器;為了減小系統(tǒng)的超調(diào)量和調(diào)節(jié)時(shí)間,位置環(huán)采用了超前滯后校正器.仿真和實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)的伺服控制系統(tǒng)具有較好的穩(wěn)態(tài)精度和動(dòng)態(tài)性能,滿足系統(tǒng)的設(shè)計(jì)要求.
FPGA; Anti-Windup; Biss; 伺服控制
直流電機(jī)以其優(yōu)異的性能在航空航天、數(shù)控機(jī)床、汽車(chē)電子等領(lǐng)域得到了廣泛的應(yīng)用.傳統(tǒng)的直流電機(jī)伺服控制系統(tǒng)通常采用基于DSP和FPGA架構(gòu)的控制器,此類(lèi)控制器電路結(jié)構(gòu)復(fù)雜、靈活性較差,不利于系統(tǒng)的升級(jí)和維護(hù).為了簡(jiǎn)化外圍硬件電路設(shè)計(jì),近年來(lái)基于單片F(xiàn)PGA的伺服控制器成為研究的熱點(diǎn),并且在工業(yè)控制領(lǐng)域得到了成功的應(yīng)用[1-3].文獻(xiàn)[4]采用FPGA完成了基于Anti-Windup策略的永磁同步電機(jī)速度控制,實(shí)現(xiàn)了永磁同步力矩電機(jī)轉(zhuǎn)速的快速無(wú)超調(diào)控制;文獻(xiàn)[5]在FPGA中實(shí)現(xiàn)了感應(yīng)電機(jī)的神經(jīng)網(wǎng)絡(luò)控制,實(shí)現(xiàn)了感應(yīng)電機(jī)的集成伺服控制;文獻(xiàn)[6]通過(guò)硬件語(yǔ)言在FPGA中完成了永磁同步直線電機(jī)的自適應(yīng)模糊控制[6].上述控制算法的實(shí)現(xiàn)均采用并行硬件電路實(shí)現(xiàn),調(diào)試周期較長(zhǎng),對(duì)編程能力要求較強(qiáng).由于FPGA支持基于C語(yǔ)言的Nios II內(nèi)核,該內(nèi)核具有快速的運(yùn)算性能和靈活的外圍接口設(shè)計(jì),因此,Nios II內(nèi)核在伺服控制系統(tǒng)中得到了較多的應(yīng)用[7].
傳統(tǒng)的PI控制器受控制器輸出限幅的影響,電機(jī)的力矩和轉(zhuǎn)速輸出容易出現(xiàn)超調(diào)和振蕩,文獻(xiàn)[8]采用基于Anti-Windup策略的PI控制器,實(shí)現(xiàn)了望遠(yuǎn)鏡伺服控制系統(tǒng)的快速、無(wú)超調(diào)控制.文獻(xiàn)[9]通過(guò)新型的Anti-Windup策略完成控制器從P到PI的平穩(wěn)切換,實(shí)現(xiàn)了大階躍信號(hào)的無(wú)超調(diào)控制.
為了提高直流電機(jī)伺服控制系統(tǒng)的集成度和系統(tǒng)的實(shí)時(shí)性,筆者將采用Altera公司的FPGA-EP4C22E22對(duì)直流電機(jī)伺服控制系統(tǒng)進(jìn)行設(shè)計(jì),在FPGA中實(shí)現(xiàn)了速度環(huán)和位置環(huán)控制策略、電流環(huán)策略、電機(jī)電流采集、脈寬調(diào)制(PWM)、Biss編碼器數(shù)據(jù)采集.相比于傳統(tǒng)基于DSP的伺服控制系統(tǒng),提出的方案在精簡(jiǎn)硬件電路設(shè)計(jì)的同時(shí),具有更好的靈活性.針對(duì)速度環(huán)階躍響應(yīng)超調(diào)的問(wèn)題,采用了具有Anti-Windup策略的PI控制器,最后通過(guò)仿真和實(shí)驗(yàn)對(duì)上述設(shè)計(jì)進(jìn)行了驗(yàn)證.
直流電機(jī)伺服控制系統(tǒng)的總體硬件設(shè)計(jì)方案如圖1所示,其中電機(jī)的位置環(huán)和速度環(huán)在Nios Ⅱ內(nèi)核中實(shí)現(xiàn),電流環(huán)PI控制器采用并行電路實(shí)現(xiàn),PWM由比較器產(chǎn)生,電機(jī)電流數(shù)據(jù)和Biss編碼器數(shù)據(jù)的采集通過(guò)有限狀態(tài)機(jī)實(shí)現(xiàn).在FPGA中采用有限狀態(tài)機(jī)可以更有效地按照芯片AD7656數(shù)據(jù)手冊(cè)要求的時(shí)序進(jìn)行AD數(shù)據(jù)的采樣和讀取.上述模塊的時(shí)鐘統(tǒng)一由倍頻/分頻模塊產(chǎn)生.硬件設(shè)計(jì)的難點(diǎn)是電流PI控制器、電流AD采集的有限狀態(tài)機(jī)實(shí)現(xiàn)和Biss編碼器數(shù)據(jù)采集,因此,下面重點(diǎn)介紹這兩部分的設(shè)計(jì).
圖1 系統(tǒng)的硬件設(shè)計(jì)方案Fig.1 Scheme of hardware design
1.1電流PI控制器模塊
電流控制器采用傳統(tǒng)的增量式PI控制器,其表達(dá)式如下:
(1)
Δux(k)=kp(ex(k)-ex(k-1))+kiex(k);
(2)
ux(k)=ux(k-1)+Δux(k),
(3)
式中:x代表d軸和q軸;ex(k)為電流誤差;Δux(k)為PI控制器增量輸出;ux(k)為PI控制器輸出.具體實(shí)現(xiàn)過(guò)程如圖2所示,電流環(huán)PI控制器中包括采樣序列u(k)、u(k-1)以及e(k)、e(k-1),在FPGA硬件控制器中采用D觸發(fā)器實(shí)現(xiàn)采樣保持和數(shù)據(jù)的緩存.為了實(shí)現(xiàn)浮點(diǎn)算法并且保證運(yùn)算的精度,采用Q12算法進(jìn)行數(shù)據(jù)的處理.Q算法解決的是FPGA數(shù)字電路無(wú)法直接進(jìn)行浮點(diǎn)運(yùn)算的問(wèn)題,Q12是用12位二進(jìn)制定點(diǎn)數(shù)來(lái)表示浮點(diǎn)數(shù)(浮點(diǎn)數(shù)范圍是 -8≤x≤7.999 755 9).電流環(huán)即電機(jī)的力矩控制回路,將其采用并行硬件電路實(shí)現(xiàn),優(yōu)點(diǎn)是:(1)并行硬件電路運(yùn)算速度更快,有利于電機(jī)力矩波動(dòng)的及時(shí)調(diào)節(jié);(2)減小Nios II內(nèi)核運(yùn)算負(fù)擔(dān),從而將先進(jìn)的控制策略嵌入到內(nèi)核中.
圖2 電流控制器的硬件實(shí)現(xiàn) Fig.2 Hardware implementation of current controller
1.2電流采集模塊
電流的采集是通過(guò)AD采樣芯片AD7656實(shí)現(xiàn)的,F(xiàn)PGA對(duì)AD7656進(jìn)行數(shù)據(jù)的讀取需要通過(guò)有限狀態(tài)機(jī)實(shí)現(xiàn).狀態(tài)機(jī)根據(jù)16位模數(shù)轉(zhuǎn)換芯片AD7656的時(shí)序進(jìn)行編寫(xiě),如圖3所示.在FPGA上電完成復(fù)位后,在采樣信號(hào)15kHz的上升沿完成采樣觸發(fā),等待觸發(fā)結(jié)束;然后AD7656芯片進(jìn)行電流數(shù)據(jù)的采樣保持,芯片的Busy信號(hào)有效,當(dāng)FPGA時(shí)鐘掃描到忙信號(hào)無(wú)效時(shí)等待轉(zhuǎn)換結(jié)束;最后FPGA讀取AD7656數(shù)據(jù)寄存器中的通道1和通道2內(nèi)部的16位電流數(shù)據(jù),同時(shí)輸出轉(zhuǎn)換結(jié)束信號(hào),完成一次數(shù)據(jù)采樣.在完成電流的采集后,有限狀態(tài)機(jī)輸出轉(zhuǎn)換結(jié)束信號(hào)給電流環(huán),進(jìn)行電流環(huán)控制器的計(jì)算.
1.3Biss編碼器數(shù)據(jù)采集
針對(duì)Renishaw公司的32位絕對(duì)式編碼器進(jìn)行數(shù)據(jù)讀取實(shí)驗(yàn)研究,該編碼器是基于Biss-C模式的串行協(xié)議,該協(xié)議是一種主-從接口模式[10-11].主接口控制位置獲取時(shí)序和數(shù)據(jù)傳輸速度,而絕對(duì)式旋轉(zhuǎn)編碼器為從接口,接口由兩個(gè)單向差分線耦組成.MA將位置采集請(qǐng)求和時(shí)序信息(時(shí)鐘)傳輸?shù)綇闹鹘涌?,SLO將位置數(shù)據(jù)從編碼器傳輸?shù)脚cMA同步的主接口,數(shù)據(jù)傳輸格式如圖4所示.根據(jù)圖4所示的請(qǐng)求循環(huán)進(jìn)程,在FPGA中設(shè)計(jì)如圖5所示的有限狀態(tài)機(jī),進(jìn)行編碼器數(shù)據(jù)的讀取.
圖3 電機(jī)電流采集的有限狀態(tài)機(jī)Fig.3 Finite state machine sampled by motor current
圖4 32位絕對(duì)式編碼器數(shù)據(jù)格式Fig.4 Data mode of 32 bits absolute encoder
圖5 32位編碼器讀取狀態(tài)機(jī)Fig.5 FSM of 32 bits absolute encoder data reading
圖中Ack為應(yīng)答信號(hào),其持續(xù)時(shí)間為讀數(shù)頭計(jì)算絕對(duì)位置的時(shí)間;“start”位和“0”位均為1位,“start” 位始終是高電平,“0”位始終是低電平;絕對(duì)位置數(shù)據(jù)為二進(jìn)制格式,首先發(fā)送給最高位.對(duì)于旋轉(zhuǎn)編碼器來(lái)說(shuō),每轉(zhuǎn)正好有2n個(gè)脈沖,之后脈沖數(shù)溢出繞回到零.“error”位低電平有效:“1” 表示傳輸?shù)奈恢眯畔⒁驯蛔x數(shù)頭的內(nèi)置安全校驗(yàn)算法校驗(yàn),結(jié)果正確;“0”表示內(nèi)部檢查失敗,位置信息不可信.“warning”位低電平有效:“0” 表示應(yīng)對(duì)編碼器(及/或讀數(shù)窗口)進(jìn)行清潔.“CRC”位為校驗(yàn)位,位置、錯(cuò)誤及警告數(shù)據(jù)的CRC多項(xiàng)式為:x6+x1+x0,它先被傳輸為最高位,然后轉(zhuǎn)換. 起始位和 “0” 位從CRC計(jì)算中忽略.
伺服控制系統(tǒng)采用如圖6所示的控制結(jié)構(gòu),由位置控制器、速度控制器、結(jié)構(gòu)濾波器、速度檢測(cè)和控制模型組成.其中控制模型包括了電流環(huán)和系統(tǒng)的結(jié)構(gòu)模態(tài).為了增加系統(tǒng)的帶寬和響應(yīng)速度,需要設(shè)計(jì)位置控制器、速度控制器和結(jié)構(gòu)濾波器,位置控制器采用超前滯后補(bǔ)償?shù)男问?,速度控制器采用具有Anti-Windup策略的PI控制器.結(jié)構(gòu)濾波器的應(yīng)用目的是抑制在諧振頻率處的驅(qū)動(dòng)力矩成分,提高控制系統(tǒng)的增益,進(jìn)而提高系統(tǒng)的帶寬和動(dòng)態(tài)性能.結(jié)構(gòu)濾波器的表達(dá)式為
(4)
式中:ωNF為彈簧質(zhì)量模型的諧振頻率,稱為陷波頻率;ξZ、ξP分別為結(jié)構(gòu)濾波器的零點(diǎn)和極點(diǎn)阻尼系數(shù).
圖6 直流電機(jī)伺服控制系統(tǒng)結(jié)構(gòu)圖 Fig.6 Dc motor servo control system structure
位置超前滯后補(bǔ)償控制器形式為
(5)
式中:kp為控制器增益系數(shù);T1、T2、T3、T4為控制器時(shí)間常數(shù).具有Anti-Windup策略的速度PI控制器的輸出iq為
iq=kp·Δω+q,
(6)
積分輸出q的表達(dá)式為
(7)
基于上述設(shè)計(jì)對(duì)直流電機(jī)驅(qū)動(dòng)的小型轉(zhuǎn)臺(tái)進(jìn)行了伺服控制實(shí)驗(yàn),電機(jī)參數(shù)如下:電阻R=1.6Ω,電感L=6.0 mH,負(fù)載轉(zhuǎn)動(dòng)慣量為J=13 kg·m2;編碼器采用32位Biss絕對(duì)式編碼器,分辨率為0.000 3″.位置環(huán)設(shè)計(jì)參數(shù):kp=150,T1=1.5,T2=0.039,T3=0.29,T4=2.9;速度環(huán)設(shè)計(jì)參數(shù):kp=600,ki=1 500,ka=0.5.位置環(huán)和速度環(huán)采樣周期均為1 000 Hz.實(shí)驗(yàn)測(cè)得伺服系統(tǒng)的速度、位置階躍響應(yīng)曲線如圖7、8所示.
圖7 伺服系統(tǒng)的位置階躍響應(yīng)曲線Fig.7 Position step response curve of the servo system
圖8 伺服系統(tǒng)的速度階躍響應(yīng)曲線Fig.8 Speed step response curve of the servo system
由圖7可以看出,位置階躍具有較快的動(dòng)態(tài)響應(yīng)能力,位置定位時(shí)快速、無(wú)超調(diào),穩(wěn)態(tài)時(shí)位置誤差為±0.02″(20毫角秒),滿足伺服系統(tǒng)精確定位的要求.伺服系統(tǒng)在0.5°/s時(shí)的速度階躍響應(yīng)曲線如圖8所示,速度階躍響應(yīng)調(diào)節(jié)時(shí)間tslt;0.2 s,穩(wěn)態(tài)速度波動(dòng)百分比為0.54%,伺服系統(tǒng)的速度階躍響應(yīng)曲線說(shuō)明系統(tǒng)的速度環(huán)在采用具有Anti-Windup策略的控制器后,具有較好的動(dòng)態(tài)響應(yīng)能力和較高的穩(wěn)態(tài)精度.
設(shè)計(jì)了基于單片F(xiàn)PGA的直流電機(jī)伺服控制系統(tǒng),簡(jiǎn)化了外圍硬件設(shè)計(jì),在Nios II內(nèi)核中實(shí)現(xiàn)了位置超前滯后控制器;設(shè)計(jì)了具有Anti-Windup策略的速度控制器和結(jié)構(gòu)濾波器,減小了系統(tǒng)的速度超調(diào)量和調(diào)節(jié)時(shí)間.最后,通過(guò)實(shí)驗(yàn)驗(yàn)證了設(shè)計(jì)的伺服控制系統(tǒng)的良好性能,為直流電機(jī)伺服控制系統(tǒng)的集成化設(shè)計(jì)提供了較好的設(shè)計(jì)參考.
[1] ZHANG D, LI H. A stochastic-based FPGA controller for an induction motor drive with integrated neural network algorithms [J].IEEE Trans Ind Electron,2008,55(2):551-561.
[2] KUNG Y S, HUANG C C, TSAI M H. FPGA realization of an adaptive fuzzy controller for PMLSM drive[J].IEEE Trans Ind Electron,2009,56(8):2923-2935.
[3] JEZERNIK K,KORELIC J,HORVAT R. PMSM sliding mode FPGA-based control for torque ripple reduction[J]. IEEE Trans Power Electron,2013,28(7):3549-3556.
[4] HANUS R,KINNAERT M, HENROTTE J L. Conditioning technique, ageneral anti-windup and bumpless transfer method [J]. Automatica, 1987(23):729-739.
[5] JEZERNIK K,KORELI J,HORVAT R. PMSM sliding mode FPGA-based control for torque ripple reduction[J]. IEEE Trans Power Electron,2013,28(7):3549-3556.
[6] LIN F J, TENG L T, CHANG C K. Adaptive backstepping control for linear-induction-motor drive using FPGA [J]. Electr Power Appl, 2006(153):484-492.
[7] KUNG Y S, TSAI M H. FPGA-based speed control IC for PMSM drive with adaptive fuzzy control[J].IEEE Trans Power Electron, 2007(22):2476-2486.
[8] 李洪文.基于內(nèi)模PID 控制的大型望遠(yuǎn)鏡伺服系統(tǒng)[J].光學(xué)精密工程, 2009, 17(2): 328-332.
[9] CHOI J W, LEE S C. Antiwindup strategy for PI-Type speed controller[J]. IEEE Trans Ind Electron, 2009(56): 2039-2046.
[10] 霍海龍. 基于BiSS協(xié)議的編碼器及其在伺服驅(qū)動(dòng)系統(tǒng)中的應(yīng)用[J]. 電氣自動(dòng)化, 2011, 33(3):12-15.
[11] 肖鯤,王莉娜. 基于FPGA的BiSS協(xié)議光電編碼器通信模塊設(shè)計(jì)[J]. 電子測(cè)量技術(shù), 2008, 31(7):188-191.
DesignandImplementationofMotorServoControlSystemBasedonFPGA
CHANG Yiping, LIU Qin, YANG Lei
(School of Electronic and Information Engineering, Zhongyuan University of Technology, Zhengzhou 450007, China)
In order to meet the real-time control requirement of servo system, a dc motor control system based on FPGA was designed. The position and speed controller were realized in the Nios II, and the current loop was executed in FPGA. In order to reduce the torque ripple, an Anti-Windup PI controller was designed. The lead-lag controller was adopted for the position controller. The simulation and experiment result showed that the servo control system had better steady and dynamic performance, which met the requirement of the servo control system.
FPGA; Anti-Windup; biss; servo control
2016-05-10;
2016-06-28
國(guó)家自然科學(xué)基金資助項(xiàng)目(61501530)
常怡萍(1979— ),女,河南周口人,中原工學(xué)院講師,主要從事擴(kuò)頻通信、寬帶無(wú)線通信研究,E-mail:changyiping@126.com.
1671-6833(2017)06-0054-05
TP 273
A
10.3969/j.issn.1671-6833.2017.03.006