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