国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的繪圖滑臺(tái)設(shè)計(jì)

2017-11-27 10:50馮坤蔣婷邱玉泉?jiǎng)⑹纻?/span>
物聯(lián)網(wǎng)技術(shù) 2017年11期
關(guān)鍵詞:步進(jìn)電機(jī)滑臺(tái)

馮坤+蔣婷+邱玉泉+劉世偉

摘 要:文中設(shè)計(jì)了一種集FPGA、步進(jìn)電機(jī)和滑臺(tái)導(dǎo)軌為一體的圖像繪制方案。設(shè)計(jì)將兩相四線步進(jìn)電機(jī)和由亞克力材質(zhì)制定的小型電機(jī)支架作為硬件支撐。為完成二維平面上的作業(yè),滑臺(tái)設(shè)計(jì)包括兩個(gè)平面內(nèi)移動(dòng)的步進(jìn)電機(jī),一個(gè)電機(jī)帶動(dòng)繪圖使用的鉛筆,另一個(gè)電機(jī)帶動(dòng)載有放置紙張的平臺(tái),兩個(gè)電機(jī)同時(shí)工作,使鉛筆在紙張上完成繪制。由FPGA通過(guò)驅(qū)動(dòng)板給兩個(gè)電機(jī)輸入設(shè)定脈沖以控制步進(jìn)電機(jī),同時(shí)運(yùn)用逐點(diǎn)比較插補(bǔ)法對(duì)路徑進(jìn)行規(guī)劃。

關(guān)鍵詞:FPGA;步進(jìn)電機(jī);滑臺(tái);逐點(diǎn)比較插補(bǔ)法

中圖分類號(hào):TP273;TN402 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2017)11-00-03

0 引 言

近年來(lái),3D打印機(jī)風(fēng)潮席卷全球,小到機(jī)械零件,大到房屋建筑,都可以通過(guò)3D打印機(jī)完成。3D打印機(jī)以數(shù)字模型文件為基礎(chǔ)[1],通過(guò)逐層打印的方式來(lái)構(gòu)造物體。受3D打印機(jī)工作方式的啟發(fā),本文以FPGA為控制芯片,以步進(jìn)電機(jī)為驅(qū)動(dòng)電機(jī),完成一個(gè)通過(guò)算法繪制圖像的設(shè)計(jì)。

步進(jìn)電機(jī)在我們的生產(chǎn)生活中隨處可見(jiàn),而FPGA可以很好地完成一系列對(duì)步進(jìn)電機(jī)的控制[2]。本設(shè)計(jì)使用Verilog HDL語(yǔ)言編程,本著用最簡(jiǎn)單的資源完成最有效的設(shè)計(jì)的思想,在硬件方面使用FPGA學(xué)習(xí)板與Xilinx公司生產(chǎn)的XC6SLX16開發(fā)板芯片,而步進(jìn)電機(jī)則選用常見(jiàn)的電腦光驅(qū)步進(jìn)電機(jī)[3]。

1 系統(tǒng)總體設(shè)計(jì)

本系統(tǒng)包括電機(jī)控制和路徑規(guī)劃兩部分,根據(jù)驅(qū)動(dòng)板與電機(jī)參數(shù)產(chǎn)生的相應(yīng)脈沖控制電機(jī)。電機(jī)運(yùn)行的軌跡分為直線和曲線兩種,在給定坐標(biāo)點(diǎn)的情況下,通過(guò)逐點(diǎn)比較插補(bǔ)法進(jìn)行路徑規(guī)劃,完成指定圖像繪制。

2 FPGA對(duì)步進(jìn)電機(jī)的控制

本設(shè)計(jì)采用常用計(jì)算機(jī)的光驅(qū)步進(jìn)電機(jī),即兩相四線步進(jìn)電機(jī),易于控制且工作性能穩(wěn)定。電機(jī)驅(qū)動(dòng)板采用帶有A4988芯片的帶轉(zhuǎn)換器和過(guò)流保護(hù)的DMOS微步驅(qū)動(dòng)器[4],該產(chǎn)品可在全、半、1/4、1/8及1/16步進(jìn)模式時(shí)操作雙級(jí)步進(jìn)電機(jī)。轉(zhuǎn)換器是A4988易于實(shí)施的關(guān)鍵,只要在“步進(jìn)”輸入中輸入下一個(gè)脈沖,即可驅(qū)動(dòng)步進(jìn)電機(jī)產(chǎn)生微步[5],故FPGA只需向驅(qū)動(dòng)板輸入連續(xù)脈沖即可。設(shè)定步進(jìn)電機(jī)轉(zhuǎn)動(dòng)一圈的時(shí)間為0.8 s,由于提供的FPGA晶振為50 MHz,故只需做一個(gè)6×105分頻的分頻電路即可,在此不再贅述。圖1所示為FPGA控制電機(jī)部分的RTL視圖。

