??? 摘 要: 多軸聯(lián)動控制系統(tǒng)的設(shè)計是開放式數(shù)控系統(tǒng)" title="開放式數(shù)控系統(tǒng)">開放式數(shù)控系統(tǒng)研究的核心內(nèi)容之一。根據(jù)開放式數(shù)控系統(tǒng)的定義和特點,,介紹一種采用DSP和FPGA技術(shù),,基于ISA總線的四軸聯(lián)動" title="四軸聯(lián)動">四軸聯(lián)動運動控制卡" title="運動控制卡">運動控制卡的軟硬件設(shè)計與調(diào)試。該卡可以控制四個步進(jìn)電機(jī)" title="步進(jìn)電機(jī)">步進(jìn)電機(jī),、直流電機(jī)或交流電機(jī)實現(xiàn)高速,、高精度運動,且結(jié)構(gòu)簡單,、可靠性高,。通過對BS42HB47-01型步進(jìn)電機(jī)的四軸聯(lián)動控制測試,驗證了該控制卡的性能,。
??? 關(guān)鍵詞: 開放式數(shù)控,; 運動控制; DSP,; FPGA
?
??? 開放式數(shù)控系統(tǒng)是一個模塊化,、可重構(gòu)、易擴(kuò)充的控制系統(tǒng),,數(shù)控系統(tǒng)的體系結(jié)構(gòu)向開放式結(jié)構(gòu)發(fā)展已成為潮流,,國內(nèi)各科研生產(chǎn)單位紛紛對其展開了研究[1],。本文根據(jù)開放式數(shù)控系統(tǒng)的定義和特點,,采用模塊化的設(shè)計思想建立了一種開放式數(shù)控系統(tǒng)的結(jié)構(gòu)模型,并對其中的關(guān)鍵模塊(軸控制單元)采用DSP(TMS320F2812)和FPGA技術(shù)進(jìn)行了詳細(xì)的設(shè)計與調(diào)試,。該控制卡可以實現(xiàn)四個坐標(biāo)軸高速,、高精度運動,結(jié)構(gòu)簡單,,且四個控制電機(jī)可以任意選擇,。標(biāo)準(zhǔn)化的設(shè)計,使更多軸聯(lián)動時,,可以選擇多塊控制卡,,操作方便。
1 開放式數(shù)控系統(tǒng)結(jié)構(gòu)模型
??? 鑒于PC機(jī)的強(qiáng)大功能及特點,,基于PC機(jī)的開放式數(shù)控系統(tǒng)成為當(dāng)前研究的熱點[2-3],。這種系統(tǒng)的結(jié)構(gòu)可以分為三種類型:PC嵌入NC型、NC嵌入PC型和全軟件型,。而比較經(jīng)濟(jì),、容易實現(xiàn)的開放式數(shù)控系統(tǒng)是NC嵌入PC型結(jié)構(gòu)型式。這種數(shù)控系統(tǒng)的硬件部分由開放式體系結(jié)構(gòu)的運動控制卡和PC機(jī)組成,即在通用PC機(jī)的擴(kuò)展槽中插入專用的CNC卡(如運動控制卡),,機(jī)床的運動控制和邏輯控制功能主要由運動控制卡完成,。因此,卡的設(shè)計成為系統(tǒng)性能實現(xiàn)的關(guān)鍵[4-5],。本系統(tǒng)采用NC嵌入PC機(jī)的結(jié)構(gòu)模型,,將以往的運動控制卡功能進(jìn)行了分解,做了進(jìn)一步的模塊化設(shè)計,,并將其做成獨立的標(biāo)準(zhǔn)化單元控制模板,,雖然系統(tǒng)的模塊數(shù)量有所增加,但開放性更強(qiáng),。整個系統(tǒng)的功能模塊有:軸控制模塊,、伺服驅(qū)動模塊、位置檢測反饋模塊,、開關(guān)量控制及輔助功能模塊,、故障檢測模塊等。各功能模塊通過總線與PC機(jī)進(jìn)行通信,,由PC機(jī)來控制各實時模塊工作,。系統(tǒng)的結(jié)構(gòu)模型如圖1所示。
?
??? 其中,,軸控制模塊由TMS320F2812 DSP和FPGA構(gòu)成,,通過ISA總線與PC機(jī)通信,實現(xiàn)不同電機(jī)(步進(jìn)電動機(jī),、直流電動機(jī),、交流電動機(jī))的多軸聯(lián)動控制。位置反饋模塊主要用于閉環(huán)和半閉環(huán)數(shù)控系統(tǒng)中,,直接或間接測出機(jī)床運動部件的位移,,經(jīng)位置反饋裝置進(jìn)行處理后通過總線送回到控制系統(tǒng)和伺服系統(tǒng)中,并與控制指令相比較后經(jīng)過控制計算,,輸出控制指令,,控制電機(jī)運行。用戶可以根據(jù)自己的實際需要選擇使用或不使用該模塊,,可以自行設(shè)計該模塊所要實現(xiàn)的功能,,靈活組建系統(tǒng)。增加了系統(tǒng)的開放性,,提高了系統(tǒng)的性價比,。
2 運動控制卡的硬件設(shè)計
??? 軸控制模塊是系統(tǒng)的核心控制單元之一,主要由TMS320F2812 DSP和FPGA構(gòu)成[7],。TMS320F2812 DSP處理器是TI公司最新推出的32位定點處理器,,實時控制能力很強(qiáng),處理速度達(dá)150MIPS,指令周期6.67ns,,能夠在一個周期內(nèi)完成32×32位的乘法累加運算,,或兩個16×16位乘法累加運算,能夠?qū)崟r處理許多復(fù)雜的控制算法,。處理器提供了多個通用數(shù)字量I/O引腳,,這些引腳絕大部分是多功能復(fù)用引腳。內(nèi)部有兩個事件管理器EVA和EVB,,具有強(qiáng)大的控制功能,,特別適合運動控制和電機(jī)控制。每個事件管理器包括通用定時器(GP),、比較器,、PWM單元、捕獲單元以及正交編碼脈沖電路(QEP),。EVA和EVB兩個模塊有相同的外設(shè),,可以實現(xiàn)多軸運動控制。TMS320F2812 DSP支持多種外設(shè)中斷,, CPU能夠相當(dāng)快地響應(yīng)外設(shè)產(chǎn)生的中斷,。而且DSP支持在線仿真和調(diào)試,用戶根據(jù)自己的要求,,可以改寫自己的控制程序,,通過JTAG接口進(jìn)行調(diào)試和仿真。采用FPGA芯片設(shè)計系統(tǒng),,提高了系統(tǒng)硬件的集成度和二次開發(fā)的能力,,從而增強(qiáng)了產(chǎn)品的可靠性和市場競爭能力。本次設(shè)計采用ALTERA FLEX10K系列的FPGA,,有96個I/O引腳,,1 728個邏輯單元,216個邏輯陣列塊,,20 000多個可用門數(shù),具有高密度和易于在設(shè)計中實現(xiàn)復(fù)雜宏函數(shù)與存儲器的特點[8],。
??? 軸控制模塊的原理圖如圖2所示,。DSP完成比較復(fù)雜的插補" title="插補">插補和位置控制計算,通過GPIO產(chǎn)生步進(jìn)電機(jī)聯(lián)動的控制信號,;通過EVA和EVB控制伺服電機(jī)的驅(qū)動信號的產(chǎn)生,。FPGA接收DSP最新脈沖寬度,產(chǎn)生PWM控制信號,,控制伺服電機(jī)運動,。通過ISA總線與PC機(jī)通信。雙口RAM用于PC機(jī)與DSP交換信息,實現(xiàn)數(shù)據(jù)雙向通信,。
?
3 系統(tǒng)的軟件設(shè)計
??? 軟件設(shè)計主要是實時插補程序設(shè)計及部分通信與管理軟件設(shè)計,。選擇改進(jìn)后的DDA插補方法,DSP可以在單個周期內(nèi)完成取指,、譯碼,、執(zhí)行操作,DSP最小時鐘周期為6.67ns,,完成一次四軸的插補運算,,大約需要75個指令周期。在插補控制中,,對于步進(jìn)電機(jī)的控制可以直接插補生成步進(jìn)脈沖和轉(zhuǎn)向控制信號,;對于直流電機(jī)的控制,經(jīng)過插補計算和位置控制后,,再通過PWM控制輸出信號,;對于交流電機(jī)的控制,經(jīng)過插補和位置控制后,,通過SPWM或SVPWM控制輸出信號,。DSP工作流程如圖3所示。
?
4 四軸聯(lián)動仿真與調(diào)試
??? 首先,,通過TDS510 JTAG Emulator和編程環(huán)境CCS2.0將編制好的控制程序和插補程序通過14針的接口下載到DSP中,,對DSP進(jìn)行在線調(diào)試,采用示波器觀測步進(jìn)電機(jī)的控制脈沖和方向信號,。然后對FPGA的邏輯,、設(shè)計進(jìn)行調(diào)試,通過示波器觀看波形,。調(diào)試無誤后,,將程序燒寫到EPROM中。四軸聯(lián)動插補仿真時,,設(shè)定當(dāng)前坐標(biāo)原點為O(0,0,0,0),,終點為A(15,9,5,3),加工直線為OA,。插補過程如圖4所示,。deltx、delty,、deltz,、deltt代表x、y,、z,、t 四個軸溢出的脈沖,,jrx、jry,、jrz,、jrt為余數(shù)寄存器存放的累加結(jié)果。圖4所示是經(jīng)過左移規(guī)格化,、半加載后插補運算的結(jié)果,。
?
圖4 四軸聯(lián)動軟件模擬
?
??? 通過仿真器下載步進(jìn)電動機(jī)的控制程序到TMS320F2812 DSP中進(jìn)行波形檢測,來驗證控制算法和插補算法的正確性,。
??? 圖5為檢測到的四軸聯(lián)動步進(jìn)脈沖控制信號,,圖6為步進(jìn)脈沖信號和方向控制信號。聯(lián)動脈沖信號的分布與用VC仿真的數(shù)據(jù)吻合,,證明電路工作正常,。
?
圖5 四軸聯(lián)動步進(jìn)脈沖信號
?
??? 將控制卡與電機(jī)相連,調(diào)試四軸聯(lián)動性能,。步進(jìn)電機(jī)選用型號為BS42HB47-01的電機(jī),,其電氣規(guī)格如表1所示。
?
??? 驅(qū)動器選用等角度恒力矩細(xì)分型Q2HB44MA型驅(qū)動器,,驅(qū)動電壓為直流12V~40V,,內(nèi)部采用獨特的控制電路,很好地兼顧了電機(jī)的高低速性能,,使電機(jī)在高速運行時,輸出力矩比采用一般驅(qū)動器提高30%以上,;低速運行時,具有良好的細(xì)分定位精度和平穩(wěn)性(最高為200細(xì)分,,最高反應(yīng)頻率可達(dá)200KP/s),。
??? 實際測試時,DSP TMS320F2812工作時鐘為30MHz,。由于電機(jī)反應(yīng)頻率最高只能達(dá)到200KP/s,,因此需在程序中加入延時,調(diào)整延時時間,,使DSP TMS320F2812的輸出脈沖頻率為200kHz,。實測電機(jī)轉(zhuǎn)速如表2所示。
?
??? 表中電機(jī)脈沖當(dāng)量δ和電機(jī)線速度V計算如下:
??? δ=π×d/(360°/α×k)
??? v =π×d×n×60
式中,,k為細(xì)分?jǐn)?shù),,n為電機(jī)轉(zhuǎn)速。
??? 從表2中可見,,輸出脈沖頻率為200kHz,當(dāng)驅(qū)動器的細(xì)分?jǐn)?shù)設(shè)定為20時,,電機(jī)的線速度為47.1m/min,。
??? 而DSP的最高工作時鐘是150MHz,,其輸出脈沖頻率可達(dá)2MHz,如果電機(jī)的最高反應(yīng)頻率能夠與之相匹配,,電機(jī)的最高線速度可達(dá):
??? 47.1m/min×2MHz/200kHz=471m/min
??? 此時電機(jī)的脈沖當(dāng)量為3.9μm,。如果電機(jī)的脈沖當(dāng)量是1μm,則電機(jī)最高線速度為471/3.9=121m/min,。
??? 本文采用模塊化的設(shè)計思想,,提出了一種開放式數(shù)控系統(tǒng)的結(jié)構(gòu)模型。對系統(tǒng)中運動控制卡的設(shè)計采用了高性能的DSP TMS320F2812和高集成度的FPGA技術(shù),,使該系統(tǒng)硬件結(jié)構(gòu)簡單,、可靠性強(qiáng);可以控制不同類型電機(jī)運動,,操作靈活,、適應(yīng)性強(qiáng)。經(jīng)測試,,其運行速度高,,可滿足高性能數(shù)控系統(tǒng)的需求,同時,因是標(biāo)準(zhǔn)化設(shè)計,,提高了系統(tǒng)的性能價格比,,值得推廣。
參考文獻(xiàn)
[1]? 周祖德,魏仁選,陳幼平. 開放式控制系統(tǒng)的現(xiàn)狀,、趨勢與對策[J]. 中國機(jī)械工程, 1999,10(10):1090-1093.
[2] ?趙春紅,,秦現(xiàn)生,唐虹. 基于PC的開放式數(shù)控系統(tǒng)研究.機(jī)械科學(xué)與技術(shù), 2005(9):1108-1113.
[3] ?李剛,,楊繼東.基于PC的開放式數(shù)控系統(tǒng)的開發(fā).機(jī)床與液壓,2006(4):82-83.
[4] ?康健,,陶濤,梅雪松.基于數(shù)字信號處理的多軸運動控制器設(shè)計[J].西安交通大學(xué)學(xué)報,,2003,,5(5)
[5] ?劉軍鋒,尹泉,,萬淑蕓.基于DSP和FPGA的開放式伺服平臺設(shè)計[J].電氣傳動,,2004,5(4).
[6] ?王文武,,曹治國,,張貴清,等.基于FPGA和DSP的并行數(shù)據(jù)采集系統(tǒng)的設(shè)計[J]. 微計算機(jī)信息.2004,,20(11).
[7] ?楊特育.高性能DSP芯片TMS320F2812在電機(jī)控制器中的應(yīng)用[J]. 電子元器件應(yīng)用,2006,8(3):56.
[8] ?楊恒,李愛國,王輝,等.FPGA/CPLD最新實用技術(shù)指南[M].北京:清華大學(xué)出版社,2005.