王大彧, 郭宏
(北京航空航天大學(xué)自動化科學(xué)與電氣工程學(xué)院,北京 100191)
采用DSP和FPGA直驅(qū)閥用音圈電機驅(qū)動控制系統(tǒng)
王大彧, 郭宏
(北京航空航天大學(xué)自動化科學(xué)與電氣工程學(xué)院,北京 100191)
針對直驅(qū)閥用音圈電機控制系統(tǒng)的性能要求,以及現(xiàn)有電機驅(qū)動控制器存在的不足,提出一種基于浮點數(shù)字信號處理器(DSP)和現(xiàn)場可編程邏輯門陣列(FPGA)的驅(qū)動控制器結(jié)構(gòu)方案。根據(jù)系統(tǒng)驅(qū)動控制所需功能以及DSP和FPGA各自的特點,進行了功能劃分。其中:DSP作為主處理器,主要負(fù)責(zé)完成上電自檢、系統(tǒng)初始化、通訊、以及位置環(huán)計算;FPGA作為協(xié)處理器,主要負(fù)責(zé)完成PWM信號的產(chǎn)生、A/D采樣控制、數(shù)字濾波及過流保護、與DSP之間的數(shù)據(jù)交換、以及電流環(huán)計算。運用模塊化設(shè)計思想,采用VHDL語言編程完成了FPGA功能設(shè)計。實現(xiàn)了對直驅(qū)閥用音圈電機系統(tǒng)的位置/電流雙閉環(huán)控制。仿真及實驗結(jié)果表明,該驅(qū)動控制系統(tǒng)可以滿足直驅(qū)閥用音圈電機系統(tǒng)的性能要求。FPGA的運用,簡化了系統(tǒng)硬件結(jié)構(gòu),分擔(dān)了DSP的計算負(fù)擔(dān),保證了驅(qū)動控制系統(tǒng)的實時性。
電機驅(qū)動控制;數(shù)字信號處理器;現(xiàn)場可編程邏輯門陣列;音圈電機;非線性PID
直接驅(qū)動式電液伺服閥(direct drive valve,DDV),具有高頻響、大流量、抗污染能力強等優(yōu)點,是目前電液伺服閥的主要發(fā)展趨勢[1-4]。本文所研究的基于音圈電機的直接驅(qū)動閥(voice coil motor based direct drive valve,VCM-DDV)與傳統(tǒng)電液伺服閥相比,其最大的區(qū)別在于取消了液壓放大級,用大功率音圈電機直接驅(qū)動滑閥閥芯,從而提高了閥芯運動的固有頻率。因此,對直驅(qū)閥用音圈電機系統(tǒng)的驅(qū)動控制性能有較高要求。
傳統(tǒng)的直驅(qū)閥用驅(qū)動控制器普遍采用模擬控制實現(xiàn)[5-6],其存在一些固有缺點,如調(diào)試不方便、溫漂、無法與其他數(shù)字控制器直接實現(xiàn)接口。數(shù)字控制器具有對環(huán)境變化不敏感、可實現(xiàn)復(fù)雜算法、可增加附屬功能等優(yōu)點,是今后控制器發(fā)展的主要方向。現(xiàn)有電機數(shù)字控制器廣泛釆用數(shù)字信號處理器(digital signal processor,DSP)并配合一些外圍電路來完成電機控制,如TI公司C2000系列DSP等。該控制器結(jié)構(gòu)有兩點不足[7-10]:一是其釆用的DSP核心均為定點型,無法高速、高精度的完成一些較為復(fù)雜的控制算法;二是外設(shè)模塊均是固化的,用戶無法對其結(jié)構(gòu)進行修改,缺少靈活性。近年來,現(xiàn)場可編程邏輯門陣列(field programmable gate array,F(xiàn)PGA)發(fā)展十分迅速,其具有集成度高、功耗低、編程配置靈活且易于移植等優(yōu)點[11-12]。將FPGA應(yīng)用于電機控制系統(tǒng),不僅可以簡化系統(tǒng)硬件結(jié)構(gòu),而且增加了系統(tǒng)設(shè)計的靈活性。在現(xiàn)有的采用FPGA的電機驅(qū)動控制器中[13-15],F(xiàn)PGA通常只負(fù)責(zé)完成一些簡單的邏輯操作和時序轉(zhuǎn)換,其性能并未得到充分發(fā)揮。
本文提出一種基于浮點DSP和FPGA的驅(qū)動控制器硬件結(jié)構(gòu),實現(xiàn)對直驅(qū)閥用音圈電機的位置/電流雙閉環(huán)控制。根據(jù)DSP和FPGA各自的結(jié)構(gòu)特點,以及系統(tǒng)控制中所需功能,進行了功能劃分,并給出了FPGA功能設(shè)計和DSP軟件設(shè)計的具體方法。
驅(qū)動控制器采用基于浮點DSP和FPGA的結(jié)構(gòu),并與信號檢測電路和功率驅(qū)動電路相配合來完成VCM-DDV系統(tǒng)的驅(qū)動控制。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。其中,DSP采用TI公司的32位浮點型DSP TMS320VC33;FPGA采用Altera公司的EP2C5;功率驅(qū)動電路釆用H橋電壓型逆變器;電機位置傳感器釆用電渦流式位置傳感器;電流傳感器釆用LEM霍爾閉環(huán)式電流傳感器。

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖Fig.1 Block diagram of hardware
DSP屬于軟件可編程,其特點是具有通用性、靈活性、可以高速的完成復(fù)雜計算。FPGA屬于硬件可編程,其特點是可以完成一些高速并行操作,但其不適合完成復(fù)雜計算,因為此時需占用大量邏輯單元。根據(jù)DSP和FPGA各自的結(jié)構(gòu)特點,以及系統(tǒng)控制中所需功能,進行了功能劃分。控制器的功能劃分如圖2所示。其中,DSP負(fù)責(zé)完成上電自檢、系統(tǒng)初始化、通訊及位置環(huán)計算;FPGA負(fù)責(zé)完成PWM信號產(chǎn)生,A/D采樣控制、數(shù)字濾波及過流保護,與DSP之間的數(shù)據(jù)交換,以及電流環(huán)計算。從DSP角度看,F(xiàn)PGA相當(dāng)于他的協(xié)處理器。

