張耀驄,陳 安,胡躍明
(華南理工大學(xué) 精密電子制造裝備教育部工程研究中心,廣州 510640)
FPGA 即現(xiàn)場可編程邏輯門陣列,是一種采用硬件描述語言(VHDL 或Verilog HDL)進(jìn)行任意邏輯電路設(shè)計(jì)的器件,加上其豐富的用戶自定義IO 接口,使其應(yīng)用極具靈活性。
隨著“國家半導(dǎo)體照明工程”啟動以及“LED 產(chǎn)業(yè)十二五規(guī)劃”出臺,我國LED 照明產(chǎn)業(yè)迎來了前所未有的發(fā)展空間,其中的LED 封裝技術(shù)也得到了快速發(fā)展與進(jìn)步。
LED 生產(chǎn)設(shè)備注膠molding 機(jī)負(fù)責(zé)LED 封裝過程中的注膠塑封成型過程,molding 機(jī)均勻注膠的精度與速度直接影響到LED 的發(fā)光質(zhì)量及生產(chǎn)效率[1]。
Molding 機(jī)的關(guān)鍵機(jī)構(gòu)是一個(gè)雙軸運(yùn)動平臺,受控于雙軸運(yùn)動控制器,為保證注膠均勻,要求能夠雙軸聯(lián)動。目前大多數(shù)雙軸運(yùn)動控制器采用ARM/DSP+CPLD/FPGA 架構(gòu),這種架構(gòu)不但開發(fā)成本較高,且開發(fā)及維護(hù)難度較大、周期長。本文提出基于單片F(xiàn)PGA 的molding 機(jī)雙軸運(yùn)動控制器,使系統(tǒng)進(jìn)一步集約化,能夠減少開發(fā)、生產(chǎn)、維護(hù)的成本。本設(shè)計(jì)采用Xilinx 公司近期推出的spartan-6 系列,其內(nèi)置的DSP48A1 Slice 可以把持實(shí)現(xiàn)復(fù)雜運(yùn)動控制算法設(shè)計(jì),并保持系統(tǒng)實(shí)時(shí)性。
控制策略采用數(shù)據(jù)采樣插補(bǔ)算法[2]、非對稱S曲線加減速規(guī)劃算法、多段預(yù)讀軌跡速度規(guī)劃算法。
硬件系統(tǒng)框圖如圖1 示。主控芯片采用Xilinx Spartan-6 系列FPGA,采用硬件(IP 核)實(shí)現(xiàn)底層的運(yùn)動控制算法,再嵌入Xilinx 提供的MicroBlaze 軟核實(shí)現(xiàn)頂層的算法及進(jìn)行流程控制,各算法IP 核的并行處理及通過調(diào)用內(nèi)置的DSP48A1 Slice 處理較復(fù)雜的數(shù)字運(yùn)算,可以保持系統(tǒng)的實(shí)時(shí)性,實(shí)現(xiàn)高精度的插補(bǔ)運(yùn)算。
圖1 硬件系統(tǒng)框圖
在MicroBlaze 軟核模塊內(nèi),主要實(shí)現(xiàn)速度規(guī)劃算法,對上位機(jī)下傳的軌跡函數(shù)進(jìn)行粗插補(bǔ)擬合及加減速規(guī)劃,并將擬合后的微線段及其加減速規(guī)劃參數(shù)順序放到緩存中,供后續(xù)的精插補(bǔ)模塊及伺服控制模塊讀取。
此外,軟核還負(fù)流程控制,執(zhí)行系統(tǒng)內(nèi)各模塊的協(xié)調(diào)配合任務(wù),如外部SDRAM 數(shù)據(jù)讀寫與傳遞等。
精插補(bǔ)模塊與伺服控制模塊分別順序讀取MicroBlaze 軟核粗插補(bǔ)后的微線段參數(shù)與加減速規(guī)劃參數(shù)。精插補(bǔ)模塊通過接收伺服電機(jī)返回的位置脈沖信號,每隔一個(gè)精插補(bǔ)周期實(shí)時(shí)采樣一次雙軸當(dāng)前位置信息,參與到精插補(bǔ)過程中,可消除累積誤差。
伺服控制模塊分別從MicroBlaze 軟核與精插補(bǔ)模塊獲得速度規(guī)劃參數(shù)與精插補(bǔ)后的軌跡參數(shù),再把補(bǔ)償修正后的兩軸的進(jìn)給量同時(shí)輸出到伺服機(jī)構(gòu)執(zhí)行,確保精度。
為提高雙軸聯(lián)動軌跡精度,采用數(shù)據(jù)采樣插補(bǔ)算法進(jìn)行軌跡規(guī)劃,再以非對稱S 曲線加減速規(guī)劃算法與多段預(yù)讀軌跡規(guī)劃算法進(jìn)行加減速速度規(guī)劃,可減少機(jī)床振動,提高加工效率。
完整的S 曲線包含7 個(gè)階段,如圖2 示,依次為:加加速階段、勻加速階段、減加速階段、勻速階段、加減速階段、勻減速階段,減減速階段[4],一般設(shè)初始速度與末速均為0,有T1=T2=T3=T5=T6=T7,整個(gè)S 曲線呈左右對稱,其始末速度均為0,加工過程頻繁起動制動,不但效率降低,且會對機(jī)床造成很大沖擊。
圖2 對稱S 曲線加減速規(guī)劃
本文提出非對稱S 曲線加減速規(guī)劃算法,即在連續(xù)軌跡加工中每一段微線段的起始速度vs和終止速度ve是不一定相等的,其速度曲線如圖3 所示,加速段的加加速過程時(shí)間、勻加速過程時(shí)間、減加速時(shí)間分別為T1、T2、T3,勻速時(shí)間為T4、減速段的加加速過程時(shí)間、勻加速過程時(shí)間、減加速時(shí)間分別為T5、T6、T7,由加速段與減速段的對稱性可知T1=T3,T5=T7。
非對稱S 曲線加減速規(guī)劃受給定速度和微線段的長度約束,七段過程不一定全都出現(xiàn),基本可以分為4 種運(yùn)行情況,以加速度曲線作分析,如圖4 所示。
圖3 非對稱S 曲線加減速規(guī)劃速度圖
圖4 非對稱S 曲線速度規(guī)劃加速度示意圖
(1)微線段的長度過小且給定速度過小,因而加速度無法到達(dá)最大值,且沒有勻速過程。
(2)給定速度過小,微線段的長度較大,因而加速度無法到達(dá)最大值,但含有勻速過程。
(3)給定速度已經(jīng)足夠大,但微線段的長度不夠大,加速度能達(dá)到最大值,但沒有勻速過程。
(4)完整的七段S 曲線加減過程。
S 曲線加減速規(guī)劃就是根據(jù)機(jī)器的加加速度,加速度,加工速度和粗插補(bǔ)微線段的長度大小,確定各段微線段對應(yīng)上述哪一種運(yùn)行情況,并確定各過程運(yùn)行的時(shí)間。本文提出起以初速度為vs、末速度ve、加速時(shí)間Ta、減速時(shí)間Td、指令速度V 和微線段長度L 為初始條件的非對稱S 曲線加減速規(guī)劃算法。
令機(jī)器最大加速度為Am,最大加加速度為Jm,當(dāng)要達(dá)到最大加速度Am,則最小的加速時(shí)間(或減速時(shí)間)為Ts=。具體規(guī)劃過程如下:
(1)通過對比給定加速時(shí)間Ta與Ts的大小,分為以下3 種情況。
②當(dāng)Ts<Ta≤時(shí),取T1=T3=,T2=Ta-Ts;對于減速段有T5=T7=,T6=Td-Ts。
③當(dāng)Ta>時(shí),取T1=T3=,T2=Ta-Ts;對于減速段有T5=T7=,T6=Td-Ts。
(2)根據(jù)(1)中的結(jié)果確定在各段微線段能夠達(dá)到的最大速度vm,令vl=min(vs,ve),則有vm=vl+(T1+T2)Am,比較指令速度V 和vm的大小確定加速時(shí)間約束下能達(dá)到的最大運(yùn)行速度。
(3)根據(jù)微線段長度大小確定勻速時(shí)間的大小,由上步中確定的最小位移sm和微線段長度L 的關(guān)系確定是否含有勻速段。
當(dāng)L≤sm,則不含勻速段,即勻速時(shí)間為,T4=0。
在確定S 曲線加減速規(guī)劃各階段運(yùn)行時(shí)間后,由S 曲線的幾何對稱性和圖形面積積分法,可以得出運(yùn)行的加加速度大小為:
據(jù)上式求出運(yùn)行的加加速度可以避免因時(shí)間分割離散化造成的給定路徑不是插補(bǔ)線段整數(shù)倍的問題,俗稱“尾巴”問題。
多段預(yù)讀S 曲線加減速規(guī)劃就是判斷轉(zhuǎn)接點(diǎn)之間的距離大小是否滿足兩轉(zhuǎn)接點(diǎn)的速度按S 曲線加減速規(guī)律進(jìn)行速度變化形成的位移量。
設(shè)li為第i 段微線段長度,Δv 為轉(zhuǎn)接點(diǎn)間速度變化量、sse為兩轉(zhuǎn)接點(diǎn)速度按S 曲線加減速變化形成的距離,以最大加加速度Jm和最大加速度am規(guī)律運(yùn)行時(shí)加速度曲線從三角形向梯形變化的臨界面積為vlim,根據(jù)S 曲線加減速規(guī)律易得:
當(dāng)Δv≤vlim時(shí)沒有勻加速過程,此時(shí)有:
當(dāng)Δv >vlim時(shí),在轉(zhuǎn)接點(diǎn)間加減速時(shí)含有勻加速過程,此時(shí)有:
多段預(yù)讀軌跡速度規(guī)劃過程如下:
(1)當(dāng)vi≤vi+1且li<sse時(shí),從第i 個(gè)轉(zhuǎn)接點(diǎn)到第i+1 個(gè)轉(zhuǎn)接點(diǎn)之間必須加速,且須要減小vi+1的值使li=sse成立,然后繼續(xù)執(zhí)行第i+1 個(gè)轉(zhuǎn)接點(diǎn)到第i+2個(gè)轉(zhuǎn)接點(diǎn)間的規(guī)劃。
(2)當(dāng)vi>vi+1且li<sse時(shí),從第i 個(gè)轉(zhuǎn)接點(diǎn)到第i+1 個(gè)轉(zhuǎn)接點(diǎn)之間必須減速,且須要減小vi的值使li=sse成立;并且當(dāng)vi減小后,需要重新判斷第i-1轉(zhuǎn)接點(diǎn)到第i 個(gè)轉(zhuǎn)接點(diǎn),若vi-1>vi,且li<sse則需要減小vi-1,并回歸到前一個(gè)轉(zhuǎn)接點(diǎn)再判斷,直到前面的轉(zhuǎn)接點(diǎn)修正完畢。若在第i-1 個(gè)轉(zhuǎn)接點(diǎn)有vi-1≤vi,則直接減小vi就可以,不用往回遞歸判斷。
(3)當(dāng)vi≤vi+1且li≥sse或者vi≥vi+1且li≥sse,則不用修改第i 個(gè)轉(zhuǎn)接點(diǎn)和第i +1 個(gè)轉(zhuǎn)接點(diǎn)的速度,繼續(xù)執(zhí)行第i+1 和i+2 轉(zhuǎn)接點(diǎn)間的規(guī)劃。
搭建Molding 機(jī)的運(yùn)動核心部分:X-Y 運(yùn)動控制平臺,在PC 機(jī)上用Matlab 搭建數(shù)據(jù)平臺,數(shù)據(jù)平臺中設(shè)置加工軌跡等相關(guān)信息,再將設(shè)置信息傳送到運(yùn)動控制器中。運(yùn)行過程中控制器將采集到的實(shí)際運(yùn)行數(shù)據(jù)發(fā)送到Matlab 數(shù)據(jù)平臺中,再利用Matlab自帶工具對數(shù)據(jù)進(jìn)行相關(guān)性能分析,如軌跡精度、速度規(guī)劃效果等。設(shè)定的加工軌跡如圖5 所示。指令進(jìn)給速度V=62.5mm/s,加工允許誤差e =0.01mm,兩軸最大加速度Ax=Ay=2000m/s2。
圖5 設(shè)定的加工軌跡
對軌跡單段加工過程速度曲線如圖6 所示,采用非對稱S 曲線速度規(guī)劃算法加工過程的速度曲線如圖7 所示。X、Y 軸的加工誤差如圖8、圖9 所示。
對比圖6、圖7,采用由上述各圖可以看出非對稱S 曲線速度規(guī)劃算法可明顯提高微線段轉(zhuǎn)接點(diǎn)間的速度,起到了提高加工效率與減少振動的效果,且X、Y 軸的加工誤差均小于允許誤差e=0.01mm。
圖6 單段加工速度曲線
圖7 非對稱S 曲線規(guī)劃加工速度曲線
圖8 X 軸加工誤差(單位10 -3mm)
圖9 Y 軸加工誤差(單位10 -3mm)
將本設(shè)計(jì)方案與作者所在團(tuán)隊(duì)之前采用DSP +FPGA 架構(gòu)方案進(jìn)行對比分析,結(jié)果如下。
器件成本方面,市面上滿足本設(shè)計(jì)基本要求的DSP 芯片價(jià)格不低于100 元,F(xiàn)PGA 價(jià)格不低于50元,而本方案所采用的滿足基本要求的spartan6 系列器件價(jià)格一般在80 到100 元之間。另外,主控制芯片減少了,其外圍輔助電路元件也相對減少,可進(jìn)一步縮減成本,也可縮小控制板尺寸,本方案的控制板尺寸只有8cm* 6cm,如圖10 所示,進(jìn)而可節(jié)省安裝成本。綜合起來,本方案在器件成本方面相對DSP+FPGA 架構(gòu)方案節(jié)省了至少30%。
圖10 本設(shè)計(jì)方案控制板外觀
人力成本方面,采用DSP +FPGA 架構(gòu)方案,通常需要DSP 開發(fā)人員與FPGA 開發(fā)人員分別在各自的開發(fā)環(huán)境協(xié)同開發(fā)與維護(hù),必然增加溝通成本與開發(fā)周期。本設(shè)計(jì)方案采用單片F(xiàn)PGA,只需要FPGA 開發(fā)人員在單一開發(fā)環(huán)境便可進(jìn)行開發(fā)與維護(hù),提高了效率與靈活性,節(jié)省了人力成本。
LED 照明產(chǎn)業(yè)正處于朝陽期,不斷涌現(xiàn)的新型照明LED 對過程生產(chǎn)設(shè)備不斷提出新的工藝要求,molding 機(jī)也不例外。本設(shè)計(jì)方案使molding 機(jī)控運(yùn)動制器的開發(fā)維護(hù)周期縮短,靈活性提高,成本降低,使其能夠及時(shí)適應(yīng)LED 照明產(chǎn)業(yè)的新需求。
本文提出基于FPGA 的LED 生產(chǎn)設(shè)備Molding 機(jī)雙軸聯(lián)動運(yùn)動控制器,在單片F(xiàn)PGA 上實(shí)現(xiàn)了數(shù)據(jù)采樣插補(bǔ)算法、非對稱S 曲線加減速規(guī)劃算法、多段預(yù)讀軌跡規(guī)劃算法,不僅減少了開發(fā)、生產(chǎn)及維護(hù)成本,在性能方面也能達(dá)到高效平穩(wěn)地運(yùn)行,且精度滿足要求。
[1]陳蔚芳,王宏濤. 機(jī)床數(shù)控技術(shù)及應(yīng)用[M]. 北京:科學(xué)出版社,2008.
[2]蘇永道,吉愛華. LED 封裝技術(shù)[M]. 上海:上海交通大學(xué)出版社,2010.
[3]張團(tuán)善,肖磊,張娜. 基于STM32 和FPGA 的多軸運(yùn)動控制器的設(shè)計(jì)[J]. 電子測量技術(shù),2010,34(5):61-67.
[4]陳友東,魏洪興,王琦魁. 數(shù)控系統(tǒng)的直線和S 形加減速離散算法[J]. 中國機(jī)械工程,2010,21(5):567-570.
[5]趙從富,陳安,胡躍明. 基于STM32 的點(diǎn)對點(diǎn)運(yùn)動控制器設(shè)計(jì)[J]. 計(jì)算機(jī)測量與控制,2012,20(4):994-1007.
[6]陳光勝,梅雪松. 一種小線段的非對稱S 曲線速度規(guī)劃算與前瞻算法[J]. 機(jī)械設(shè)計(jì)與制造,2010(8):47-49.
[7]劉巖,丁大偉. 基于DSP-FPGA 的多軸運(yùn)動控制器系統(tǒng)設(shè)計(jì)[J]. 制造業(yè)自動化,2012,34(4):23-26.
[8]范基正,陳安,胡躍明. LED 生產(chǎn)設(shè)備molding 機(jī)控制平臺設(shè)計(jì)[J]. 科學(xué)工程與技術(shù),2011,11(34):8605-8609.
[9]葉佩青,趙慎良. 微小直線段的連續(xù)插補(bǔ)算法研究[J].中國機(jī)械工程,2004,15(15):1354-1356.
[10]呂強(qiáng),張輝,楊開明. 數(shù)控連續(xù)加工中提高軌跡段轉(zhuǎn)接速度的方法研究[J]. 制造技術(shù)與機(jī)床,2008(7):79-83.