起源 一般寫字機,都是用最基本的XYZ型式做的,因為在thingverse上面找到相關的機器,想說就來做做看。

thingverse

在機構方面看到許多相關資料,想試試看不一樣的機構製做這個平台,因此搜尋了CoreXY這種結構的皮帶運動,看他的介紹是可以在高速運動下使用的機構,因為手邊也有3D列印機,就把他列印出來試試看可不可行。

電機相關

在機構處理完就開始找電控的板子,因為這台機台和CNC的控制方式類似,同樣都擁有XY兩軸,在加上手邊只有arduino ,就嘗試性的google了一下:"Arduino CNC",結果就找到了這塊版子

這塊版子在大量生產下的原因,價錢也非常的平價,加上也是開源系統,全部控制加一加,1000元以內有找,加上這塊板子也是用A4988這塊驅動晶片,和大部分3D列印機的驅動晶片相同,因為有四組,可以控制四顆馬達。

在晶片上面可以看到有個可以旋轉的螺絲頭,他是負責調電壓,扭力要大一點就把電壓開大一點(千萬不要開太大會超燙),大約就調到0.37V就已經很夠了,因為不是重負荷,調整的方法就是,使用三用電錶,一端放在螺絲上,一端在地線,就可以測得他的電壓,切記小心,不小心短路就沒了。

接下來就開始往韌體方向尋找相關方法,還在想說可能要自己寫控制器,算數學的時候,發現到一套從以前就已經開源的CNC韌體Grbl,在裡面的程式碼可以學習相關的控制器撰寫,grbl

控制方面

在一般傳統CNC,都會有sensor,知道目前刀軸現在的位置,程式會判斷是否要補正,但是這些感測器的價錢都不便宜,就我們學生而言,這已經不是負荷的起的價錢,Grbl利用一些方法來防止步數少的問題,

EX:梯形速度規畫

遇到圓角切削,如果按照剛剛看到的梯形會變成非常多小段進行控制,運轉會有問題

他的解法就變成了這樣Vjunction,主要是用在兩條線夾角趨近於180度,那就有可能是高密度曲線

可是一但遇到夾角為90度,那代表他會變成往反方向移動,那就要確實減速

1.Ventry 是第一條線的速度向量

2.Vexit 是第二條線的速度向量

3.Ventry和Vexit的夾角 θ

4.綠色線 δ 為一常數

5.R 為圓的半徑

式子(1):基本 sin 函數, θ, δ, Ventry 邊組成的三角形來計算

式子(2)(3):把它左右搬移一下, 得到求 R 的算式

由於式子 (3) 可以用其下方的算式替換, 結果就是我們只要運用兩次開根號就求得解

雖然我們畫圖可以很清楚知道 θ 的角度, 但是 CNC 機器只收到該往哪裡移動

它並沒法知道夾角, 而求這夾角需要頭痛的 acos 來先找到 θ 值

但是對於8bit的 MCU這會是運算負擔,在Grbl裡面的planner.c 的 plan_buffer_line

他的韌體有許多可以用到的數學,值得一一解開看他的控制器,可惜的是目前的專業知識不夠讓我完全了解他的程式在訴說的事情,雖然都有註解可以查,可能會慢慢的解開一包包在寫的東西。


Comments

comments powered by Disqus