專利名稱:基于fpga的多軸伺服電機(jī)電流環(huán)控制系統(tǒng)及控制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于工業(yè)自動化控制領(lǐng)域,尤其涉及一種基于FPGA的多軸伺服電機(jī)電流環(huán)控制系統(tǒng)及控制方法。
背景技術(shù):
目前廣泛使用的伺服驅(qū)動器大多采用基于MCU或DSP等微處理器采用純軟件的方式實(shí)現(xiàn),受軟件所固有的代碼串行執(zhí)行的特點(diǎn)以及微處理器頻率的限制,很難從總體實(shí)現(xiàn)的角度減小完成一次采樣控制所需要的時間,而常見的基于軟件的方案產(chǎn)生的滯后,也大大降低了電機(jī)控制的實(shí)時性,尤其降低了伺服系統(tǒng)電流環(huán)的控制性能。因此,此類驅(qū)動器在面對一些繞組電感較小的電機(jī)時,由于相對較長的控制滯后,不易得到理想的控制效果。而且,受限于微處理器的處理速度和非常有限的外設(shè)資源,當(dāng)需要構(gòu)建更加龐大的控制系統(tǒng) (比如完成多電機(jī)協(xié)同控制)時,有時不得不采用多處理器或者多個驅(qū)動器的方案,這使得 系統(tǒng)的成本和體積增加,而性能很難得到大幅度提高。采用專用的電機(jī)控制ASIC芯片雖然具有高速的運(yùn)算處理能力,但是ASIC芯片內(nèi)部的電機(jī)控制算法以及芯片引腳配置已經(jīng)固化,用戶無法改變,靈活性不足,單片結(jié)構(gòu)也限制了其在高速、多軸同步聯(lián)動時的應(yīng)用。而對于目前普遍采用的現(xiàn)場總線網(wǎng)絡(luò)如工業(yè)以太網(wǎng)實(shí)現(xiàn)多軸同步伺服控制的方案,為了實(shí)現(xiàn)對分立的伺服控制軸的同步控制,在網(wǎng)絡(luò)接口協(xié)議中需要處理復(fù)雜的分布時鐘同步運(yùn)算,不易實(shí)現(xiàn)簡單的多軸同步控制。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于FPGA的多軸伺服電機(jī)電流環(huán)控制系統(tǒng)及方法,本發(fā)明可以縮短電流環(huán)的調(diào)節(jié)時間,減小電流環(huán)控制滯后,保證較高的運(yùn)算精度,同時接收多軸電流指令,實(shí)現(xiàn)多軸電流環(huán)同步控制并輸出PWM信號驅(qū)動各電機(jī)軸功率逆變器模塊。本發(fā)明提供了一種基于FPGA的多軸伺服電機(jī)電流環(huán)控制系統(tǒng),包括設(shè)置在FPGA上的并行總線通訊模塊、AD采樣控制模塊、矢量變換模塊、復(fù)矢量調(diào)節(jié)器、編碼器反饋信號處理模塊、正余弦計(jì)算模塊、SVPWM運(yùn)算模塊、PWM標(biāo)準(zhǔn)輸出模塊、時序規(guī)劃模塊和電流調(diào)理模塊;所述并行總線通訊模塊用于實(shí)現(xiàn)與外部微處理器之間的通訊,接收所述微處理器發(fā)送的配置信息、電流指令(I/、I;)以及電流環(huán)周期控制啟動信號,并回傳給微處理器相關(guān)的狀態(tài)變量;所述編碼器反饋信號處理模塊用于接收外部的位置反饋元件的反饋信號,并將所述反饋信號進(jìn)行處理后輸出電角度信息(Θ e);所述AD采樣控制模塊用于控制外部多通道AD轉(zhuǎn)換器的啟動/停止,為所述AD轉(zhuǎn)換器提供模數(shù)轉(zhuǎn)換所必須的時鐘信號,并從所述AD轉(zhuǎn)換器獲取各電機(jī)軸對應(yīng)通道的電流采樣值;所述電流調(diào)理模塊接收所述AD采樣控制模塊輸出的各電機(jī)軸的電流采樣值,對所述電流采樣值進(jìn)行調(diào)理運(yùn)算,并根據(jù)所述時序規(guī)劃模塊輸出的當(dāng)前控制電機(jī)軸號,輸出對應(yīng)軸號電機(jī)的電流調(diào)理值(Ia、Ib);所述正余弦計(jì)算模塊接收所述編碼器反饋信號處理模塊輸出的各電機(jī)軸的電角度信息(Θ e),對所述電角度信息進(jìn)行正余弦計(jì)算后輸出電角度的正余弦值;所述矢量變換模塊包括CLARK變換單元、PARK變換單元、IPARK變換單元;所述CLARK變換單元將所述電流調(diào)理模塊輸出的電流調(diào)理值(Ia、Ib)進(jìn)行CLARK變換后輸出兩相α-β靜止坐標(biāo)系下的電流值(Iα、Ie );所述PARK變換單元將所述電流值(Ια、Ι0)進(jìn)行PARK變換后輸出兩相d_q同步旋轉(zhuǎn)坐標(biāo)系下電流反饋信號(Id、Iq);所述復(fù)矢量調(diào)節(jié)器將來自所述并行總線通訊模塊的各電機(jī)軸電流給定信號(I/、I/)、調(diào)節(jié)器控制參數(shù)、交叉耦合項(xiàng)(ωεΤ)以及PARK變換單元輸出的兩相d_q同步旋轉(zhuǎn)坐標(biāo)系下電流反饋信號(IdUq)進(jìn)行復(fù)矢量調(diào)節(jié),輸出兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下參考電壓矢量(V/,V:);所述IPARK變換單元將所述復(fù)矢量調(diào)節(jié)器輸出的兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下參考電壓矢量(V/,V:)進(jìn)行IPARK變換后輸出兩相α-β靜止坐標(biāo)系下參考電壓矢量(Va、Ve );所述SVPWM運(yùn)算模塊接收IPARK變換單元輸出的所述兩相a - β靜止坐標(biāo)系下參考電壓矢量(Va、Ve ),根據(jù)當(dāng)前進(jìn)行控制運(yùn)算的電機(jī)軸號計(jì)算并輸出對應(yīng)軸號的三相PWM信號脈寬給定值;所述PWM標(biāo)準(zhǔn)輸出模塊根據(jù)所述SVPWM運(yùn)算模塊輸出的三相PWM信號脈寬給定值輸出相應(yīng)的PWM信號并驅(qū)動功率逆變器的功率開關(guān);所述時序規(guī)劃模塊根據(jù)所述并行總線通訊模塊輸出的電流環(huán)周期控制啟動信號調(diào)度所述AD采樣控制模塊、所述矢量變換模塊、所述復(fù)矢量調(diào)節(jié)器、所述編碼器反饋信號處理模塊、所述正余弦計(jì)算模塊、 所述SVPWM運(yùn)算模塊以及所述電流調(diào)理模塊的時序,按照一定的順序完成多軸伺服電機(jī)電流環(huán)控制。更進(jìn)一步地,所述并行總線通訊模塊包括第一緩沖寄存器和第二緩沖寄存器;所述第一緩沖寄存器的使能端用于接收總線寫使能信號,所述第一緩沖寄存器的輸入端用于接收總線上的數(shù)據(jù);所述第二緩沖寄存器的輸入端連接至所述第一緩沖寄存器的輸出端,所述第二緩沖寄存器的使能端用于接收FPGA內(nèi)部刷新控制信號,所述第二緩沖寄存器的輸出端用于輸出FPGA內(nèi)部使用的實(shí)時控制參數(shù)。
[/I I1 0 If/I更進(jìn)一步地,所述CLARK變換單元采用變換矩陣;1 = ^ 2^3 /實(shí)現(xiàn)將三相
I 3 3 J
a-b-c靜止坐標(biāo)系下的電流調(diào)理值(Ia、Ib)變換為兩相α-β靜止坐標(biāo)系下的電流值(Ια、
I β ) O
Id f cos6 ηθ] L更進(jìn)一步地,所述PARK變換單元釆用變換矩陣/ = . ^ n /實(shí)現(xiàn)將兩相
iq Sixx O cos O -I β
α_β靜止坐標(biāo)系下的電流值(Ια、Ie)變換為兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下電流反饋信號(Id、Iq)。
j/r cos Θ sin O V更進(jìn)一步地,所述IPARK變換單元采用變換矩陣^ =flT丨實(shí)現(xiàn)將兩
Va -SinO COS Θ Vd
相d-q同步旋轉(zhuǎn)坐標(biāo)系下的參考電壓矢量(V/,V:)變換為兩相α-β靜止坐標(biāo)系下參考電壓矢量(Va、Ve )。更進(jìn)一步地,所述正余弦計(jì)算模塊采用平面坐標(biāo)系CORDIC算法實(shí)現(xiàn)對所述電角度信息的正余弦計(jì)算;其中,數(shù)據(jù)位數(shù)為18位,迭代次數(shù)為16次。更進(jìn)一步地,所述復(fù)矢量調(diào)節(jié)器進(jìn)行復(fù)矢量調(diào)節(jié)的運(yùn)算公式為
權(quán)利要求
1.一種基于FPGA的多軸伺服電機(jī)電流環(huán)控制系統(tǒng),其特征在于,包括設(shè)置在FPGA上的并行總線通訊模塊、AD采樣控制模塊、矢量變換模塊、復(fù)矢量調(diào)節(jié)器、編碼器反饋信號處理模塊、正余弦計(jì)算模塊、SVPWM運(yùn)算模塊、PWM標(biāo)準(zhǔn)輸出模塊、時序規(guī)劃模塊和電流調(diào)理模塊; 所述并行總線通訊模塊用于實(shí)現(xiàn)與外部微處理器之間的通訊,接收所述微處理器發(fā)送的配置信息、電流指令(I/、I;)以及電流環(huán)周期控制啟動信號,并回傳給微處理器相關(guān)的狀態(tài)變量; 所述編碼器反饋信號處理模塊用于接收外部的位置反饋元件的反饋信號,并將所述反饋信號進(jìn)行處理后輸出電角度信息(e e); 所述AD采樣控制模塊用于控制外部多通道AD轉(zhuǎn)換器的啟動/停止,為所述AD轉(zhuǎn)換器提供模數(shù)轉(zhuǎn)換所必須的時鐘信號,并從所述AD轉(zhuǎn)換器獲取各電機(jī)軸對應(yīng)通道的電流采樣值; 所述電流調(diào)理模塊接收所述AD采樣控制模塊輸出的各電機(jī)軸的電流采樣值,對所述電流采樣值進(jìn)行調(diào)理運(yùn)算,并根據(jù)所述時序規(guī)劃模塊輸出的當(dāng)前控制電機(jī)軸號,輸出對應(yīng)軸號電機(jī)的電流調(diào)理值(Ia、Ib); 所述正余弦計(jì)算模塊接收所述編碼器反饋信號處理模塊輸出的各電機(jī)軸的電角度信息(0 e),對所述電角度信息進(jìn)行正余弦計(jì)算后輸出電角度的正余弦值; 所述矢量變換模塊包括CLARK變換單元、PARK變換單元、IPARK變換單元;所述CLARK變換單元將所述電流調(diào)理模塊輸出的電流調(diào)理值(Ia、Ib)進(jìn)行CLARK變換后輸出兩相a靜止坐標(biāo)系下的電流值(I a、I e );所述PARK變換單元將所述電流值(I a、I e )進(jìn)行PARK變換后輸出兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下電流反饋信號(Id、Iq); 所述復(fù)矢量調(diào)節(jié)器將來自所述并行總線通訊模塊的各電機(jī)軸電流給定信號(I/、1;)>調(diào)節(jié)器控制參數(shù)、交叉耦合項(xiàng)(《6T)以及PARK變換單元輸出的兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下電流反饋信號(Id、Iq)進(jìn)行復(fù)矢量調(diào)節(jié),輸出兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下參考電壓矢量(V/,V;); 所述IPARK變換單元將所述復(fù)矢量調(diào)節(jié)器輸出的兩相d-q同步旋轉(zhuǎn)坐標(biāo)系下參考電壓矢量(V/,V:)進(jìn)行IPARK變換后輸出兩相a-0靜止坐標(biāo)系下參考電壓矢量(Va、Ve); 所述SVPWM運(yùn)算模塊接收IPARK變換單元輸出的所述兩相靜止坐標(biāo)系下參考電壓矢量(Va、Ve ),根據(jù)當(dāng)前進(jìn)行控制運(yùn)算的電機(jī)軸號計(jì)算并輸出對應(yīng)軸號的三相PWM信號脈寬給定值; 所述PWM標(biāo)準(zhǔn)輸出模塊根據(jù)所述SVPWM運(yùn)算模塊輸出的三相PWM信號脈寬給定值輸出相應(yīng)的PWM信號并驅(qū)動功率逆變器的功率開關(guān); 所述時序規(guī)劃模塊根據(jù)所述并行總線通訊模塊輸出的電流環(huán)周期控制啟動信號調(diào)度所述AD采樣控制模塊、所述矢量變換模塊、所述復(fù)矢量調(diào)節(jié)器、所述編碼器反饋信號處理模塊、所述正余弦計(jì)算模塊、所述SVPWM運(yùn)算模塊以及所述電流調(diào)理模塊的時序,完成多軸伺服電機(jī)電流環(huán)控制。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述并行總線通訊模塊包括第一緩沖寄存器和第二緩沖寄存器;所述第一緩沖寄存器的使能端用于接收總線寫使能信號,所述第一緩沖寄存器的輸入端用于接收總線上的數(shù)據(jù);所述第二緩沖寄存器的輸入端連接至所述第一緩沖寄存器的輸出端,所述第二緩沖寄存器的使能端用于接收FPGA內(nèi)部刷新控制信號,所述第二緩沖寄存器的輸出端用于輸出FPGA內(nèi)部使用的實(shí)時控制參數(shù)。
3.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述CLARK變換單元采用變換矩陣
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述PARK變換單元釆用變換矩陣
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述IPARK變換單元采用變換矩陣
6.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述正余弦計(jì)算模塊采用平面坐標(biāo)系CORDIC算法實(shí)現(xiàn)對所述電角度信息的正余弦計(jì)算;其中,數(shù)據(jù)位數(shù)為18位,迭代次數(shù)為16次。
7.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述復(fù)矢量調(diào)節(jié)器進(jìn)行復(fù)矢量調(diào)節(jié)的運(yùn)算公式為
8.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述復(fù)矢量調(diào)節(jié)器輸出的參考電壓矢量(V;, V;)采用下式進(jìn)行限幅處理
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述=^Zimax2-F/2是采用雙曲線坐標(biāo)系CORDIC算法實(shí)現(xiàn)的。
10.一種基于FPGA的多軸伺服電機(jī)電流環(huán)的控制方法,其特征在于,包括下述步驟s1:將電流調(diào)理模塊、CLARK變換單元、PARK變換單元、復(fù)矢量調(diào)節(jié)器、IPARK變換單元以及SVPWM運(yùn)算模塊依次構(gòu)成一個六級流水線; s2:采用所述六級流水線對各個電機(jī)軸進(jìn)行控制運(yùn)算設(shè)j表示待控電機(jī)軸的序號,j=0、,流水線中的每一個功能模塊對第j號電機(jī)軸的運(yùn)算啟動以前一個功能模塊對第j號電機(jī)軸的運(yùn)算結(jié)束且后一個功能模塊對第j_l號電機(jī)軸的運(yùn)算已經(jīng)啟動為條件;其中,當(dāng)j=0時,每一個功能模塊對第0號電機(jī)軸的運(yùn)算結(jié)束之后立即啟動后一個功能模塊對第0號電機(jī)軸的運(yùn)算;當(dāng)j=N時,當(dāng)流水線中的所述IPARK變換單元對第N號電機(jī)軸的運(yùn)算結(jié)束且所述SVPWM運(yùn)算模塊對第N-I號電機(jī)軸的運(yùn)算結(jié)束后啟動所述SVPWM運(yùn)算模塊對第N號電機(jī)軸的運(yùn)算; s3:根據(jù)步驟S2中的運(yùn)算結(jié)果分別對多軸伺服電機(jī)電流環(huán)進(jìn)行PWM輸出控制。
全文摘要
本發(fā)明公開了一種基于FPGA的多軸伺服電機(jī)電流環(huán)控制系統(tǒng)及控制方法,該控制系統(tǒng)包括設(shè)置在FPGA上的并行總線通訊模塊、AD采樣控制模塊、矢量變換模塊、復(fù)矢量調(diào)節(jié)器、編碼器反饋信號處理模塊、正余弦計(jì)算模塊、SVPWM運(yùn)算模塊、PWM標(biāo)準(zhǔn)輸出模塊、時序規(guī)劃模塊和電流調(diào)理模塊,采用純硬件邏輯實(shí)現(xiàn),能夠獨(dú)立完成對多軸交流伺服電機(jī)電流環(huán)的同步控制;同時,本發(fā)明綜合流水線和時分復(fù)用的思想,提出了一種多軸時序控制方法,能夠提高FPGA資源利用率和運(yùn)算速度;本發(fā)明在顯著縮短電流環(huán)調(diào)節(jié)時間的同時,能滿足高速高精度伺服驅(qū)動、多軸同步驅(qū)動、繞組電感較小的伺服電機(jī)控制等多種應(yīng)用需求。
文檔編號H02P21/00GK102811012SQ201210253149
公開日2012年12月5日 申請日期2012年7月20日 優(yōu)先權(quán)日2012年7月20日
發(fā)明者李葉松, 伍慶, 趙云 申請人:華中科技大學(xué)