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