本發(fā)明涉及電機(jī)的技術(shù)領(lǐng)域,特別涉及一種fpga的多軸電流環(huán)實(shí)現(xiàn)方法。
背景技術(shù):
對(duì)于多軸電流環(huán)的實(shí)現(xiàn),常規(guī)的做法是一塊控制芯片實(shí)現(xiàn)一個(gè)電流環(huán),這就要用到多塊芯片,不利于系統(tǒng)的集成和成本控制。
國(guó)家知識(shí)產(chǎn)權(quán)局于2012年12月05日公開(kāi)了“一種基于fpga的多軸伺服電機(jī)電流環(huán)控制系統(tǒng)及控制方法”,專(zhuān)利申請(qǐng)?zhí)枮椋骸?01210253149.1”,該控制系統(tǒng)包括設(shè)置在fpga上的并行總線通訊模塊、ad采樣控制模塊、矢量變換模塊、復(fù)矢量調(diào)節(jié)器、編碼器反
饋信號(hào)處理模塊、正余弦計(jì)算模塊、svpwm運(yùn)算模塊、pwm標(biāo)準(zhǔn)輸出模塊、時(shí)序規(guī)劃模塊和電流調(diào)理模塊,采用純硬件邏輯實(shí)現(xiàn),能夠獨(dú)立完成對(duì)多軸交流伺服電機(jī)電流環(huán)的同步控制,該系統(tǒng)采用時(shí)分復(fù)用的思想對(duì)電流環(huán)進(jìn)行控制。
雖然采用時(shí)分復(fù)用的方式可以大大地節(jié)約邏輯資源,但是由于每個(gè)功能模塊的獨(dú)立運(yùn)算時(shí)間有差異,如果全部功能模塊都采用時(shí)分復(fù)用的方式的話(huà),那么總體運(yùn)算時(shí)間則大大增長(zhǎng),對(duì)于一些控制時(shí)間要求較高的電流環(huán)控制系統(tǒng)則會(huì)很不適應(yīng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:提供一種多軸電流環(huán)的實(shí)現(xiàn)系統(tǒng),該系統(tǒng)采用流水線操作和并行操作復(fù)合的控制方式,實(shí)現(xiàn)多個(gè)模塊的復(fù)用同時(shí)節(jié)約了運(yùn)算時(shí)間。
本發(fā)明解決其技術(shù)問(wèn)題的解決方案是:一種fpga的多軸電流環(huán)實(shí)現(xiàn)方法,包括步驟:將各個(gè)功能模塊組成流水線,其特征在于,還包括步驟:根據(jù)各個(gè)功能模塊的獨(dú)立運(yùn)算周期分為信號(hào)串行部分和信號(hào)并行部分;所述信號(hào)串行部分的功能模塊的獨(dú)立運(yùn)算周期均相同,電機(jī)軸數(shù)設(shè)為i,所述信號(hào)串行部分的功能模塊的獨(dú)立運(yùn)算周期則為i-1個(gè)時(shí)鐘周期,所述信號(hào)并行部分的功能模塊對(duì)各電機(jī)軸采取信號(hào)同時(shí)處理方式,所述信號(hào)串行部分的功能模塊對(duì)各電機(jī)軸采取信號(hào)時(shí)分復(fù)用的處理方式,所述信號(hào)時(shí)分復(fù)用的處理方式為:設(shè)k為電機(jī)軸序號(hào),每一個(gè)功能模塊對(duì)第k電機(jī)軸運(yùn)算的啟動(dòng)條件為:前一個(gè)功能模塊對(duì)第k個(gè)電機(jī)軸運(yùn)算結(jié)束且后一個(gè)模塊對(duì)第k-1個(gè)電機(jī)軸運(yùn)算已經(jīng)啟動(dòng)。
進(jìn)一步,所述信號(hào)并行部分包括:ad采樣模塊、編碼器、pid調(diào)節(jié)模塊、pwm脈沖產(chǎn)生模塊;所述信號(hào)串行部分包括:clarke計(jì)算模塊、park計(jì)算模塊、ipark計(jì)算模塊、占空比運(yùn)算模塊、電角度計(jì)算模塊和cordic計(jì)算模塊;所述ad采樣模塊用于獲取各電機(jī)軸對(duì)應(yīng)通道的電流采樣值;所述clarke計(jì)算模塊用于將所述電流采樣值從三相電流等效為兩相電流;所述編碼器用于獲取各電機(jī)軸對(duì)應(yīng)的位置信息;所述電角度計(jì)算模塊用于將所述位置信息轉(zhuǎn)化為電角度;所述cordic計(jì)算模塊用于所述電角度轉(zhuǎn)化為對(duì)應(yīng)電角度的正、余弦值;所述park計(jì)算模塊用于接收各電機(jī)軸的兩相電流和對(duì)應(yīng)電角度的正、余弦值,并計(jì)算得出旋轉(zhuǎn)坐標(biāo)系下d、q軸的正交電流;所述pid調(diào)節(jié)模塊用于對(duì)正交電流進(jìn)行比例積分調(diào)節(jié)并輸出旋轉(zhuǎn)坐標(biāo)下d軸的電壓控制量、q軸的電壓控制量;所述ipark計(jì)算模塊用于將所述d軸的電壓控制量、q軸的電壓控制量轉(zhuǎn)化為靜止坐標(biāo)系下的α軸的電壓控制量、β軸的電壓控制量;所述占空比運(yùn)算模塊用于接收ipark計(jì)算模塊輸出的所述α軸的電壓控制量、β軸的電壓控制量,并根據(jù)α軸、β軸的電壓控制量輸出對(duì)應(yīng)電機(jī)軸的三相pwm信號(hào)占空比;所述pwm脈沖產(chǎn)生模塊用于將三相pwm信號(hào)占空比轉(zhuǎn)化為三相pwm脈寬給定值并輸出。
進(jìn)一步,所述電機(jī)軸為4個(gè)。
本發(fā)明的有益效果是:依據(jù)各功能模塊的獨(dú)立運(yùn)行周期將各功能模塊分為信號(hào)串行部分和信號(hào)并行部分并組成流水線,在信號(hào)串行部分采用時(shí)分復(fù)用方式,在信號(hào)并行部分采用信號(hào)同時(shí)處理方式,使得整個(gè)系統(tǒng)在節(jié)約邏輯資源的同時(shí)保證運(yùn)算速度。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單說(shuō)明。顯然,所描述的附圖只是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,本領(lǐng)域的技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他設(shè)計(jì)方案和附圖。
圖1是4軸電流環(huán)實(shí)現(xiàn)系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
以下將結(jié)合實(shí)施例和附圖對(duì)本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果進(jìn)行清楚、完整的描述,以充分地理解本發(fā)明的目的、特征和效果。顯然,所描述的實(shí)施例只是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,基于本發(fā)明的實(shí)施例,本領(lǐng)域的技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的前提下所獲得的其他實(shí)施例,均屬于本發(fā)明保護(hù)的范圍。另外,文中所提到的所有聯(lián)接/連接關(guān)系,并非單指構(gòu)件直接相接,而是指可根據(jù)具體實(shí)施情況,通過(guò)添加或減少聯(lián)接輔件,來(lái)組成更優(yōu)的聯(lián)接結(jié)構(gòu)。本發(fā)明創(chuàng)造中的各項(xiàng)技術(shù)特征,在不互相矛盾沖突的前提下可以交互組合。
實(shí)施例1,以4軸電流環(huán)實(shí)現(xiàn)系統(tǒng)為例子對(duì)本方法進(jìn)行描述,參考圖1,信號(hào)并行部分包括:ad采樣模塊、編碼器、pid調(diào)節(jié)模塊(比例積分微分調(diào)節(jié)模塊)、pwm脈沖產(chǎn)生模塊;
信號(hào)串行部分包括:clarke計(jì)算模塊(克拉克算法模塊)、park計(jì)算模塊(帕克運(yùn)算模塊)、ipark計(jì)算模塊、占空比運(yùn)算模塊、電角度計(jì)算模塊和cordic計(jì)算模塊(坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī)算法);所述ad采樣模塊用于獲取各電機(jī)軸對(duì)應(yīng)通道的電流采樣值;
所述clarke計(jì)算模塊用于將所述電流采樣值從三相電流等效為兩相電流;所述編碼器用于獲取各電機(jī)軸對(duì)應(yīng)的位置信息;所述電角度計(jì)算模塊用于將所述位置信息轉(zhuǎn)化為電角度;所述cordic計(jì)算模塊用于所述電角度轉(zhuǎn)化為對(duì)應(yīng)電角度的正、余弦值;所述park計(jì)算模塊用于接收各電機(jī)軸的兩相電流和對(duì)應(yīng)電角度的正、余弦值,并計(jì)算得出旋轉(zhuǎn)坐標(biāo)系下d、q軸的正交電流;所述pid調(diào)節(jié)模塊用于對(duì)正交電流進(jìn)行比例積分調(diào)節(jié)并輸出旋轉(zhuǎn)坐標(biāo)下d軸的電壓控制量、q軸的電壓控制量;所述ipark計(jì)算模塊用于將所述d軸的電壓控制量、q軸的電壓控制量轉(zhuǎn)化為靜止坐標(biāo)系下的α軸的電壓控制量、β軸的電壓控制量;所述占空比運(yùn)算模塊用于接收ipark計(jì)算模塊輸出的所述α軸的電壓控制量、β軸的電壓控制量,并根據(jù)α軸、β軸的電壓控制量輸出對(duì)應(yīng)電機(jī)軸的三相pwm信號(hào)占空比;所述pwm脈沖產(chǎn)生模塊用于將三相pwm信號(hào)占空比轉(zhuǎn)化為三相pwm脈寬給定值并輸出。
clarke計(jì)算模塊、park計(jì)算模塊、ipark計(jì)算模塊、占空比運(yùn)算模塊、電角度計(jì)算模塊和cordic計(jì)算模塊獨(dú)立運(yùn)算周期均相同,本實(shí)施例為3個(gè)時(shí)鐘周期。
所述信號(hào)并行部分采用信號(hào)同時(shí)處理方式,所述方式指的是采用多個(gè)相同的功能模塊同時(shí)對(duì)信號(hào)進(jìn)行處理,例如本實(shí)施例就采取4個(gè)ad采樣模塊、編碼器、pid調(diào)節(jié)模塊和pwm脈沖產(chǎn)生模塊。
所述信號(hào)串行部分采用信號(hào)時(shí)分復(fù)用的處理方式,所述信號(hào)時(shí)分復(fù)用的處理方式為:設(shè)k為電機(jī)軸序號(hào),每一個(gè)功能模塊對(duì)第k電機(jī)軸運(yùn)算的啟動(dòng)條件為:前一個(gè)功能模塊對(duì)第k個(gè)電機(jī)軸運(yùn)算結(jié)束且后一個(gè)模塊對(duì)第k-1個(gè)電機(jī)軸運(yùn)算已經(jīng)啟動(dòng)。
下面對(duì)該方法進(jìn)一步描述:電機(jī)軸標(biāo)記為①號(hào)、②號(hào)、③號(hào)、④號(hào),當(dāng)電流環(huán)發(fā)出啟動(dòng)信號(hào)的時(shí)候,編碼器1、2、3、4同時(shí)采集對(duì)應(yīng)各個(gè)電機(jī)軸的位置值,ad采樣模塊1、2、3、4同時(shí)采集對(duì)應(yīng)各個(gè)電機(jī)軸的電流值,當(dāng)編碼器4和ad采用模塊4均運(yùn)算完成后便啟動(dòng)電角度計(jì)算模塊和clarke計(jì)算模塊。編碼器1將①號(hào)電機(jī)軸的數(shù)據(jù)傳輸給電角度計(jì)算模塊進(jìn)行處理,等待3個(gè)時(shí)鐘周期后,編碼器2將②號(hào)電機(jī)軸的數(shù)據(jù)傳輸給電角度計(jì)算模塊進(jìn)行處理。采用這種時(shí)分復(fù)用的方式依次將①號(hào)、②號(hào)、③號(hào)、④號(hào)電機(jī)軸的數(shù)據(jù)進(jìn)行處理。clarke計(jì)算模塊對(duì)各個(gè)電機(jī)軸的處理類(lèi)似。由于對(duì)電機(jī)軸電流值的處理少了一個(gè)處理環(huán)節(jié),clarke計(jì)算模塊增加一個(gè)3個(gè)時(shí)鐘周期的緩存,從而使得clarke計(jì)算模塊處理的結(jié)果和cordic計(jì)算模塊處理的結(jié)構(gòu)能同步進(jìn)入park計(jì)算模塊。
以這種形式依次進(jìn)入pid調(diào)節(jié)模塊、ipark計(jì)算模塊、占空比運(yùn)算模塊、pwm脈沖產(chǎn)生模塊。當(dāng)輸入信號(hào)不同步時(shí),可以增加緩存使得輸入信號(hào)達(dá)到同步。
以上對(duì)本發(fā)明的較佳實(shí)施方式進(jìn)行了具體說(shuō)明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變型或替換,這些等同的變型或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。