圖2 控制器功能劃分Fig.2 Function dividing of controller
在FPGA功能設(shè)計時,采用模塊化設(shè)計思想,將系統(tǒng)中需由FPGA完成的功能劃分為獨立的功能模塊,利用VHDL語言編程實現(xiàn)。采用模塊化設(shè)計,便于系統(tǒng)維護以及功能升級。FPGA中功能模塊可劃分為:1)PWM產(chǎn)生模塊;2)A/D采樣控制模塊;3)采樣信號數(shù)字濾波及過流保護模塊;4)通信模塊;5)電流環(huán)計算模塊。
采用增減計數(shù)器、比較寄存器和比較器來實現(xiàn)PWM波的產(chǎn)生,即采用三角波比較法。為了防止H橋功率電路中上、下管直通造成電源短路,需要在PWM信號中加入死區(qū)。死區(qū)發(fā)生器由死區(qū)計數(shù)器和一些組合邏輯組成,使同相的上、下橋臂驅(qū)動信號錯開一個死區(qū)時間,防止功率器件短路。死區(qū)時間由死區(qū)寄存器決定,最后輸出各相上、下橋臂的驅(qū)動信號。
A/D采樣控制通過有限狀態(tài)機來實現(xiàn)。通過控制多路模擬開關(guān)Max309和高速單通道14位A/D轉(zhuǎn)換器AD7899,并采用分時復(fù)用的方法,完成對電流反饋信號、位置指令信號、位置反饋信號的采樣。A/D采樣控制的流程圖如圖3所示。狀態(tài)機則是根據(jù)A/D采樣芯片的轉(zhuǎn)換時序圖來編寫。A/D采樣控制器的觸發(fā)信號由采樣周期定時器來產(chǎn)生,A/D采樣控制器在采樣結(jié)束后將產(chǎn)生一個標(biāo)志信號以啟動電流環(huán)計算模塊。使用有限狀態(tài)機控制高速A/D器件的優(yōu)點:其一,狀態(tài)機可以并行完成運算和控制操作。因此,由狀態(tài)機構(gòu)成的硬件系統(tǒng)工作速度更快。其二,狀態(tài)機由純硬件電路構(gòu)成,其運行可靠性更高。

