專利名稱:多軸步進(jìn)電機(jī)插補(bǔ)控制器及多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及步進(jìn)電機(jī)的控制,更具體地說是涉及一種多軸步進(jìn)電機(jī)插補(bǔ)控制器及一種多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡。
背景技術(shù):
隨著現(xiàn)代加工制造業(yè)的迅猛發(fā)展,普通三軸數(shù)控機(jī)床已滿足不了人們對加工零件的要求,多軸數(shù)控機(jī)床由于能加工異型、復(fù)雜的零件曲面,因而在現(xiàn)代加工制造業(yè)中,特別是在航天、航空、軍事工業(yè)中得到廣泛地應(yīng)用,因此,研究高精度、高性能的多軸數(shù)控機(jī)床已經(jīng)成為整個(gè)機(jī)床行業(yè)的研究重點(diǎn)。多軸運(yùn)動(dòng)控制卡是多軸數(shù)控機(jī)床的重要組成部件,作為數(shù)控機(jī)床的下位控制單元,它與PC機(jī)構(gòu)成主從式控制結(jié)構(gòu),能對步進(jìn)電機(jī)進(jìn)行復(fù)雜邏輯處理、速度控制、聯(lián)動(dòng)控制等。計(jì)算機(jī)控制步進(jìn)電機(jī)的常用方法是在計(jì)算機(jī)內(nèi)部安裝運(yùn)動(dòng)控制卡,該運(yùn)動(dòng)控制卡的輸出插頭與步進(jìn)電機(jī)驅(qū)動(dòng)電路相連接,控制步進(jìn)電機(jī)運(yùn)行。插補(bǔ)控制器是機(jī)床數(shù)控系統(tǒng)的基本單元,用來完成運(yùn)動(dòng)軌跡的擬合。隨著加工零件結(jié)構(gòu)復(fù)雜程度的提高,對數(shù)控系統(tǒng)的插補(bǔ)控制器性能也有了更高的要求,不僅要求插補(bǔ)控制器具有高精度、高速度,還要求具有多軸聯(lián)動(dòng)控制功能,以便于對復(fù)雜曲面零部件進(jìn)行加工。目前廣泛采用具有五軸聯(lián)動(dòng)線性插補(bǔ)功能的插補(bǔ)控制器,但是,目前數(shù)控系統(tǒng)采用的多為軟件插補(bǔ)器,其對數(shù)控指令的軌跡的插補(bǔ)計(jì)算是采用CPU通過軟件計(jì)算各個(gè)軸發(fā)出的脈沖量和速度,直接由軟件插補(bǔ)器發(fā)出脈沖指令信號控制各個(gè)軸的驅(qū)動(dòng)。由于該計(jì)算通常是以軟件計(jì)數(shù)中斷服務(wù)程序來實(shí)現(xiàn),因而機(jī)床的軸數(shù)越多,程序行就越長。通常一個(gè)三軸的中斷插補(bǔ)服務(wù)程序要幾十行,考慮到CPU的指令周期,每個(gè)插補(bǔ)周期就會較長,這樣就限制了軸數(shù)擴(kuò)展和插補(bǔ)運(yùn)行速度的提高。而新近出現(xiàn)的采用基于DSP+FPGA設(shè)計(jì)結(jié)構(gòu)的多軸運(yùn)動(dòng)控制卡,其DSP與FPGA完全分離,設(shè)計(jì)復(fù)雜,開發(fā)成本較高。
實(shí)用新型內(nèi)容針對以上情況,本實(shí)用新型的第一目的,在于提供一種速度快、精度高、實(shí)時(shí)性強(qiáng)而性價(jià)比較高的基于數(shù)字積分算法(DDA)的多軸步進(jìn)電機(jī)插補(bǔ)控制器。本實(shí)用新型的第二目的,在于提供一種能對步進(jìn)電機(jī)進(jìn)行復(fù)雜邏輯處理、速度控制、聯(lián)動(dòng)控制、性價(jià)比高、能應(yīng)用于多軸復(fù)雜數(shù)控系統(tǒng)中的多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡。一、本實(shí)用新型多軸步進(jìn)電機(jī)插補(bǔ)控制器的技術(shù)方案為本實(shí)用新型多軸步進(jìn)電機(jī)插補(bǔ)控制器,其信號輸入端直接或間接地與上位機(jī)相連,其信號輸出端直接或間接地與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連;其特別之處在于本插補(bǔ)控制器包括有寄存器文件單元和任務(wù)邏輯單元;(1)所述寄存器文件單元,是所述任務(wù)邏輯單元與上位機(jī)的數(shù)據(jù)通道,用于寄存上位機(jī)發(fā)送來的加工數(shù)據(jù)、控制信號和所述任務(wù)邏輯單元發(fā)送來的插補(bǔ)控制器運(yùn)行狀態(tài)信號,包括有分頻因子寄存器、各軸坐標(biāo)寄存器、狀態(tài)寄存器、總步進(jìn)數(shù)寄存器、控制寄存器; 所述分頻因子寄存器,用于寄存由上位機(jī)發(fā)來的所述任務(wù)邏輯單元可編程分頻器的分頻因子,用以調(diào)整、控制插補(bǔ)器的插補(bǔ)速度;所述各軸坐標(biāo)寄存器,分別用于寄存各軸步進(jìn)電機(jī)的運(yùn)動(dòng)終點(diǎn)坐標(biāo)值,并作為本次數(shù)字積分器的被積函數(shù),如果某一軸坐標(biāo)值越大,意味著該軸的運(yùn)動(dòng)距離越遠(yuǎn),故而在單位時(shí)間內(nèi)數(shù)字積分器應(yīng)產(chǎn)生的步進(jìn)脈沖越多;所述狀態(tài)寄存器,用于寄存表明插補(bǔ)控制器當(dāng)前所處“閑”或“忙”的運(yùn)行狀態(tài)信號,可用高或低電平來表示;所述總步進(jìn)數(shù)寄存器,用于寄存各步進(jìn)電機(jī)要走的總步進(jìn)數(shù)總和;所述控制寄存器,用于寄存步進(jìn)電機(jī)的多種控制信息,包括暫??刂菩盘?、啟動(dòng)信號和各步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向控制信號;(2)所述任務(wù)邏輯單元,用于實(shí)現(xiàn)多軸步進(jìn)電機(jī)的聯(lián)動(dòng)控制和速度控制,包括有可編程分頻器、多軸數(shù)字積分器模塊、終點(diǎn)判定模塊和狀態(tài)機(jī)模塊;所述可編程分頻器,包括有系統(tǒng)時(shí)鐘信號輸入端、分頻因子數(shù)據(jù)輸入端和分頻信號輸出端;所述分頻因子數(shù)據(jù)輸入端與所述寄存器文件單元中的分頻因子寄存器的數(shù)據(jù)輸出端相連,所述分頻信號輸出端與所述多軸數(shù)字積分器模塊的工作時(shí)鐘輸入端相連,以根據(jù)所述分頻因子寄存器中寄存的分頻因子值對系統(tǒng)時(shí)鐘進(jìn)行分頻,向所述多軸數(shù)字積分器模塊提供工作時(shí)鐘,從而實(shí)現(xiàn)步進(jìn)電機(jī)的速度控制;所述多軸數(shù)字積分器模塊,由多個(gè)互相獨(dú)立的數(shù)字積分器組成,每一個(gè)步進(jìn)電機(jī)運(yùn)動(dòng)軸對應(yīng)一個(gè)數(shù)字積分器,用于產(chǎn)生各軸步進(jìn)電機(jī)的聯(lián)動(dòng)步進(jìn)脈沖信號;各數(shù)字積分器包括有加法器和余數(shù)寄存器該加法器的兩個(gè)數(shù)據(jù)輸入端分別與所述余數(shù)寄存器的數(shù)據(jù)輸出端和所述寄存器文件單元中對應(yīng)的軸坐標(biāo)寄存器的數(shù)據(jù)輸出端相連;該加法器還具有一個(gè)與所述狀態(tài)機(jī)模塊的步進(jìn)電機(jī)控制使能輸出端相連的加法運(yùn)算使能輸入端;本加法器的輸出端與所述余數(shù)寄存器的數(shù)據(jù)輸入端相連;所述各余數(shù)寄存器數(shù)據(jù)輸出端的最高位為本插補(bǔ)控制器的步進(jìn)脈沖信號輸出端,直接或通過后級的細(xì)分驅(qū)動(dòng)電路與所述步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連,用于輸出相應(yīng)軸步進(jìn)電機(jī)的步進(jìn)脈沖信號,除此之外,此最高位還作為所述終點(diǎn)判定模塊的計(jì)數(shù)脈沖,與所述終點(diǎn)判定模塊的步進(jìn)脈沖信號輸入端相連;該加法器及余數(shù)寄存器還具有工作時(shí)鐘輸入端,該工作時(shí)鐘輸入端與所述可編程分頻器的分頻信號輸出端相連;所述余數(shù)寄存器還具有清零輸入端,該清零輸入端與所述狀態(tài)機(jī)模塊的清零使能輸出端相連;本模塊的工作原理所述各坐標(biāo)值寄存器存放本次插補(bǔ)的終點(diǎn)坐標(biāo)值,作為數(shù)字積分器的被積函數(shù)。在插補(bǔ)前,清零輸入端對余數(shù)寄存器內(nèi)容清零,插補(bǔ)啟動(dòng)后,在工作時(shí)鐘的控制下,各軸的數(shù)字積分器對各軸的被積函數(shù)(坐標(biāo)寄存器中的值)進(jìn)行數(shù)字積分運(yùn)算(即加法器對坐標(biāo)寄存器的值和余數(shù)寄存器的值進(jìn)行一次加法運(yùn)算,并把運(yùn)算結(jié)果存放在余數(shù)寄存器中),由于本方案把余數(shù)寄存器的最高位作為驅(qū)動(dòng)步進(jìn)電機(jī)的步進(jìn)脈沖,從而不斷地產(chǎn)生各軸步進(jìn)電機(jī)的步進(jìn)脈沖信號,控制著各軸步進(jìn)電機(jī)的運(yùn)動(dòng)速度,實(shí)現(xiàn)各軸的聯(lián)動(dòng)控制所述終點(diǎn)判定模塊,用于判定步進(jìn)電機(jī)是否運(yùn)動(dòng)到終點(diǎn),包括有各軸步進(jìn)脈沖信號輸入端、總步進(jìn)數(shù)據(jù)輸入端、讀總步進(jìn)數(shù)據(jù)的控制信號輸入端和差補(bǔ)結(jié)束信號輸出端;所述各軸步進(jìn)脈沖信號輸入端分別與所述多軸數(shù)字積分器模塊的對應(yīng)軸的步進(jìn)脈沖信號輸出端相連,所述總步進(jìn)數(shù)據(jù)輸入端與所述寄存器文件單元中的總步進(jìn)數(shù)寄存器的數(shù)據(jù)輸出端相連,所述讀總步進(jìn)數(shù)據(jù)的控制信號輸入端與所述狀態(tài)機(jī)模塊的讀總步進(jìn)數(shù)控制使能輸出端相連,所述差補(bǔ)結(jié)束信號輸出端與所述狀態(tài)機(jī)模塊的差補(bǔ)結(jié)束通知信號輸入端相連; 本模塊的終點(diǎn)判定工作原理本終點(diǎn)判定模塊對各數(shù)字積分器輸出的各軸步進(jìn)脈沖進(jìn)行計(jì)數(shù),并將該計(jì)數(shù)的結(jié)果與所述總步進(jìn)數(shù)寄存器中所存的相應(yīng)值進(jìn)行比較,如相等,表示已到達(dá)終點(diǎn),向所述狀態(tài)機(jī)發(fā)送本次差補(bǔ)結(jié)束通知信號。所述狀態(tài)機(jī)模塊,是多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的協(xié)調(diào)控制中心,用于產(chǎn)生各種時(shí)序控制信號,協(xié)調(diào)所述多軸數(shù)字積分器和終點(diǎn)判定模塊的工作;本狀態(tài)機(jī)模塊包括有與所述寄存器文件單元中的控制寄存器輸出端相連的暫??刂菩盘栞斎攵思皢?dòng)信號輸入端、 與所述終點(diǎn)判定模塊的差補(bǔ)結(jié)束信號輸出端相連的差補(bǔ)結(jié)束通知信號輸入端、與所述終點(diǎn)判定模塊的讀總步進(jìn)數(shù)據(jù)的控制信號輸入端相連以用于通知所述終點(diǎn)判定模塊讀取總步進(jìn)數(shù)寄存器的值的讀總步進(jìn)數(shù)控制使能輸出端、與所述多軸數(shù)字積分器模塊的各加法器加法運(yùn)算使能輸入端相連的步進(jìn)電機(jī)控制使能輸出端、與所述多軸數(shù)字積分器模塊的各余數(shù)寄存器清零輸入端相連的寄存器內(nèi)容清零使能輸出端,及,與所述狀態(tài)寄存器相連的、用于表明本插補(bǔ)控制器當(dāng)前所處“閑”或“忙”狀態(tài)的運(yùn)行狀態(tài)信號輸出端;并且,本狀態(tài)機(jī)可設(shè)定具有如下三個(gè)工作狀態(tài)在本插補(bǔ)控制器沒有啟動(dòng)前,本狀態(tài)機(jī)運(yùn)行在“空閑”狀態(tài)在此狀態(tài)中,狀態(tài)機(jī)把所述狀態(tài)信號輸出端設(shè)置輸出含義為“閑”的插補(bǔ)控制器運(yùn)行狀態(tài)信號;當(dāng)所述啟動(dòng)信號輸入端收到所述控制寄存器發(fā)來的啟動(dòng)信號后,本狀態(tài)機(jī)進(jìn)入數(shù)據(jù)初始化狀態(tài)在此狀態(tài)中,狀態(tài)機(jī)模塊把所述狀態(tài)信號輸出端設(shè)置輸出含義為“忙”的插補(bǔ)控制器運(yùn)行狀態(tài)信號,除此之外,還產(chǎn)生一個(gè)清零信號和一個(gè)讀信號該清零信號通過所述寄存器內(nèi)容清零使能輸出端對所述數(shù)字積分器的各余數(shù)寄存器內(nèi)容進(jìn)行清零,而該讀信號通過所述讀總步進(jìn)數(shù)控制使能輸出端通知所述終點(diǎn)判定模塊讀取總步進(jìn)數(shù)寄存器的值; 并進(jìn)而,在時(shí)鐘控制下,本狀態(tài)機(jī)無條件地進(jìn)入步進(jìn)電機(jī)控制狀態(tài)在此狀態(tài)中,本狀態(tài)機(jī)模塊通過所述步進(jìn)電機(jī)控制使能輸出端向所述多軸數(shù)字積分器模塊發(fā)出步進(jìn)電機(jī)控制使能信號,啟動(dòng)多軸數(shù)字積分器模塊開始進(jìn)行積分運(yùn)算,產(chǎn)生各軸步進(jìn)電機(jī)脈沖信號;當(dāng)所述差補(bǔ)結(jié)束通知信號輸入端接收到所述終點(diǎn)判定模塊發(fā)來的差補(bǔ)結(jié)束通知信號時(shí),本狀態(tài)機(jī)退出步進(jìn)電機(jī)控制狀態(tài),再次進(jìn)入“空閑”狀態(tài)。上述方案中,利用可編程分頻器來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度的原理是分頻器的分頻因子變大,則系統(tǒng)時(shí)鐘被分頻器分頻得到的頻率變小,從而,數(shù)字積分器的工作時(shí)鐘變小,數(shù)字積分器的運(yùn)算速度變慢,步進(jìn)電機(jī)速度變小;相反,分頻器分頻因子變小,分頻器的輸出頻率變大,多軸數(shù)字積分器的運(yùn)算速度變快,步進(jìn)電機(jī)轉(zhuǎn)速變快。上述方案的多軸步進(jìn)電機(jī)插補(bǔ)控制器,其信號輸入端也可通過一接口單元,直接或間接地與上位機(jī)相連;所述接口單元,把所述任務(wù)邏輯單元通過所述寄存器文件單元,直接或間接地連到上位機(jī)的數(shù)據(jù)總線上,實(shí)現(xiàn)所述任務(wù)邏輯單元與上位機(jī)的通信。作為對上述多軸步進(jìn)電機(jī)插補(bǔ)控制器的優(yōu)化,為了減少FPGA的I/O 口占用率,降低編程難度,提高對多個(gè)步進(jìn)電機(jī)的速度控制和實(shí)時(shí)地聯(lián)動(dòng)控制性能,本發(fā)明人將該插補(bǔ)控制器設(shè)計(jì)成硬件插補(bǔ)控制IP核形式,直接掛在Avalon數(shù)據(jù)總線上。所述接口單元,采用 Avalon接口單元。由于采用了數(shù)字積分器,此時(shí)該插補(bǔ)控制器得以全都由硬件來實(shí)現(xiàn),因此,本控制器具有速度快、精度高和實(shí)時(shí)性強(qiáng)等優(yōu)點(diǎn),便于應(yīng)用于多軸復(fù)雜的數(shù)控系統(tǒng)中。二、本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的技術(shù)方案為本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,包括有多軸步進(jìn)電機(jī)插補(bǔ)控制器、步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊;所述多軸步進(jìn)電機(jī)插補(bǔ)控制器的信號輸入端直接或間接地與上位機(jī)相連,其信號輸出端直接或間接地與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連;該功率驅(qū)動(dòng)模塊的輸出端與步進(jìn)電機(jī)相連;其特別之處在于所述多軸步進(jìn)電機(jī)插補(bǔ)控制器,采用上述技術(shù)方案的所述多軸步進(jìn)電機(jī)插補(bǔ)控制器。作為對上述方案的進(jìn)一步優(yōu)化,本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡還包括有基于NiosII的最小系統(tǒng),基于Nios II的最小系統(tǒng)的外圍器件,以及,SPWM細(xì)分驅(qū)動(dòng)器;所述SPWM細(xì)分驅(qū)動(dòng)器,其信號輸入端與所述插補(bǔ)控制器的信號輸出端相連,其信號輸出端與所述步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖信號輸入端相連;所述基于Mos II的最小系統(tǒng), 包括有Avalon數(shù)據(jù)總線,以及,與Avalon數(shù)據(jù)總線相連的Nios II處理器和多個(gè)外圍器件接口控制器;所述外圍器件接口控制器包括有UART控制器、JTAG控制器、EPCS控制器、 SDRAM控制器和IXD控制器;所述基于Nios II的最小系統(tǒng)的外圍器件,包括有USB接口單元、EPCS存貯器、SDRAM存儲器、IXD顯示器;此時(shí),所述插補(bǔ)控制器設(shè)計(jì)為硬件插補(bǔ)控制IP 核形式,并設(shè)計(jì)包括有Avalon接口單元,并與所述基于Nios II的最小系統(tǒng)集成在同一片 FPGA上;所述步進(jìn)電機(jī)插補(bǔ)控制器的信號輸入端連接到所述Avalon數(shù)據(jù)總線上;所述基于Nios I I的最小系統(tǒng)的各外圍器件,通過所述FPGA的I/O 口與相應(yīng)的外圍器件接口控制器相連,并通過對應(yīng)的外圍器件接口控制器,經(jīng)Avalon數(shù)據(jù)總線與Nios II處理器進(jìn)行數(shù)據(jù)交換;所述Avalon接口單元,把所述任務(wù)邏輯單元通過所述寄存器文件單元連到所述 Avalon數(shù)據(jù)總線上,實(shí)現(xiàn)所述任務(wù)邏輯單元與所述NiosII處理器的通信;上位機(jī)的步進(jìn)電機(jī)運(yùn)動(dòng)控制指令信號輸出端,與本運(yùn)動(dòng)控制卡的所述USB接口單元相連。作為對上述方案的再進(jìn)一步改進(jìn),本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡還可將所述步進(jìn)電機(jī)插補(bǔ)控制器、所述SPWM細(xì)分驅(qū)動(dòng)器和所述基于Mos II的最小系統(tǒng)集成在同一片F(xiàn)PGA上。具體地,所述SPWM細(xì)分驅(qū)動(dòng)器可設(shè)計(jì)采用二相混合式步進(jìn)電機(jī)SPWM細(xì)分驅(qū)動(dòng)器,包括有用于產(chǎn)生ROM地址的地址發(fā)生器,存儲有勵(lì)磁電流數(shù)據(jù)的ROM,PWM調(diào)制器,數(shù)據(jù)變換器,PI調(diào)節(jié)器,數(shù)字變相器;所述ROM為雙口 ROM ;所述地址發(fā)生器、雙口 ROM、數(shù)據(jù)變換器、PI調(diào)節(jié)器、PWM調(diào)制器、數(shù)字變相器和步進(jìn)電機(jī)雙H橋功率驅(qū)動(dòng)電路順序相連;所述地址發(fā)生器,其輸入信號端接收從上位機(jī)直接或間接地傳送來的步進(jìn)脈沖信號、方向控制信號和暫停信號,并據(jù)所述方向控制信號和暫停信號對步進(jìn)脈沖信號進(jìn)行加1 或減1、以及暫停計(jì)數(shù);所述計(jì)數(shù)結(jié)果,分別作為所述雙口 ROM的A和B相輸入地址,它們之間的相位差為η/2 ;所述地址發(fā)生器,還向后級的數(shù)據(jù)變換器和數(shù)字變相器提供A相和B 相的極性信號;所述雙口 ROM,包含二套相互獨(dú)立的輸入和輸出口,該ROM中存放著一個(gè)周期的按正弦階梯波變化的勵(lì)磁電流數(shù)據(jù);所述數(shù)據(jù)變換器,根據(jù)所述地址發(fā)生器發(fā)送的A相和B相的極性信號,把從所述雙口 ROM中雙口輸出的一個(gè)周期的正弦數(shù)據(jù)變換成以χ軸對稱的A相和B相兩路正弦數(shù)據(jù), 并分別送至各自的PI調(diào)節(jié)器;所述兩PI調(diào)節(jié)器,根據(jù)上述的本路正弦數(shù)據(jù)和從步進(jìn)電機(jī)本相采樣繞組的反饋電壓信號之間的差值分別進(jìn)行PI調(diào)節(jié),并向各自的PWM調(diào)制器輸出相應(yīng)的PI調(diào)節(jié)控制信號;所述兩PWM調(diào)制器,對前述本路PI調(diào)節(jié)器傳來的PI調(diào)節(jié)控制信號值分別進(jìn)行PWM
8調(diào)制,并向數(shù)字變相器分別輸出占空比不同的兩路PWM控制信號;所述數(shù)字變相器,根據(jù)所述地址發(fā)生器發(fā)送來的A相和B相極性信號,對前述兩 PWM調(diào)制器的輸出信號進(jìn)行變相處理,從AH、BH、AL和BL端口向后級的步進(jìn)電機(jī)雙H橋功率驅(qū)動(dòng)電路提供方向變化的PWM細(xì)分驅(qū)動(dòng)信號。上述方案中的所述數(shù)字變相器,可采用PWM調(diào)制器輸出信號變相處理電路當(dāng)0 π時(shí),AH和BH接各自的P麗調(diào)制信號,AL和BL接地;當(dāng)π 2 π時(shí),AL 和BL接各自的PWM調(diào)制信號,AH和BH接地;或者,當(dāng)0 π時(shí),AL和BL接各自的P麗調(diào)制信號,AH和BH接地;當(dāng)π 2 π時(shí),AH 和Ml接各自的PWM調(diào)制信號,AL和BL接地。以上方案,是利用一片大模塊現(xiàn)場可編程邏輯門陣列(FPGA)設(shè)計(jì)的一款基于 NiosII與FPGA的多軸電機(jī)運(yùn)動(dòng)控制卡,在FPGA內(nèi)部嵌入了 NiosII軟核CPU,并利用這個(gè)內(nèi)嵌的MosII軟核CPU來運(yùn)行一些簡單的程序,同時(shí)利用FPGA來實(shí)現(xiàn)差補(bǔ)算法和細(xì)分驅(qū)動(dòng),從而,本運(yùn)動(dòng)控制卡在設(shè)計(jì)結(jié)構(gòu),系統(tǒng)升級、可靠性、實(shí)時(shí)性、性價(jià)比等方面具有較明顯優(yōu)勢。測試表明上述SPWM細(xì)分驅(qū)動(dòng)器利用正弦波脈寬調(diào)制(SPWM)細(xì)分驅(qū)動(dòng)技術(shù),能有效地克服步進(jìn)電機(jī)非細(xì)分驅(qū)動(dòng)的低頻振動(dòng)、噪聲大、高頻失步和分辨率低等缺點(diǎn),大幅度地改善步進(jìn)電機(jī)的運(yùn)動(dòng)性能;步進(jìn)電機(jī)的功率驅(qū)動(dòng)模塊對步進(jìn)電機(jī)的驅(qū)動(dòng)信號進(jìn)行功率放大,使之達(dá)到能有效地驅(qū)動(dòng)步進(jìn)電機(jī)的功率要求。經(jīng)測試結(jié)果表明,除上文中提及的插補(bǔ)控制器和SPWM細(xì)分驅(qū)動(dòng)器獨(dú)特的各自優(yōu)點(diǎn)外,相對于現(xiàn)有技術(shù),利用現(xiàn)場可編程門陣列設(shè)計(jì)的本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,由于采用了 NiosII軟核CPU+FPGA硬件設(shè)計(jì)方案,即利用NiosII軟核CPU運(yùn)行控制程序,利用FPGA來實(shí)現(xiàn)實(shí)時(shí)要求度較高的聯(lián)動(dòng)控制的數(shù)字差補(bǔ)算法和細(xì)分驅(qū)動(dòng),并且同時(shí)采用了數(shù)字積分算法和正弦波脈寬調(diào)制細(xì)分驅(qū)動(dòng)技術(shù),因而,本運(yùn)動(dòng)控制卡具有集成度高、控制精度高、性價(jià)比高且速度快、實(shí)時(shí)性強(qiáng)、可靠性好、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。
圖1是本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的一個(gè)實(shí)施例的硬件系統(tǒng)組成原理示意框圖。圖2是本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的一個(gè)實(shí)施例的基于NiosII的SOPC 硬件平臺示意圖。圖3是本實(shí)用新型多軸步進(jìn)電機(jī)插補(bǔ)控制器IP核的一個(gè)實(shí)施例的硬件設(shè)計(jì)原理框圖。圖4是本實(shí)用新型數(shù)字積分器的一個(gè)實(shí)施例的硬件原理框圖。圖5是本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的SPWM細(xì)分驅(qū)動(dòng)器的一個(gè)實(shí)施例的硬件系統(tǒng)原理圖。圖6為本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的一個(gè)實(shí)施例的五軸數(shù)字積分器的輸出信號測試波形圖。
具體實(shí)施方式
[0043]以下以一個(gè)五軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的附圖及具體實(shí)施方式
為例,對本實(shí)用新型多軸步進(jìn)電機(jī)插補(bǔ)控制器和多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡及其使用作進(jìn)一步地說明。一、硬件系統(tǒng)組成圖1是本實(shí)用新型多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡的一個(gè)實(shí)施例的硬件系統(tǒng)組成原理示意框圖。從該原理示意框圖可看出,本運(yùn)動(dòng)控制卡由一片大規(guī)模的現(xiàn)場可編程邏輯門陣列(虛線框內(nèi))、步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊和一些外圍的元器件構(gòu)成。從圖1可以知,在這片現(xiàn)場可編程邏輯門陣列(FPGA)內(nèi)部,不僅集成了 UART控制器、JTAG控制器、NiosII處理器、EPCS控制器、SDRAM控制、IXD控制器、定時(shí)控制器、Avalon 數(shù)據(jù)總線,還集成了五軸步進(jìn)電機(jī)插補(bǔ)控制器和SPWM細(xì)分驅(qū)動(dòng)器。UART控制器與外圍的 CP2101橋式轉(zhuǎn)換芯片,構(gòu)成USB通信系統(tǒng),確保本控制卡能與上位PC機(jī)進(jìn)行通信;EPCS控制器控制著外圍態(tài)與當(dāng)前各軸的坐標(biāo)值等JTAG控制器通過JTAG接口與上位PC機(jī)相連, 實(shí)現(xiàn)程序的下載和JTAG在線調(diào)試等功能;在FPGA內(nèi)部的五軸步進(jìn)電機(jī)插補(bǔ)控制器,完成步進(jìn)電機(jī)的差補(bǔ)運(yùn)算和速度控制功能,產(chǎn)生電機(jī)的步進(jìn)脈沖;除此之外,在FPGA內(nèi)部,還集成了 SPWM細(xì)分驅(qū)動(dòng)器。SPWM細(xì)分驅(qū)動(dòng)器的步進(jìn)脈沖信號輸出端與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖信號輸入端相連。使用時(shí),加工數(shù)據(jù)和控制指令信號從上位機(jī)的USB 口傳送到五軸步進(jìn)電機(jī)控制卡中,CP2101橋式控制芯片把USB數(shù)據(jù)流轉(zhuǎn)換成UART數(shù)據(jù)流,然后MosII 把這些數(shù)據(jù)寫到多軸步進(jìn)電機(jī)插補(bǔ)控制器中。本實(shí)施例的運(yùn)動(dòng)控制卡FPGA硬件平臺,選擇采用Altera公司的Cyclone系列 EP1C6Q240C8芯片,并利用Altera公司的專業(yè)軟件QuartusII8. O對硬件平臺進(jìn)行設(shè)計(jì),包括基于NiosII的SOPC硬件系統(tǒng)設(shè)計(jì)、多軸步進(jìn)電機(jī)插補(bǔ)控制器設(shè)計(jì)和SPWM細(xì)分驅(qū)動(dòng)器設(shè)計(jì)三個(gè)大模塊(1)基于Nios II的SOPC硬件平臺本運(yùn)動(dòng)控控制卡,選用Altara公司的NiosII軟核CPU作為控制器,并把這個(gè)CPU 內(nèi)嵌到FPGA中,構(gòu)成一個(gè)基于NiosI I的SOPC系統(tǒng)。Nios II軟核CPU,是Al tera公司的通用型32位RISC嵌入式處理器,并且此處理器在該公司的FPGA中得到了優(yōu)化,具較高性價(jià)比。在QuartusII軟件中,SOPC Bui Ider還提供了經(jīng)濟(jì)型Nios II、標(biāo)準(zhǔn)型Nios II和快速型Mos II三種軟核。除此之外,在此軟件中,還提供大量免費(fèi)的常用外設(shè)控制IP核, 設(shè)計(jì)者可根據(jù)自己的設(shè)計(jì)需要,把這些IP核配置成外設(shè)接口,設(shè)計(jì)成一個(gè)面向用戶需求的 SOPC硬件系統(tǒng),更為重要的是,此軟件的SOPCBuider是開放的系統(tǒng),它允許設(shè)計(jì)者把自己設(shè)計(jì)的IP核,加到SOPC Buider的IP庫中,豐富此IP庫的內(nèi)容,實(shí)現(xiàn)IP重用,圖1中的五軸步進(jìn)電機(jī)插補(bǔ)控制器的設(shè)計(jì)就是一個(gè)設(shè)計(jì)實(shí)例。圖2為利用SOPC Builder開發(fā)工具開發(fā)的基于NiosII的SOPC硬件平臺,這個(gè)平臺包括NiosII軟核處理器、UART控制器、JTAG 控制器、EPCS控制器、SDRAM控制器、IXD控制器、定時(shí)控制器、Avalon數(shù)據(jù)總線。(2)五軸步進(jìn)電機(jī)插補(bǔ)控制器五軸步進(jìn)電機(jī)插補(bǔ)控制器,是本運(yùn)動(dòng)控制卡的關(guān)鍵性模塊之一,能實(shí)現(xiàn)對五個(gè)步進(jìn)電機(jī)的速度控制和實(shí)時(shí)地聯(lián)動(dòng)控制功能。為了減少FPGA的I/O 口占用率,降低編程難度, 本實(shí)施例把本插補(bǔ)控制器設(shè)計(jì)成硬件插補(bǔ)控制IP核形式,直接掛在Avalon數(shù)據(jù)總線上,如圖1所示。圖3為本插補(bǔ)控制器IP核硬件設(shè)計(jì)框圖,由圖可知,此IP核分為Avalon接口單
10元、寄存器文件單元和任務(wù)邏輯單元三大模塊1) Avalon接口單元,是NiosII軟核CPU與運(yùn)動(dòng)控制卡進(jìn)行通信的接口單元,它直接與FPGA內(nèi)部的Avalon數(shù)據(jù)總線相連。在QuartusII 8. O軟件中,SOPC Builder工具提供了 6種不同接口類型和信號, 設(shè)計(jì)者可根據(jù)設(shè)計(jì)需要選擇接口,并把任務(wù)邏輯各種信號,指定Avalon信號類型,表1為本設(shè)計(jì)實(shí)施例所用到的接口單元信息。表IAvalon接口信息表
權(quán)利要求1.多軸步進(jìn)電機(jī)插補(bǔ)控制器,其信號輸入端直接或間接地與上位機(jī)相連,其信號輸出端直接或間接地與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連;其特征在于本插補(bǔ)控制器包括有寄存器文件單元和任務(wù)邏輯單元;(1)所述寄存器文件單元,是所述任務(wù)邏輯單元與上位機(jī)的數(shù)據(jù)通道,用于寄存上位機(jī)發(fā)送來的加工數(shù)據(jù)、控制信號和所述任務(wù)邏輯單元發(fā)送來的插補(bǔ)控制器運(yùn)行狀態(tài)信號,包括有分頻因子寄存器、各軸坐標(biāo)寄存器、狀態(tài)寄存器、總步進(jìn)數(shù)寄存器、控制寄存器;所述分頻因子寄存器,用于寄存由上位機(jī)發(fā)來的所述任務(wù)邏輯單元可編程分頻器的分頻因子;所述各軸坐標(biāo)寄存器,分別用于寄存各軸步進(jìn)電機(jī)的運(yùn)動(dòng)終點(diǎn)坐標(biāo)值;所述狀態(tài)寄存器,用于寄存表明插補(bǔ)控制器當(dāng)前所處“閑”或“忙”的運(yùn)行狀態(tài)信號;所述總步進(jìn)數(shù)寄存器,用于寄存各步進(jìn)電機(jī)要走的總步進(jìn)數(shù)總和;所述控制寄存器,用于寄存步進(jìn)電機(jī)的多種控制信息, 包括暫??刂菩盘?、啟動(dòng)信號和各步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向控制信號;(2)所述任務(wù)邏輯單元,用于實(shí)現(xiàn)多軸步進(jìn)電機(jī)的聯(lián)動(dòng)控制和速度控制,包括有可編程分頻器、多軸數(shù)字積分器模塊、終點(diǎn)判定模塊和狀態(tài)機(jī)模塊;所述可編程分頻器,包括有系統(tǒng)時(shí)鐘信號輸入端、分頻因子數(shù)據(jù)輸入端和分頻信號輸出端;所述分頻因子數(shù)據(jù)輸入端與所述寄存器文件單元中的分頻因子寄存器的數(shù)據(jù)輸出端相連,所述分頻信號輸出端與所述多軸數(shù)字積分器模塊的工作時(shí)鐘輸入端相連;所述多軸數(shù)字積分器模塊,由多個(gè)互相獨(dú)立的數(shù)字積分器組成,每一個(gè)運(yùn)動(dòng)軸對應(yīng)一個(gè)數(shù)字積分器,用于產(chǎn)生各軸步進(jìn)電機(jī)的聯(lián)動(dòng)步進(jìn)脈沖信號;各數(shù)字積分器包括有加法器和余數(shù)寄存器該加法器的兩個(gè)數(shù)據(jù)輸入端分別與所述余數(shù)寄存器的數(shù)據(jù)輸出端和所述寄存器文件單元中對應(yīng)的軸坐標(biāo)寄存器的數(shù)據(jù)輸出端相連;該加法器還具有一個(gè)與所述狀態(tài)機(jī)模塊的步進(jìn)電機(jī)控制使能輸出端(EN)相連的加法運(yùn)算使能輸入端;本加法器的輸出端與所述余數(shù)寄存器的數(shù)據(jù)輸入端相連;所述各余數(shù)寄存器數(shù)據(jù)輸出端的最高位作為本插補(bǔ)控制器的步進(jìn)脈沖信號輸出端,直接或通過后級的細(xì)分驅(qū)動(dòng)電路與所述步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連,除此之外,此最高位還作為所述終點(diǎn)判定模塊的計(jì)數(shù)脈沖,與所述終點(diǎn)判定模塊的步進(jìn)脈沖信號輸入端相連;該加法器及余數(shù)寄存器還具有工作時(shí)鐘輸入端(CLK),該工作時(shí)鐘輸入端與所述可編程分頻器的分頻信號輸出端相連;所述余數(shù)寄存器還具有清零輸入端(CLR),該清零輸入端與所述狀態(tài)機(jī)模塊的清零使能輸出端相連;所述終點(diǎn)判定模塊,包括有各軸步進(jìn)脈沖信號輸入端、總步進(jìn)數(shù)據(jù)輸入端、讀總步進(jìn)數(shù)據(jù)的控制信號輸入端(RD)和差補(bǔ)結(jié)束信號輸出端(over);所述各軸步進(jìn)脈沖信號輸入端分別與所述多軸數(shù)字積分器模塊的對應(yīng)軸的步進(jìn)脈沖信號輸出端相連,所述總步進(jìn)數(shù)據(jù)輸入端與所述寄存器文件單元中的總步進(jìn)數(shù)寄存器的數(shù)據(jù)輸出端相連,所述讀總步進(jìn)數(shù)據(jù)的控制信號輸入端(RD)與所述狀態(tài)機(jī)模塊的讀總步進(jìn)數(shù)控制使能輸出端相連,所述差補(bǔ)結(jié)束信號輸出端(over)與所述狀態(tài)機(jī)模塊的差補(bǔ)結(jié)束通知信號輸入端相連;所述狀態(tài)機(jī)模塊,用于產(chǎn)生各種時(shí)序控制信號,協(xié)調(diào)所述多軸數(shù)字積分器和終點(diǎn)判定模塊的工作;本狀態(tài)機(jī)模塊包括有與所述寄存器文件單元中的控制寄存器輸出端相連的暫??刂菩盘栞斎攵?pause)及啟動(dòng)信號輸入端(start)、與所述終點(diǎn)判定模塊的差補(bǔ)結(jié)束信號輸出端(over)相連的差補(bǔ)結(jié)束通知信號輸入端、與所述終點(diǎn)判定模塊的讀總步進(jìn)數(shù)據(jù)的控制信號輸入端(RD)相連的讀總步進(jìn)數(shù)控制使能輸出端、與所述多軸數(shù)字積分器模塊的各加法器加法運(yùn)算使能輸入端相連的步進(jìn)電機(jī)控制使能輸出端(EN)、與所述多軸數(shù)字積分器模塊的各余數(shù)寄存器清零輸入端(CLR)相連的寄存器內(nèi)容清零使能輸出端,及,與所述狀態(tài)寄存器相連的、用于表明本插補(bǔ)控制器當(dāng)前所處“閑”或“忙”狀態(tài)的運(yùn)行狀態(tài)信號輸出端(state);并且,在本插補(bǔ)控制器沒有啟動(dòng)前,本狀態(tài)機(jī)運(yùn)行在“空閑”狀態(tài)(s0)在此狀態(tài)中,狀態(tài)機(jī)把所述狀態(tài)信號輸出端(state)設(shè)置輸出含義為“閑”的插補(bǔ)控制器運(yùn)行狀態(tài)信號;當(dāng)所述啟動(dòng)信號輸入端(start)收到所述控制寄存器發(fā)來的啟動(dòng)信號后,本狀態(tài)機(jī)進(jìn)入數(shù)據(jù)初始化狀態(tài)(si)在此狀態(tài)中,狀態(tài)機(jī)模塊把所述狀態(tài)信號輸出端(state)設(shè)置輸出含義為“忙”的插補(bǔ)控制器運(yùn)行狀態(tài)信號,除此之外,還產(chǎn)生一個(gè)清零信號和一個(gè)讀信號 該清零信號通過所述寄存器內(nèi)容清零使能輸出端輸出,用于對所述數(shù)字積分器的各余數(shù)寄存器內(nèi)容進(jìn)行清零;而該讀信號通過所述讀總步進(jìn)數(shù)控制使能輸出端輸出,用于通知所述終點(diǎn)判定模塊讀取所述總步進(jìn)數(shù)寄存器的值;并進(jìn)而,在時(shí)鐘控制下,本狀態(tài)機(jī)無條件地進(jìn)入步進(jìn)電機(jī)控制狀態(tài)(d)在此狀態(tài)中,本狀態(tài)機(jī)模塊通過所述步進(jìn)電機(jī)控制使能輸出端(EN)向所述多軸數(shù)字積分器模塊發(fā)出步進(jìn)電機(jī)控制使能信號,啟動(dòng)多軸數(shù)字積分器模塊開始進(jìn)行積分運(yùn)算,產(chǎn)生各軸步進(jìn)電機(jī)脈沖信號;當(dāng)所述差補(bǔ)結(jié)束通知信號輸入端接收到所述終點(diǎn)判定模塊發(fā)來的差補(bǔ)結(jié)束通知信號時(shí),本狀態(tài)機(jī)退出步進(jìn)電機(jī)控制狀態(tài)(s2),再次進(jìn)入“空閑”狀態(tài)(sO)。
2.根據(jù)權(quán)利要求1所述的多軸步進(jìn)電機(jī)插補(bǔ)控制器,其特征在于其信號輸入端通過一接口單元,直接或間接地與上位機(jī)相連;所述接口單元,把所述任務(wù)邏輯單元通過所述寄存器文件單元,直接或間接地連到上位機(jī)的數(shù)據(jù)總線上,實(shí)現(xiàn)所述任務(wù)邏輯單元與上位機(jī)的通信。
3.根據(jù)權(quán)利要求2所述的多軸步進(jìn)電機(jī)插補(bǔ)控制器,其特征在于本多軸步進(jìn)電機(jī)插補(bǔ)控制器設(shè)計(jì)為硬件插補(bǔ)控制IP核;所述接口單元,為Avalon接口單元。
4.多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,包括有多軸步進(jìn)電機(jī)插補(bǔ)控制器、步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊;所述多軸步進(jìn)電機(jī)插補(bǔ)控制器的信號輸入端直接或間接地與上位機(jī)相連,其信號輸出端直接或間接地與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖輸入端相連;該功率驅(qū)動(dòng)模塊的輸出端與步進(jìn)電機(jī)相連;其特征在于所述多軸步進(jìn)電機(jī)插補(bǔ)控制器,采用如權(quán)利要求1至3之一所述的多軸步進(jìn)電機(jī)插補(bǔ)控制器。
5.根據(jù)權(quán)利要求4所述的多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,其特征在于所述多軸步進(jìn)電機(jī)插補(bǔ)控制器,采用如權(quán)利要求3所述的多軸步進(jìn)電機(jī)插補(bǔ)控制器;除此之外,本運(yùn)動(dòng)控制卡還包括有基于Nios II的最小系統(tǒng),基于Nios II的最小系統(tǒng)的外圍器件,以及,SPWM細(xì)分驅(qū)動(dòng)器;所述SPWM細(xì)分驅(qū)動(dòng)器,其信號輸入端與所述插補(bǔ)控制器的信號輸出端相連,其信號輸出端與所述步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的步進(jìn)脈沖信號輸入端相連;所述基于Nios II的最小系統(tǒng),包括有Avalon數(shù)據(jù)總線,以及,與Avalon數(shù)據(jù)總線相連的Nios II處理器和多個(gè)外圍器件接口控制器;所述外圍器件接口控制器包括有UART控制器、JTAG控制器、EPCS控制器、SDRAM控制器和LCD控制器;所述基于Nios II的最小系統(tǒng)的外圍器件,包括有USB接口單元、EPCS存貯器、SDRAM 存儲器、IXD顯示器;所述步進(jìn)電機(jī)插補(bǔ)控制器和所述基于Mos II的最小系統(tǒng)集成在同一片F(xiàn)PGA上;所述步進(jìn)電機(jī)插補(bǔ)控制器的信號輸入端連接到所述Avalon數(shù)據(jù)總線上;所述基于Nios II的最小系統(tǒng)的各外圍器件,通過所述FPGA的I/O 口與相應(yīng)的外圍器件接口控制器相連,并通過對應(yīng)的外圍器件接口控制器,經(jīng)Avalon數(shù)據(jù)總線與Nios II處理器進(jìn)行數(shù)據(jù)交換;所述 Avalon接口單元,把所述任務(wù)邏輯單元通過所述寄存器文件單元連到所述Avalon數(shù)據(jù)總線上,實(shí)現(xiàn)所述任務(wù)邏輯單元與所述NiosII處理器的通信;上位機(jī)的步進(jìn)電機(jī)運(yùn)動(dòng)控制指令信號輸出端,與本運(yùn)動(dòng)控制卡的所述USB接口單元相連。
6.根據(jù)權(quán)利要求5所述的多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,其特征在于所述步進(jìn)電機(jī)插補(bǔ)控制器、所述SPWM細(xì)分驅(qū)動(dòng)器和所述基于Nios II的最小系統(tǒng)集成在同一片F(xiàn)PGA上。
7.根據(jù)權(quán)利要求6所述的多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,其特征在于所述SPWM細(xì)分驅(qū)動(dòng)器為二相混合式步進(jìn)電機(jī)SPWM細(xì)分驅(qū)動(dòng)器,包括有用于產(chǎn)生ROM地址的地址發(fā)生器,存儲有勵(lì)磁電流數(shù)據(jù)的ROM,PWM調(diào)制器,數(shù)據(jù)變換器,PI調(diào)節(jié)器,數(shù)字變相器;所述ROM為雙口 ROM ;所述地址發(fā)生器、雙口 ROM、數(shù)據(jù)變換器、PI調(diào)節(jié)器、PWM調(diào)制器、數(shù)字變相器和步進(jìn)電機(jī)雙H橋功率驅(qū)動(dòng)電路順序相連;所述地址發(fā)生器,其輸入信號端接收從上位機(jī)直接或間接地傳送來的步進(jìn)脈沖信號、 方向控制信號和暫停信號,并據(jù)所述方向控制信號和暫停信號對步進(jìn)脈沖信號進(jìn)行加1或減1、以及暫停計(jì)數(shù);所述計(jì)數(shù)結(jié)果,分別作為所述雙口 ROM的A和B相輸入地址,它們之間的相位差為η/2 ;所述地址發(fā)生器,還向后級的數(shù)據(jù)變換器和數(shù)字變相器提供A相和B相的極性信號;所述雙口 ROM,包含二套相互獨(dú)立的輸入和輸出口,該ROM中存放著一個(gè)周期的按正弦階梯波變化的勵(lì)磁電流數(shù)據(jù);所述數(shù)據(jù)變換器,根據(jù)所述地址發(fā)生器發(fā)送的A相和B相的極性信號,把從所述雙口 ROM中雙口輸出的一個(gè)周期的正弦數(shù)據(jù)變換成以χ軸對稱的A相和B相兩路正弦數(shù)據(jù),并分別送至各自的PI調(diào)節(jié)器;所述兩PI調(diào)節(jié)器,根據(jù)上述的本路正弦數(shù)據(jù)和從步進(jìn)電機(jī)本相采樣繞組的反饋電壓信號之間的差值分別進(jìn)行PI調(diào)節(jié),并向各自的PWM調(diào)制器輸出相應(yīng)的PI調(diào)節(jié)控制信號;所述兩PWM調(diào)制器,對前述本路PI調(diào)節(jié)器傳來的PI調(diào)節(jié)控制信號值分別進(jìn)行PWM調(diào)制,并向數(shù)字變相器分別輸出占空比不同的兩路PWM控制信號;所述數(shù)字變相器,根據(jù)所述地址發(fā)生器發(fā)送來的A相和B相極性信號,對前述兩PWM調(diào)制器的輸出信號進(jìn)行變相處理,從AH、BH、AL和BL端口向后級的步進(jìn)電機(jī)雙H橋功率驅(qū)動(dòng)電路提供方向變化的PWM細(xì)分驅(qū)動(dòng)信號。
8.根據(jù)權(quán)利要求7所述的多軸步進(jìn)電機(jī)運(yùn)動(dòng)控制卡,其特征在于所述數(shù)字變相器,是一個(gè)PWM調(diào)制器輸出信號變相處理電路當(dāng)O π時(shí),AH和BH接各自的P麗調(diào)制信號,AL和BL接地;當(dāng)π 2 π時(shí),AL和 BL接各自的PWM調(diào)制信號,AH和BH接地;或者,當(dāng)O π時(shí),AL和BL接各自的P麗調(diào)制信號,AH和BH接地;當(dāng)π 2 π時(shí),AH和 BH接各自的PWM調(diào)制信號,AL和BL接地。
專利摘要本實(shí)用新型公開了一種多軸步進(jìn)電機(jī)插補(bǔ)控制器和運(yùn)動(dòng)控制卡。該插補(bǔ)控制器包括寄存器文件單元和任務(wù)邏輯單元,任務(wù)邏輯單元包括可編程分頻器、多軸數(shù)字積分器模塊、終點(diǎn)判定模塊和狀態(tài)機(jī)模塊。該運(yùn)動(dòng)控制卡包括步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊和該插補(bǔ)控制器,還包括基于NiosII的最小系統(tǒng)及其外圍器件,及SPWM細(xì)分驅(qū)動(dòng)器;該SPWM細(xì)分驅(qū)動(dòng)器的輸入端與插補(bǔ)控制器的輸出端相連,其輸出端與步進(jìn)電機(jī)功率驅(qū)動(dòng)模塊的輸入端相連。由于作為本運(yùn)動(dòng)控制卡主要組成部分的插補(bǔ)控制器和SPWM細(xì)分驅(qū)動(dòng)器等均用FPGA來實(shí)現(xiàn),即其差補(bǔ)算法和細(xì)分驅(qū)動(dòng)等均用硬件來實(shí)現(xiàn),因此與現(xiàn)有技術(shù)相比,本運(yùn)動(dòng)控制卡在設(shè)計(jì)結(jié)構(gòu)、系統(tǒng)升級、實(shí)時(shí)性、控制精度和可靠性等方面有較明顯優(yōu)勢。
文檔編號H02P8/22GK202172382SQ201120280870
公開日2012年3月21日 申請日期2011年8月4日 優(yōu)先權(quán)日2011年8月4日
發(fā)明者楊秀增, 蔣志年 申請人:廣西民族師范學(xué)院