3 逐點(diǎn)比較插補(bǔ)法

逐點(diǎn)插補(bǔ)法是目前數(shù)控機(jī)床在進(jìn)行輪廓設(shè)計(jì)時(shí)較常用的一種插補(bǔ)方法。而在CNC數(shù)控機(jī)床中逐點(diǎn)比較法是常用的控制方法[6],其各種曲線輪廓加工都可以通過(guò)插補(bǔ)算法實(shí)現(xiàn),插補(bǔ)計(jì)算的任務(wù)就是在輪廓線起點(diǎn)到終點(diǎn)之間密集地計(jì)算出有限個(gè)坐標(biāo)點(diǎn),動(dòng)點(diǎn)沿著這些坐標(biāo)點(diǎn)移動(dòng),用折線逼近所要加工的曲線。

3.1 逐點(diǎn)比較直線插補(bǔ)法

所謂逐點(diǎn)比較直線插補(bǔ)法,就是每走一步都要與給定運(yùn)動(dòng)軌跡上相應(yīng)的坐標(biāo)值比較,觀察該點(diǎn)位于直線上方還是下方,比較結(jié)果稱為偏差函數(shù)F[7],根據(jù)偏差的正、負(fù)決定下一步的進(jìn)給方向。實(shí)質(zhì)上這是一種用階梯折線來(lái)逼近直線的算法,它與規(guī)定運(yùn)動(dòng)軌跡之間的最大誤差為一個(gè)脈沖當(dāng)量,因此,只要把脈沖當(dāng)量設(shè)計(jì)得足夠小,就可以達(dá)到提升精度的要求[5]。

第一象限直線插補(bǔ)在一個(gè)單位時(shí)間(及脈沖當(dāng)量)內(nèi)運(yùn)行的軌跡如圖2所示。設(shè)點(diǎn)P是運(yùn)動(dòng)點(diǎn),點(diǎn)E是終點(diǎn),若點(diǎn)P在直線OE上方,則線段OP的斜率大于OE的斜率,即(Ym/Xm)>(Ye/Xe);若點(diǎn)P在線段OE下方,則線段OP的斜率小于OE的斜率,即(Ym/Xm)<(Ye/Xe),設(shè)偏差函數(shù)Fm為:

第一象限直線插補(bǔ)的過(guò)程可歸納為:當(dāng)偏差Fm<0時(shí),點(diǎn)P在直線下方,點(diǎn)P向Y軸正方向移動(dòng),將Ym+1=Ym+1代入偏差函數(shù)可得簡(jiǎn)化公式為:

當(dāng)偏差Fm>0時(shí),點(diǎn)P在直線上方,點(diǎn)P向X軸正方向移動(dòng),將Xm+1=Xm+1代入偏差函數(shù)可得簡(jiǎn)化公式為:

同理可得其他象限的偏差函數(shù),推導(dǎo)過(guò)程與上述過(guò)程完全相同。

根據(jù)直線插補(bǔ)法的原理編寫程序,對(duì)算法的仿真如圖3所示。

由于FPGA通過(guò)驅(qū)動(dòng)板給電機(jī)的輸入脈沖為連續(xù)脈沖,因此,根據(jù)對(duì)電機(jī)轉(zhuǎn)速的要求,對(duì)輸入時(shí)鐘進(jìn)行分頻即可達(dá)到轉(zhuǎn)速要求。在實(shí)際運(yùn)用中,只需在程序中給定坐標(biāo)點(diǎn),則X、Y軸電機(jī)即可合作完成直線段組成圖形[8]。

3.2 逐點(diǎn)比較圓弧插補(bǔ)法

圓弧插補(bǔ)法同直線插補(bǔ)法的工作原理相似,但圓弧插補(bǔ)法的工作過(guò)程分為四步,即偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、終點(diǎn)判別[9]。通常要考慮制作路程為順時(shí)針還是逆時(shí)針,以及圖像的象限。為方便讀者了解,以一個(gè)第一象限1/4圓弧順時(shí)針為例進(jìn)行講解。

如圖4所示,加工半徑為R的第一象限,坐標(biāo)原點(diǎn)定在圓心,A(X0,Y0)為圓弧起點(diǎn),B(Xe,Ye)為圓弧終點(diǎn),Pi(Xi,Yi)為加工動(dòng)點(diǎn)。

圓弧方程滿足:X2+Y2=Xo2+Yo2,設(shè)偏差函數(shù)Fi為:

若點(diǎn)P在圓弧上方或圓弧上,即Fi≥0,則向-X方向進(jìn)給一步;若點(diǎn)P在圓弧下方,即Fi<0,則向+Y方向進(jìn)給一步。由偏差函數(shù)可得第一象限內(nèi)圓弧偏差的遞推公式。