圖3 A/D采樣流程圖Fig.3 Flowchart of A/D sampling
考慮到用FPGA實現(xiàn)復(fù)雜數(shù)字濾波算法需要占用較多的硬件資源,因此采樣信號的數(shù)字濾波采用三點中位值濾波算法,即每次對反饋信號連續(xù)采樣3次,然后把3個采樣值從小到大排序,取中間值作為本次采樣值。
過流保護模塊通過對本次電流采樣值進行判斷,若超出設(shè)定的電流最大值,則立即封鎖PWM信號,使功率主電路的各功率管均處于關(guān)斷狀態(tài),并給出過流指示信號。
DSP與FPGA之間必須進行有效通信,才能協(xié)同工作。常用通信方式主要有:1)串口通信;2)DMA通信;3)利用標(biāo)準(zhǔn)總線通信;4)利用共享存儲器通信。系統(tǒng)中要求DSP和FPGA之間進行高速可靠的通信,并且希望硬件結(jié)構(gòu)盡可能簡單。所以,選擇DSP和FPGA之間通過雙口RAM進行通信。在系統(tǒng)設(shè)計時,并沒有直接外擴雙口RAM,而是通過編程在FPGA內(nèi)部實現(xiàn)了雙口RAM。這樣不僅簡化了系統(tǒng)硬件結(jié)構(gòu),提高了可靠性,而且充分利用了系統(tǒng)現(xiàn)有硬件資源。由FPGA實現(xiàn)的雙口RAM作為DSP的外擴存儲器,其讀寫速度快,DSP對其訪問無需插入等待。因而,可實現(xiàn)DSP與FPGA之間的高速數(shù)據(jù)交換。DSP與FPGA的通信原理如圖4所示。

圖4 DSP與FPGA通信原理圖Fig.4 The schematic of communication between DSP and FPGA
電流環(huán)采用PI算法。由A/D采樣的結(jié)束信號來觸發(fā)PI計算模塊,即每采樣一次電流就進行一次電流環(huán)計算。由位置環(huán)計算得出的給定電流值與電流采樣值相減得到當(dāng)前的電流偏差,對電流偏差進行PI計算可得當(dāng)前需要的占空比值。由于FPGA只能處理數(shù)字量,所以采用數(shù)字PI算法,并對輸出進行了限幅。帶輸出限幅的增量式數(shù)字PI算法為式中:e(k)為當(dāng)前電流偏差值;e(k-1)為上一次電流偏差值;u(k)為當(dāng)前計算得到的占空比;u(k-1)為上一次計算得到的占空比;uo(k)為實際輸出的占空比;umax、umin分別為占空比輸出限幅的最大值和最小值;q0,q1為可調(diào)控制參數(shù),q0>0,q1<0;k為采樣時刻。

