0 引言
現代數控雕銑機床運動控制系統要求具有高速度運算、快速插補、高速通信、主軸超高速運轉、高精度定位、高分辨率位置檢測和數字伺服控制等能力。數控雕銑機床要實現形狀復雜的零件加工,必須要求運動控制系統能進行多種插補運動的控制,如直線插補、圓弧插補、連續插補。此外控制系統需要具有良好的運動速度控制能力、速度前瞻功能,以保證機床在停止、起動、加工時不產生沖擊、失步、顫抖,并且在驅動過程中能準確運動到指定位置。
本文基于計算機的PCI總線,設計出一種以DSP+FPGA為核心控制芯片的高速度、高精度、高效率、高可靠性的數控雕銑機運動控制系統。該系統提供4軸閉環伺服控制,8路高速光電隔離編碼脈沖反饋,5路普通光電隔離通用信號輸入,7路通用信號輸出,1路主軸電機模擬量電壓輸出。
1 硬件方案
1.1 運動控制系統結構及功能
以PC機作為信息處理平臺,運動控制卡以插卡形式嵌入PC機,即“PC十運動控制卡”的模式。下圖1中所示為四軸數控雕銑機的控制系統結構框圖。
在運動控制卡和PC機的通信上,采用PCI總線。PCI接口芯片采用PLX公司的PCI9030。PCI總線的引入打破了數據傳輸的瓶頸,使開發相應的基于WINDOWS平臺的數控軟件更容易,和配套的其他軟件的接口更方便。
DSP和FPGA是運動控制卡的核心芯片,完成系統的大部分運動控制功能,這兩個芯片的性能直接影響系統的整體性能。因此,為了實現系統的高速度、高精度、高效率、高可靠性,本系統選用的DSP芯片為TI公司的TMS320LF
DSP芯片本身具有非常豐富的I/O引腳資源,四個進給軸的伺服驅動器打開、主軸電機開啟關閉、潤滑泵開啟關閉、冷卻泵開啟關閉,運動控制卡讀入的開關輸入信號(原點接近開關信號、對刀信號、手搖脈沖發生器的倍率選擇和軸選擇信號)等,直接采用DSP本身的I/O引腳實現。此外,手搖脈沖發生器的兩路正交脈沖輸入可以使用DSP芯片上集成的QEP電路來處理。主軸調速電路則可以通過DSP上集成的PWM發生電路+濾波電路+功率運放電路來實現。通過濾波電路保留PWM波形中的直流分量,濾除高頻分量從而得到一個直流電壓輸出量。這個電壓范圍在3.3V之內,經過運放電路使電壓最大能達到10V。直流電壓的大小和DSP的PWM波形的占空比有關。
FPGA的插補命令先進先出(FIFO)緩沖區用于保存上位機傳下來的插補命令;FPGA的輔助命令FIFO緩沖區保存上位機發出的一些控制指令,如打開潤滑、冷卻液開等。FPGA的狀態緩沖區作為雙口RAM形式,從DSP讀取控制系統狀態保存在緩沖區中,然后上位機讀取系統狀態,如運動控制卡的關閉狀態、空閑狀態、回原點狀態、加工狀態、對刀狀態等。FPGA的編碼脈沖反饋緩沖區接受來自伺服驅動器的四路差分位置反饋信號。FPGA的脈沖發生接口產生四個進給軸的插補脈沖。FPGA的1K RAM作為DSP的外部擴展存儲區。此外FPGA這幾個緩沖區所需要的片選信號也是由FPGA對地址譯碼產生的。
通過使用VerilogHDL硬件編程語言,將伺服驅動控制脈沖發生模塊、光電碼盤反饋信號處理模塊、插補命令FIFO緩沖區、輔助命令FIFO緩沖區、狀態緩沖區、擴展存儲區都集成在一塊FPGA芯片上,這樣大大的減少了外圍電路的設計工作量,并增強了系統的可靠性和穩定性。
1.2 主要元器件介紹
1.2.1
該運動控制卡的中央處理器采用TI公司的定點DSP TMS320LF
在該運動控制卡設計中采用ALTERA公司生產的CYCLONE系列FPGA芯片EP
PLX公司目標設備芯片PCI9030是一款價格低廉、低功耗、32位PCI總線接口芯片。 PCI9030芯片的設計符合PCI2.2規范,其局部總線可根據需要配置成復用或非復用模式的8、16、32位的局部總線。PCI總線側的時鐘頻率達33MHz,局部總線與PCI總線的時鐘相互獨立,它支持5個PCI局部地址空間,9個可編程的通用GPIO。
1.3 硬件電路分析
系統硬件電路主要有以下幾部分組成:
I/O接口電路模塊包括4路進給軸的原點接近信號,1路對刀信號,這些信號都經過光電隔離模塊進行隔離后與DSP的I/O接口相連。7路通用輸出信號與DSP的I/O接口相連后經過達林頓管輸出,以控制外部繼電器、泵、電機等的開關。
編碼脈沖反饋電路模塊為4路增量式碼盤信號,每路均為A、B兩相的差分信號,經高速光耦差分整形模塊處理后變為A、B兩相的單端信號,再經入FPGA的碼盤接口模塊進行計數,由DSP讀取以使上位機獲得機床實際運動位置。
脈沖輸出電路模塊為四路脈沖輸出電路,FPGA的脈沖發生模塊分別產生四路進給軸的脈沖信號和方向信號后,經由26LS31線形驅動器分別變成四路的差分脈沖信號輸出,和四路差分方向信號輸出。
主軸模擬量輸出電路模塊,主軸調速電路可以通過DSP上集成的PWM發生電路+濾波電路+功率運放電路來實現。通過濾波電路保留PWM波形中的直流分量,濾除高頻分量從而得到一個直流電壓輸出量。這個電壓范圍在3.3V之內,經過運放電路使電壓最大能達到10V。直流電壓的大小和DSP的PWM波形的占空比有關。
時鐘及復位電路模塊,時鐘發生電路為DSP芯片提供時鐘信號,這里采用10MHz有源晶振,將參考時鐘輸入DSP的XTAL1/CLKIN引腳,由DSP內部的PLL鎖相環功能,將工作頻率提高到20MHz、40MHz等。復位電路主要對DSP進行復位,采用TPS3823芯片。
電平轉換模塊,TMS320LF
手搖脈沖電路模塊主要為手搖脈沖發生器和運動控制板的接口電路。
PCI總線接口電路模塊,PCI9030和FPGA與計算機的PCI總線相連,可以進行高速的數據傳輸。其中FPGA的插補命令FIFO、輔助命令FIFO、狀態緩沖區作為上下位機交換數據的公共緩沖區。
2 DSP程序設計
TI公司為自己的DSP芯片提供了豐富的軟硬件開發工具,如仿真器、燒寫器、C語言開發環境CCS2.2和C2000等,這些工具為開發DSP軟件提供了很大的方便。
根據雕刻機的工作過程以及工作過程中各種控制任務的需要,將DSP的控制程序主要完成的功能劃分為若干模塊:插補命令處理模塊、輔助控制命令處理模塊、雕刻機狀態反饋模塊、插補算法模塊、粗插補脈沖發生模塊。
插補命令程序的主要任務是讀取上位機發送來的對G代碼解釋所得到的插補命令,調用插補計算模塊進行插補計算,并把計算結果放到FIFO緩沖區中供脈沖發生模塊使用。
輔助控制命令程序讀取并處理上位機傳下來的各種控制命令,如回機械原點、對刀、手搖脈沖發生器的開關以及主軸、冷卻泵、潤滑泵的開閉等。
狀態反饋程序的主要任務是將雕刻機當前的狀態信息存放到FPGA的狀態緩沖區中,供上位機讀取。插補計算模塊則負責具體的插補計算任務。脈沖發生模塊進行粗插補計算,將數據發送至FPGA的脈沖發生緩沖區中,輸出四個進給軸的脈沖。
DSP軟件中定義了若干不同的雕刻機工作狀態:關閉狀態、空閑狀態、手搖脈沖發生器狀態、回機械原點狀態、對刀狀態、加工狀態、緊急停止狀態。關閉狀態下,運動控制卡將忽略一切命令,只接受控制卡打開命令。打開控制卡后,DSP將打開四個進給軸的伺服驅動器,并轉入空閑狀態。空閑狀態下,雕刻機可執行一切控制命令。當進入到手搖脈沖發生器狀態時為了避免和G代碼等加工指令沖突,將禁止執行插補計算和加工命令。退出手搖脈沖發生狀態并轉入空閑狀態后才可以執行加工命令。
狀態轉換如上圖
3 結束語
基于DSP+FPGA運動控制卡的數控雕銑機運動控制系統具有成本低、性能好的特點,能滿足雕刻加工行業對機床運動控制的新要求。外圍電路考慮了工作環境的復雜性,DSP能夠完成各類復雜的運動控制算法和控制策略,為高效率的運動控制提供可行方案。PCI9030能與計算機實現高速通信。該運動控制系統已經通過嚴格測試,并成功用于四軸數控雕銑機中。該雕銑機不僅可以加工優美的文字、圖案,也可以用于制作模具。
參考文獻
[1] 劉和平。TMS320LF240X DSP結構、原理及應用[M]。北京:北京航空航天大學出版社,2002。
[2] 劉和平,王維俊,江渝,鄧力等。TMS320LF240X DSP C語言開發應用[M]。北京:北京航空航天大學出版社,2003。
[3] 帥梅,楊向東,陳懇。基于DSP多軸運動控制系統的研究實現[J]。制造業自動化,2005(6)。