網頁

基於GRBL的CNC架構



黑漆漆的工廠裡,燈全部都關上了,剩下的是紅色的警示燈以及機具加工的聲音,這就是無人工廠的一個寫照,人只需要坐在控制室裡待命就好了,剩下的全部交給機器。

網路上還盛傳著一則笑話是這樣說的:「現代的紡織廠只需雇用一個人和一條狗,人負責餵狗,狗則負責阻止人接近機器。」從這則笑話可以看的出來未來無人工廠的趨勢,不過對於自動化(AI)時代,有許多人會失去工作的看法我保持著保守的態度,因為自動化與AI會消滅許多工作,同時也會創造出許多工作,未來一個人搭配機器能夠有更驚人的產能,我們都該努力成為能善用機器來增加工作效率的人。

扯遠了。今天我要介紹的是CNC大致上的一個架構,因為之後計畫要做一台比較實用點的CNC,因此先在這裡做些想法的筆記。在這篇文章的封面圖片中是基於GRBL設計之CNC控制器這篇文章為了製作Cyclone PCB CNC,所製作出來的控制器與機器本體。但是做出來使用後發現真的很不好用,一來是夾持不方便,二來是因為整台幾乎都是列印件的關係,加工時的變形量很高,因此在雕刻PCB電路板時更不用講簡直是慘烈。再者不知道是不是因為使用110V的775馬達,導致電路干擾的關係,每次程式(Gcode)跑到一半機器就會當掉,非要Reset才可以重來。



而且有點尷尬的是控制器的接頭與外殼等等花了不少錢,整台做起來我私心也覺得不錯看,但結果機器就是相當的不給力,不過也或許是我不會調教的關係,國外有人的Cyclone PCB CNC機器就真的相當的厲害(也是讓我入坑的原因)。結果搞的控制器很大一台,結果機器小小的,這樣分離的做法也導致在使用上搬運蠻不方便的,因此那個控制器可能就先擱著,還是先以了解整個運作模式再來繼續改良它。

(20180512補充:其實有點想改成直接購買現成的機台,因為自己做跟蒐集材料的時間很不划算,如果以要直接使用的角度,買現成的會好一些,不然總覺得一直被機器玩。目前想買的大概是這台不過我會先等把整體架構跟軟體熟悉一些再說,因此我也順便做了一台光碟機的小CNC模擬機,可以讓我理解運作與控制的流程。)



但為什麼我要做CNC?
電腦數值控制工具機(CNC),我們可以把它想像成用一串寫好的程式(Gcode),使加工的刀子移來移去,然後達成我們想要的加工形狀。因此CNC可以用來雕刻木頭、壓克力、PCB或雷射雕刻,至於能加工金屬的CNC我真的覺得在一般人DIY是很難達成的,光是機台剛性以及控制器與馬達的精度(都是$$$$$$),要拿來實際使用真的是蠻難的一件事情,如果有金屬加工的需求,還是尋求專業的加工廠比較實在,自己做的成本實在有些划不來。總之就是覺得能雕刻木頭、壓克力與PCB蠻誘人的,後面再搭個雷射頭還可以拿來燒掉吊飾牌子。

以下我要從上面的架構圖,大致介紹一下CNC機台的一些周邊零件,在這裡我要強調是DIY的小機台,不要拿工業用的來比。

外部電源(約12~36V)
用於步進馬達驅動與主軸、冷卻液的驅動電力。必須要選用符合的電壓以及足夠電流的電源供應器,有些12V1A的變壓器用在這種場合是相當不足的,有時一顆步進馬達吃的電流就高達1~2A了。

步進馬達
步進馬達能用來驅動機器讓主軸或工件進行XYZ軸移動,因為其對於轉動的控制精度高所以在這種CNC雕刻機或3D印表機上廣為運用。

步進馬達驅動器
步進馬達訊號進去之後一定要有驅動器來送控制電流給步進馬達,在我使用的shield v3擴充板上是使用A4988或DRV8825驅動晶片,而厲害的地方是這塊擴充板有預留Arduino輸出XYZ軸step與direction的訊號腳位,因此要用在比較大的工業用步進馬達控制器上也是沒問題的。

擴充板(GRBL shield v3)
這塊擴充板可以直接插在Arduino UNO上,可以很方便的進行接線(馬達、按鈕與主軸開關等),不用在UNO上一根一根拉訊號出來,而且價格在網路上還蠻親民的,如果要玩GRBL的相當建議購買,因為GRBL幾乎用光了UNO版上的腳位,要自己做電路板真的會很麻煩。



控制器(Arduino UNO)
GRBL是一個開源的CNC控制軟體,它的功能就是把電腦端加工軟體所轉換出來的Gcode轉成步進馬達移動、主軸開關等等的控制訊號,讓加工機台動作。



PC端
與Arduino的port連接後,可以傳送Gcode給UNO板在控制加工機,同時用電腦當控制面板可以簡單的做一些三軸的移動與校正位置的動作,下圖是我那時候學習Cyclone的照片。



限位開關
用於限制、保護XYZ三軸在移動時,撞到限位開關就會停止,也可做為賦歸時的觸發開關,這個在比較大的CNC機台上很重要,因為如果過行程有時候會讓機台故障或壞掉,有光學與機械式的限位開關。



啟動按鈕、暫停按鈕、停止按鈕與緊急停止按紐
這幾個按鈕是硬體開關,可以用於控制暫停、執行與重新啟動等等功能,這些功能在電腦端一樣可以發送,所以如果要機台簡單一點可以選擇不裝(我看大部分的都沒再裝),但是緊急停止按鈕最好還是安裝上去比較好,這相當於Reset鈕,可以避免發生危險。如果是重型的機台,最好是加上電源開關直接切斷最保險(延長線的開關也可以拿來使用)。

以上是接著我要DIY小型的CNC機台的一些筆記,接著會多寫幾篇相關的文章,希望在製作以及學習的過程能順利。

系列文章:
基於GRBL的CNC之A4988步進馬達驅動器篇
基於GRBL的CNC之步進馬達篇
基於GRBL的CNC之冷卻液開關篇
基於GRBL的CNC之擴充板篇
基於GRBL的CNC之Arduino控制器篇
基於GRBL的CNC之限位開關篇CNC
基於GRBL的CNC之按鈕篇

(20180519補充:寫到這邊硬體大致也都記錄的差不多了,接著就是等買機器再來測試了,待續。)

參考資料:
Youtube_The first connection of CNC 2418. Test run.
GitHub_GRBL