DSP軟件設(shè)計采用自頂向下的設(shè)計思路,按功能劃分了軟件模塊。由于系統(tǒng)中許多控制功能已由FPGA完成,因此,DSP的主要任務(wù)就是完成上電自檢、系統(tǒng)初始化、以及位置環(huán)控制算法計算。DSP程序包括:主程序、系統(tǒng)初始化子程序、上電自檢子程序、定時器T0中斷服務(wù)程序等。
主程序的功能是調(diào)用上電自檢程序?qū)ο到y(tǒng)各部分進行自檢,調(diào)用系統(tǒng)初始化子程序?qū)ο到y(tǒng)進行初始化,啟動定時器T0,然后進入循環(huán)體,等待定時器T0中斷。當(dāng)發(fā)生定時器T0中斷時優(yōu)先去執(zhí)行中斷服務(wù)程序,在中斷服務(wù)程序中完成系統(tǒng)的控制。上電自檢程序的功能是系統(tǒng)上電后對系統(tǒng)各部分硬件的進行自檢,并根據(jù)自檢結(jié)果給出相應(yīng)的故障指示,以提高系統(tǒng)運行的可靠性及安全性。DSP主程序流程如圖5所示。

圖5 DSP主程序流程圖Fig.5 Flowchart of DSP main program
定時器T0中斷服務(wù)程序的功能是完成位置環(huán)控制算法計算,并將計算得到的電流指令發(fā)送給FPGA。位置環(huán)采用非線性PID控制,其可以很好地解決系統(tǒng)中快速性與超調(diào)之間的矛盾。
位置環(huán)非線性PID控制算法[16]為
位置指令信號跟蹤微分器:

位置環(huán)非線性誤差反饋控制率:

式中:v(k)為位置指令信號;v1(k+1)為位置指令安排的過渡過程;v2(k+1)為位置指令信號的微分;T為位置環(huán)計算周期;r1決定跟蹤微分器的跟蹤速度;z(k)為位置反饋信號;z1(k+1)為位置反饋信號;z2(k+1)為位置反饋信號的微分;r2決定跟蹤微分器的跟蹤速度;u(k)為電流指令;α、δ為常數(shù),設(shè)計中 α 取0.5、δ取0.01;kP、kI、kD為可調(diào)參數(shù),其意義分別與經(jīng)典PID控制中的積分系數(shù)、比例系數(shù)以及微分常數(shù)相同。
在基于FPGA的應(yīng)用中,對所設(shè)計的各部分進行功能以及時序仿真是十分有必要的。因此,本設(shè)計中利用Altera公司的FPGA開發(fā)軟件Quartus II 7.0對FPGA中的各個功能模塊進行了仿真,以驗證設(shè)計的正確性。其中,PWM模塊仿真波形如圖6所示;數(shù)字PI計算模塊仿真結(jié)果如圖7所示。

圖6PWM模塊仿真波形Fig.6 Simulation results of PWM block

圖7 PI計算模塊仿真波形Fig.7 Simulation results of PI calculation block
利用自行設(shè)計的基于DSP和FPGA驅(qū)動控制器,進行了VCM-DDV系統(tǒng)實驗。VCM-DDV系統(tǒng)參數(shù)如表1所示。

表1VCM-DDV系統(tǒng)參數(shù)Table 1 Parameters of the VCM-DDV
首先,進行內(nèi)環(huán)電流環(huán)實驗,以驗證系統(tǒng)的電流跟蹤性能。將通過仿真測試過的VHDL代碼,經(jīng)過編譯后產(chǎn)生配置文件并下載到FPGA中。由于所采用的音圈電機為無鐵心電機,因此其繞組電感較小,從而增加了電流控制的難度。為此,系統(tǒng)通過采用較高的PWM開關(guān)頻率(40kHz)和較短的電流環(huán)計算周期(25μs),以獲得較好的電流控制效果。這也正體現(xiàn)了由FPGA實現(xiàn)的控制器,處理速度快的優(yōu)點。上、下橋臂的PWM信號波形和電流方波響應(yīng)分別如圖8和9所示。電流環(huán)實驗結(jié)果表明,系統(tǒng)具有較好的電流跟蹤精確度,可以滿足系統(tǒng)性能要求。并且用FPGA構(gòu)成的電流環(huán)控制器,具有結(jié)構(gòu)簡單、控制速度快、可靠性高等優(yōu)點。
系統(tǒng)的位置正弦響應(yīng)和位置階躍響應(yīng)分別如圖10和11所示。如圖10所示,系統(tǒng)具有很好地低速跟蹤平穩(wěn)性。如圖11所示,系統(tǒng)的位置階躍響應(yīng)調(diào)節(jié)時間僅為3.8 ms,且無超調(diào)。實驗結(jié)果表明,系統(tǒng)具有很好的位置跟蹤性能,可以滿足VCM-DDV系統(tǒng)性能要求。由于FPGA分擔(dān)了DSP的計算負(fù)擔(dān),使DSP專用于完成位置環(huán)非線性PID控制算法的計算,因而提高了系統(tǒng)控制的實時性。

