摘要:針對鞋樣切割機對插補控制器功能的要求,設(shè)計了基于嵌入式的可重構(gòu)運動控制系統(tǒng)。在對步進(jìn)電機進(jìn)行控制的前提下,對于比較積分插補算法在可重構(gòu)器件中的實現(xiàn)進(jìn)行了研究。經(jīng)測試表明,所設(shè)計的嵌入式可重構(gòu)運動控制系統(tǒng)能夠完成對直線和二次曲線的快速、精確插補,而且系統(tǒng)易于擴展,能夠?qū)崿F(xiàn)更為復(fù)雜的控制算法。
關(guān)鍵詞:AT91SAM9260;嵌入式系統(tǒng);EPM1270;CPLD;比較積分法
中圖分類號:TP23文獻(xiàn)標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.002
引用格式:魏峰,劉守山.嵌入式可重構(gòu)數(shù)控系統(tǒng)的設(shè)計與驗證[J].微型機與應(yīng)用,2017,36(7):5-8.
0引言
*基金項目:浙江省“儀器科學(xué)與技術(shù)”重中之重學(xué)科開放基金資助項目(JL150508);山東省重點研發(fā)計劃項目(2015GSF118094)在鞋類制造過程中,鞋樣的制作是至關(guān)重要的環(huán)節(jié)。隨著市場對鞋類產(chǎn)品需求的多樣化,鞋樣設(shè)計與制作的復(fù)雜性也隨之提高。其中,在鞋樣的制作過程中,具有各種復(fù)雜輪廓鞋樣的最后成形是由鞋樣切割機完成的。鞋樣切割機在對鞋樣輪廓成形過程中,通常要完成對直線、二次曲線以及自由曲線插補的運動控制。而插補運動的控制則是由鞋樣切割機的數(shù)控系統(tǒng)完成的。現(xiàn)代鞋類制造業(yè)對數(shù)控系統(tǒng)的開放性、低功耗性、通用性、可重構(gòu)性等方面提出了更高的需求。構(gòu)建基于嵌入式技術(shù)和可重構(gòu)計算技術(shù)的運動控制系統(tǒng)可以為現(xiàn)代數(shù)控設(shè)備的這種需求提供可行的、有力的支持,也是現(xiàn)在和將來制造業(yè)運動控制體系的發(fā)展方向之一[15]。基于以上需求,本文對基于ARM9核的嵌入式控制器和可重構(gòu)邏輯器件的嵌入式可重構(gòu)數(shù)控系統(tǒng)進(jìn)行了研究和設(shè)計,并在此平臺上對比較積分插補算法的實現(xiàn)進(jìn)行了設(shè)計和驗證。
1嵌入式可重構(gòu)數(shù)控系統(tǒng)設(shè)計
1.1整體系統(tǒng)設(shè)計
系統(tǒng)設(shè)計中,使用AT91SAM9260作為微控制器(MCU)來構(gòu)建嵌入式子系統(tǒng),使用復(fù)雜可編程邏輯器件(CPLD)EPM1270作為可重構(gòu)器件來構(gòu)建硬件可重構(gòu)子系統(tǒng),然后通過兩者的結(jié)合來完成嵌入式可重構(gòu)運動控制系統(tǒng)。系統(tǒng)的整體設(shè)計結(jié)構(gòu)如圖1所示。
1.2嵌入式子系統(tǒng)設(shè)計
嵌入式子系統(tǒng)的結(jié)構(gòu)圖如圖2所示。
電源輸入為+5 V和+12 V的直流電,經(jīng)過電源模塊可產(chǎn)生5 V、3.3 V、1.8 V、12 V數(shù)字電源和3.3 V模擬電源。外部內(nèi)存設(shè)備使用兩片型號為MT48LC16M16A2、大小為16 M×16 bit的SDRAM組成64 MB的外部內(nèi)存空間,用于裸機程序或操作系統(tǒng)的運行。外部存儲設(shè)備包括一片NOR Flash和一片NAND Flash。NOR Flash選用大小為4 M×16 bit的SST39VF6401,用作裸機程序、操作系統(tǒng)引導(dǎo)程序的存儲空間;NAND Flash選用大小為(258 M+8 M)×8 bit的K9F2G08U0B,用于操作系統(tǒng)、根文件系統(tǒng)和用戶應(yīng)用程序的存儲空間。通信模塊包括串口、USB接口、以太網(wǎng)口和無線設(shè)備。串口用于串口調(diào)試和打印信息;USB接口用作調(diào)試接口和通信接口;以太網(wǎng)口使用DM9161A作為以太網(wǎng)物理層收發(fā)器,然后通過MII標(biāo)準(zhǔn)的接口與MCU相連;無線設(shè)備為使用射頻收發(fā)芯片NRF2401設(shè)計的無線收發(fā)設(shè)備,其可以使得遠(yuǎn)程數(shù)據(jù)交換更加方便。人機交互模塊包括觸摸屏和LCD顯示屏,該系統(tǒng)采用ADS7843作為電阻式觸摸屏控制器,觸摸屏與LCD顯示屏為同一設(shè)備,該設(shè)備采用了LR08VRBD型LCD顯示器;人機交互模塊主要實現(xiàn)的功能為操作系統(tǒng)的可視化操作,向運動控制系統(tǒng)下達(dá)命令,從運動控制系統(tǒng)中讀取所需要的數(shù)據(jù)。
1.3硬件可重構(gòu)子系統(tǒng)設(shè)計
CPLD芯片與MCU的連接需要地址線、數(shù)據(jù)線和信號控制線。對于信號控制線,由于在該系統(tǒng)的MCU中沒有專門用來控制CPLD或者FPGA的接口,所以控制信號線需要通過MCU上的GPIO口來實現(xiàn),而這些控制信號就是向CPLD中輸入的運動控制所需的PWM(脈寬調(diào)制信號)信號、方向信號以及需要反饋給嵌入式子系統(tǒng)的光電編碼器采集到的數(shù)據(jù)。根據(jù)運動控制的需要,在CPLD上設(shè)計了6路光電編碼器接口與步進(jìn)電機上的光電編碼器相連,3路PWM輸出接口和6路方向信號輸出接口用于連接電機驅(qū)動模塊。硬件可重構(gòu)子系統(tǒng)的結(jié)構(gòu)圖如圖3所示。
CPLD用來實現(xiàn)插補算法。嵌入式子系統(tǒng)根據(jù)外部輸入命令計算出插補算法中所需的參數(shù)(3路PWM信息、6路方向信息)并傳遞給CPLD,進(jìn)而可以在CPLD中實現(xiàn)插補算法。CPLD再產(chǎn)生用于控制電機驅(qū)動模塊的信號(3路PWM信號、6路方向信號)。此外,為了形成閉環(huán)控制,系統(tǒng)還設(shè)計了用來采集位置或速度的光電編碼器的輸入接口。該光電編碼器的信號經(jīng)光電隔離后,再接入到CPLD,然后,再經(jīng)由CPLD將信號輸入給MCU,從而獲得電機的位置和速度信息。
MCU的地址引腳和數(shù)據(jù)引腳,以及部分讀寫控制引腳、部分存儲器片選引腳通過CPLD的I/O引腳引入。目的是可以將CPLD內(nèi)部的寄存器映射到微處理器的數(shù)據(jù)存儲空間,從而可以實現(xiàn)MCU對CPLD內(nèi)部寄存器(包括控制寄存器、狀態(tài)寄存器、數(shù)據(jù)寄存器)的訪問,進(jìn)而可以參與或協(xié)調(diào)CPLD的運行。
2比較積分法在系統(tǒng)中的實現(xiàn)
為了驗證系統(tǒng)設(shè)計的可行性,本文對比較積分插補算法在該系統(tǒng)上的實現(xiàn)進(jìn)行了設(shè)計和驗證。其中,比較積分法屬脈沖增量插補類的算法。相比其他算法如逐點比較法、數(shù)字積分法等,比較積分法具有插補精度高、運算關(guān)系簡單、進(jìn)給速度控制方便等優(yōu)點[6]。由比較積分法的算法特點可知,其運算密集度較高,相對于軟件實現(xiàn),其硬件實現(xiàn)更能提高運行效率和保證實時性。因此,本文對比較積分法在可重構(gòu)器件中的實現(xiàn)進(jìn)行了研究和驗證。
2.1比較積分插補算法原理
比較積分插補算法的具體實現(xiàn)方式參見文獻(xiàn)[78]。根據(jù)比較積分插補算法,制定出程序流程圖,如圖4所示。其中速度控制子程序的實現(xiàn)參見文獻(xiàn)[9]。
2.2比較積分插補算法的硬件實現(xiàn)
2.2.1整體方案
本系統(tǒng)中,對于比較積分插補算法的硬件實現(xiàn)首先使用Verilog HDL語言進(jìn)行描述,進(jìn)而在系統(tǒng)的CPLD中實現(xiàn)。其硬件實現(xiàn)結(jié)構(gòu)圖如圖5所示。
圖5比較積分插補算法的硬件實現(xiàn)結(jié)構(gòu)圖圖5中速度與進(jìn)給控制模塊向X軸和Y軸脈沖發(fā)生器輸出對應(yīng)于加速、恒速、減速的實際速度脈沖。它同時又向比較器1、比較器2、A、B、F計算模塊以及X軸、Y軸脈沖發(fā)生器發(fā)出使能信號,來控制各個模塊的使能情況。A、B、F計算模塊通過各數(shù)據(jù)的初始值與比較積分插補算法的公式來更新A、B、F值,并送入到A、B、F寄存器中。比較器1和比較器2從上述寄存器中取得所需數(shù)值,經(jīng)比較后,通過選擇性地向X軸脈沖發(fā)生器和Y軸脈沖發(fā)生器發(fā)出使能信號,以此來決定X軸脈沖發(fā)生還是Y軸脈沖發(fā)生,被使能的X軸脈沖發(fā)生器或Y軸脈沖發(fā)生器向二軸電機發(fā)出脈沖控制信號。進(jìn)而實現(xiàn)比較積分法的插補。
圖7硬件實現(xiàn)連接總圖2.2.2速度與進(jìn)給控制模塊硬件實現(xiàn)設(shè)計
在本設(shè)計中,速度與進(jìn)給控制模塊是整個插補過程的調(diào)度者,其既承擔(dān)了電機運行的加減速控制,又決定著插補進(jìn)程的流程及各模塊間的信號同步。圖6為該模塊的結(jié)構(gòu)圖。
圖6速度與進(jìn)給控制模塊結(jié)構(gòu)圖MCU向CPLD發(fā)出時鐘信號(CLK),同時實現(xiàn)加工路徑和速度的規(guī)劃,并將這些參數(shù)分別放入對應(yīng)的最大速度寄存器、加速步長參數(shù)寄存器和減速步長參數(shù)寄存器中。根據(jù)這些參數(shù)可以計算出相應(yīng)的加速步長、減速步長和最大速度。圖6中的計數(shù)器用作可變分頻器,用以在不同速度時段以CLK為基準(zhǔn)時鐘產(chǎn)生不同頻率的脈沖控制信號,發(fā)送給X軸、Y軸脈沖發(fā)生器,從而達(dá)到分別改變電機在X軸和Y軸分速度的目的。上述脈沖控制信號還被送入比較器與最大速度脈沖頻率進(jìn)行比較來判斷是否達(dá)到恒速條件,比較結(jié)果再傳入計數(shù)器中,用以控制電機的加減速。
2.3仿真總圖
根據(jù)上述設(shè)計方案,該硬件實現(xiàn)在Quartus II中完成的連接總圖如圖7所示。
其中Velocity_conrol為速度與進(jìn)給控制模塊。Accumulator為A、B、F計算模塊,它主要完成的工作是通過圖4中的公式來進(jìn)行A、B、F的計算。Compare為比較器1和比較器2,分別完成A與B的比較和F與0的比較。X_Y_Pulse為X軸脈沖發(fā)生器和Y軸脈沖發(fā)生器,它們用來給電機驅(qū)動模塊發(fā)出脈沖控制信號,該脈沖控制信號的頻率決定于速度與進(jìn)給控制模塊,該脈沖的使能決定于比較器1與比較器2,進(jìn)而可以控制電機的運行速度與運動軌跡。
3測試與分析
首先在Quartus II中分別完成了直線和拋物線插補算法的模擬,分別得出X軸和Y軸脈沖發(fā)生器對應(yīng)于直線與拋物線的時序圖。其中所取直線為第一象限直線,起始點為原點,終點坐標(biāo)為(50,30)。所取的拋物線方程為:Y2=4X,其起點坐標(biāo)為第一象限中(25,10),終點坐標(biāo)為第四象限中的(25,-10),第一象限中為逆時針插補,第四象限中為順時針插補。其時序圖如圖8和圖9所示。
為了驗證硬件可重構(gòu)子系統(tǒng)的插補效果,將上文中進(jìn)行仿真的程序燒錄到CPLD中,進(jìn)行實物測試。根據(jù)電機上光電編碼器所采集到的電機運動軌跡,在MATLAB中分別繪制出直線運動軌跡圖與拋物線運動軌跡圖,如圖10和圖11所示。
由以上時序圖和軌跡圖可以看出其對應(yīng)關(guān)系。對于直線插補和拋物線插補,其X軸脈沖發(fā)生器均為持續(xù)發(fā)出脈沖,驅(qū)動X軸方向的電機一直轉(zhuǎn)動;其Y軸脈沖發(fā)生圖8直線插補時序圖
器均為間歇發(fā)出脈沖,從而保證了直線的斜率和拋物線的弧度。而且通過拋物線時序圖和軌跡圖的比對可以看出,加速過程,即一開始Y軸脈沖發(fā)生器輸出時間很長,但是其運動的距離卻很短。
在圖11中,拋物線插補曲線存在偏差:本應(yīng)關(guān)于X軸對稱的上下兩部分不對稱,過象限點不在原點處。這與其前后的X軸和Y軸的脈沖進(jìn)給方向有關(guān)。4結(jié)論
本文對基于嵌入式的硬件可重構(gòu)系統(tǒng)進(jìn)行了設(shè)計,并在該系統(tǒng)上實現(xiàn)了比較積分插補算法。實驗結(jié)果表明,所設(shè)計的系統(tǒng)能較好地實現(xiàn)插補算法與電機控制。然而,從電機運動軌跡圖上可以看出,插補終點存在著一個脈沖當(dāng)量的誤差,而且在拋物線
插補過程中,出現(xiàn)了過原點和對稱性的偏差。上述問題需進(jìn)行校正方法的探索。
參考文獻(xiàn)
?。?] 鄭飛,王時龍,簡易. 可重構(gòu)分布式數(shù)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機集成制造系統(tǒng),2008, 14(4):637-643.
[2] 周祖德,龍毅宏,劉泉. 嵌入式網(wǎng)絡(luò)數(shù)控技術(shù)與系統(tǒng)[J]. 機械工程學(xué)報,2007,43(5):1-7.
?。?] PEREIRA C E, CARRO L. Distributed realtime embedded system: recent advances, future trends, and their impact on manufacturing plant control[J]. Annual Reviews in Control, 2007,31(1): 81-92.
?。?] 王太勇,李波,萬淑敏,等. 基于現(xiàn)場總線的可重構(gòu)數(shù)控系統(tǒng)研究[J]. 計算機集成制造系統(tǒng),2006, 12(1):1662-1667.
?。?] 董靖川.可重構(gòu)數(shù)控系統(tǒng)關(guān)鍵技術(shù)研究[D].天津:天津大學(xué),2010.
[6] 任玉田,焦振學(xué),王宏甫. 機床計算機數(shù)控技術(shù)[M]. 北京:北京理工大學(xué)出版社,1996.
?。?] 王進(jìn). 比較積分法及其程序設(shè)計[J]. 機械設(shè)計與制造,1995,8(6):32-34.
?。?] 周慧. 比較積分法插補過程的研究與仿真[J]. 機床與液壓,2004(3):70-71.
?。?] 王曉明,王玲. 電機的DSP控制—TI公司DSP應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社,2004.