圖4 圓弧插補(bǔ)法運(yùn)行軌跡

若Fi≥0,向-X方向進(jìn)給一步,點(diǎn)P的坐標(biāo)由Pi(Xi,Yi)移動(dòng)到Pi+1(Xi+1,Yi),則新動(dòng)點(diǎn)的坐標(biāo)變?yōu)閄i+1=Xi-1,代入偏差函數(shù)得Pi+1點(diǎn)的偏差為:

若Fi<0,向+Y方向進(jìn)給一步,點(diǎn)P的坐標(biāo)由Pi(Xi,Yi)移動(dòng)到Pi+1(Xi,Yi+1),則新動(dòng)點(diǎn)的坐標(biāo)變?yōu)閅i+1=Yi+1,代入偏差函數(shù)得Pi+1點(diǎn)的偏差為:

同理,可推出逆時(shí)針的遞推公式、不同象限的遞推公式,在此不一一贅述。最后,根據(jù)X、Y坐標(biāo)方向要走的步數(shù)(因?yàn)椴竭M(jìn)電機(jī)輸入連續(xù)脈沖,所以在程序中則為判定運(yùn)動(dòng)時(shí)間)來(lái)判斷是否到達(dá)終點(diǎn)[10]。

根據(jù)上述原理,運(yùn)用Verilog HDL語(yǔ)言完成逐點(diǎn)比較圓弧插補(bǔ)法的仿真,如圖5所示。

4 實(shí)驗(yàn)結(jié)果及實(shí)物展示

本文做了逐點(diǎn)比較直線插補(bǔ)法和圓弧插補(bǔ)法兩個(gè)實(shí)驗(yàn),即通過(guò)直線插補(bǔ)法畫出一個(gè)六邊形,實(shí)驗(yàn)結(jié)果如圖6所示;通過(guò)圓弧插補(bǔ)法畫出一個(gè)1/4圓弧,實(shí)驗(yàn)結(jié)果如圖7所示。完整的設(shè)計(jì)實(shí)物圖如圖8所示。

5 結(jié) 語(yǔ)

本文設(shè)計(jì)的基于PFGA的繪圖滑臺(tái)可在給定坐標(biāo)點(diǎn)的情況下,通過(guò)逐點(diǎn)比較插補(bǔ)法進(jìn)行路徑規(guī)劃,完成指定圖像繪制,經(jīng)試驗(yàn),可較好地滿足使用需求。

參考文獻(xiàn)

[1]李青,王青.3D打印:一種新興的學(xué)習(xí)技術(shù)[J].遠(yuǎn)程教育雜志,2013 (4):29-35.

[2]夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2003(6):51.

[3]杜浩明,周圣.一種以廢舊光驅(qū)制備教學(xué)演示用的激光打印機(jī)裝置:中國(guó),CN104766532A[P]. 2015-07-08.

[4]孫建仁.CNC系統(tǒng)運(yùn)動(dòng)平滑處理與輪廓誤差研究[D].蘭州:蘭州理工大學(xué),2012.

[5]李江昊,陳衛(wèi)東,朱奇光,等.直流無(wú)刷電機(jī)微步進(jìn)控制方法及其FPGA實(shí)現(xiàn)[J].燕山大學(xué)學(xué)報(bào),2013,37(2):170-174.

[6]陳宏臣.基于FPGA技術(shù)的數(shù)控插補(bǔ)器算法改進(jìn)研究[D] .成都:西南交通大學(xué),2010.

[7]帥旗.基于最小函數(shù)偏差的圓弧及橢圓插補(bǔ)算法[J].科技視界,2014(36):237.

[8]李樂(lè),薛春良,尹海軍.一種導(dǎo)輪開槽成型磨床的雙滑臺(tái)進(jìn)給結(jié)構(gòu):中國(guó),CN205085828U [P].2016-03-16.

[9]沈旭照,吳一亮.基于FPGA的圓弧插補(bǔ)算法的設(shè)計(jì)[J].電子世界,2016(24):24,50.

[10]劉強(qiáng),劉煥,周勝凱,等.一種高精度快速空間圓弧插補(bǔ)方法:中國(guó),CN104155916A[P].2014-11-19.endprint

猜你喜歡
步進(jìn)電機(jī)滑臺(tái)
某款汽車復(fù)合材料尾門的滑臺(tái)分析及優(yōu)化
基于改進(jìn)PID控制的機(jī)床滑臺(tái)運(yùn)動(dòng)位移跟蹤誤差研究①
基于PLC的液壓動(dòng)力滑臺(tái)控制系統(tǒng)改進(jìn)設(shè)計(jì)
基于Access數(shù)據(jù)庫(kù)的機(jī)床滑臺(tái)選型系統(tǒng)開發(fā)與實(shí)踐