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