圖8 上、下橋臂PWM波形(40kHz)Fig.8 PWM signal generated by FPGA

圖9 電流方波響應(yīng)(100Hz)Fig.9 Current square-wave response

圖10 位置正弦響應(yīng)(0.1Hz)Fig.10 Position sinusoid response(0.1Hz)

圖11 位置階躍響應(yīng)Fig.11 Position step response
本文提出了一種基于浮點DSP和FPGA的音圈電機驅(qū)動控制系統(tǒng),完成了高直驅(qū)閥用音圈電機系統(tǒng)的位置/電流雙閉環(huán)控制。實驗結(jié)果表明,該控制系統(tǒng)有較好的穩(wěn)、動態(tài)性能,可以滿足系統(tǒng)性能要求。通過對系統(tǒng)功能的合理劃分,實現(xiàn)了系統(tǒng)硬件資源的合理配置。FPGA的運用,大大簡化了硬件的設(shè)計,分擔(dān)了DSP的計算負(fù)擔(dān),保證了系統(tǒng)控制的實時性。
[1] 郭宏,蔚永強,邢偉.三余度直接驅(qū)動閥驅(qū)動控制系統(tǒng)[J].北京航空航天大學(xué)學(xué)報,2007,33(11):1286-1290.
GUO Hong,YU Yongqiang,XING Wei.Triplex-redundancy control system for direct-drive-valve[J].Journal of Beijing University of Aeronautics and Astronautics,2007,33(11):1286 -1290.
[2] 方群,黃增.電液伺服閥的發(fā)展歷史、研究現(xiàn)狀及發(fā)展趨勢[J].機床與液壓,2007,35(11):162-165.
FANG Qun,HUANG Zeng.Developing process research actuality and trend of electro hydraulic servo valve[J].Machine Tool&Hydraulics,2007,35(11):162 -165.
[3] YU Kaiping,GUO Hong,WANG Dayu,et al.Design of multi-redundancy electro-mechanical actuator controller with DSP and FPGA[C]//International Conference on Electrical Machines and Systems.Seoul,South Korea:IEEE,2007:584 -587.
[4] 李其朋,丁凡.電液伺服閥技術(shù)研究現(xiàn)狀及發(fā)展趨勢[J].工程機械,2003,06:28 -33.
LI Qipeng,DING Fan.Current situations and developing trend of the research of electro-hydraulic servo valve technique[J].Construction Machinery and Equipment,2003,06:28 -33.
[5] LIN J S,CHEN C L.Buck/boost servo amplifier for direct-drivevalve actuation [J].IEEE Trans Aero and Electron Sys,1995,31(3):960-967.
[6] OBOE R,ANTONELLO R,CAPRETTA P.Realization of an adaptive voltage driver for voice coil motor[J].Microsystem Technologies,2005,11(8):663 -675.
[7] KOBAYASHI M,HOROWITZ R.Track seek control for hard disk dual-stage servo systems[J].IEEE Trans on Magnetics,2001,37(21):949-954.
[8] YU Kaiping,GUO Hong,WANG Dayu,et al.Design of multi-redundancy electro-mechanical actuator controller with DSP and FPGA[C]//International Conference on Electrical Machines and Systems.Seoul,South Korea:IEEE,2007:584 -587.
[9] 陳幼平,張代林,艾武,等.基于DSP的直線電機位置伺服控制策略研究[J].電機與控制學(xué)報,2006,10(1):61-65.
CHEN Youping,ZHANG Dailin,AI Wu,et al.Research on the DSP-based control strategies of a positioning servo system of the linear motors[J].Electric Machines and Control,2006,10(1):61-65.
[10] DUBEY R,AGARWAL P,VASANTHA M K.Programmable logic devices for motion control-a review[J].IEEE Trans on Industrial Electronics,2007,54(1):559 -566.
[11] ZHANG Da,LI Hui.A stochastic-based FPGA controller for an induction motor drive with integrated neural network algorithms[J].IEEE Transactions on Industrial Electronics,2008,55(2):551-561.
[12] 劉東,黃進,陳高,等.FPGA在大功率多相變頻調(diào)速系統(tǒng)中的應(yīng)用[J].電機與控制學(xué)報,2010,14(6):52-55.
LIU Dong,HUANG Jin;CHEN Gao,et al.Application of FPGA in high-power multiphase variable speed drives[J].Electric Machines and Control,2010,14(6):52 -55.
[13] AYASRAH O Al,ALUKAIDEY T,PISSANIDIS G.Mixed signal DSP based multi task motion control system using external FPGA structural design[C]//IEEE INDICON,2005:419-422.
[14] HUANG J B,XIE Z W,LIU H,et al.Adaptive cartesian impedance control system for flexible joint robot by using DSP/FPGA architecture[J].International Journal of Robotics and Automation,2008,23(3):251-258.
[15] 顏景斌,劉嘉輝,謝金寶,等.矢量控制速度伺服系統(tǒng)的FPGA 實現(xiàn)[J].電機與控制學(xué)報,2007,11(1):17-20.
YAN Jingbin,LIU Jiahui,XIE Jinbao,et al.FPGA implementation of the vector-controlled speed servo system [J].Electric Machines and Control,2007,11(1):17 -20.
[16] HAN Jingqing.From PID to Active Disturbance Rejection Control[J].IEEE Trans Ind Electron,2008,56(3):900 -906.
(編輯:于智龍)
A DSP and FPGA based drive control system for voice coil motor used in direct drive valve
WANG Da-yu,GUO Hong
(School of Automation Science and Electrical Engineering,Beijing University of Aeronautics and Astronautics,Beijing 100191,China)
Aiming at the performance requirements of the control system for voice coil motor used in direct drive valve,a hardware structure of voice coil motor drive control system based on float-point digital signal processor(DSP)and field programmable gate arrays(FPGA)was presented.The assignment of the control system was functionally divided into the DSP and FPGA modules according to their structure features.DSP,as the host processor,fulfilled the system functions of self-test and the calculation of position loop.FPGA,as the coprocessor,fulfilled the system functions of PWM signal generation,analog signal detected and digital filtering,over-current protection,communication with DSP and calculation of current loop.Meanwhile,a double-closed loop control composed of position loop and current loop was accomplished.The function modularization design of FPGA was implemented by Very-High-Speed Integrated Circuit Hardware Description Language(VHDL).The simulation and experiment results show the system’s validity.The application of FPGA can simplify the hardware structure,release the calculation burden for DSP,and guarantee the real time of the drive control system.
motor drive control;field programmable gate arrays;digital signal processor;voice coil motor;nonlinear PID
TP 921
A
1007-449X(2011)04-0007-06
2010-09-04
國家科技支撐計劃(2006BAF01B10-01)
王大彧(1982—),男,博士研究生,研究方向為特種電機設(shè)計及其驅(qū)動控制;
郭 宏(1967—),男,教授,博士生導(dǎo)師,研究方向為特種電機設(shè)計及其驅(qū)動控制。