整個雷射切割機是一個完整個的系統,功能是[將電腦上的圖形,刻在目標物上]
分成如下三個動作流程
1.圖形轉換成G Code
2.將G Code 傳送到Arduino上
3.Arduino 將G Code轉換成步進馬達訊號與雷射開關的訊號。
什麼是G Code,這裡簡單說明,詳細可以在GOOGLE上關鍵字G Code,G Code是玩機器人的入門必備知識可以不用完全懂內容,但最少要知道他的意涵。
G-code是一行一行的文字簡單指令碼,虛擬指令碼用中文說類似如下
移動到座標X01 , Y03 ,Z05
啟動雷射
移動到座標X05 , Y03 ,Z05
關閉雷射
在GCode的文件中我們會看到類似如下碼,(單存範例非正確碼)
G00 X01,Y03,Z05
G99
G01 X05 , Y03 ,Z05
G98
以上我們看到四行,代表四個指令,過程中電腦需要傳送四次指令,Arduino也需要解譯四次指令:
例如動作流程如下
1.由電腦(手機平板)透過串列傳輸 傳送一行指令 傳送至Arduino,並等待Arduino 完成動作。
2.Arduino 接收到命令時,開始計算需要讓步進馬達如何轉動,開始打出訊號讓馬達轉動,或啟動\關閉雷射。
3.電腦判斷指令完成再度回到 第一步驟 直到所有指令都執行完成
電腦端這裡的動作還蠻單存,只要將G Code一行一行傳送即可,Arduino端解譯Gcdoe則需要比較多的學問
步進馬達的轉動需要考慮到慣性的問題,例如急轉,急回,若超過步進馬達的扭力就會產生掉步的狀況。
在圓弧動作上若兩個馬達配合的好真圓度會非常好,改善鋸齒,這些物理狀況都需要考慮實在不是一門簡單的學問。
OPNE SOURCE的力量已由世界上的一些天才透過演算法解決這些問題,並且非常佛心的將他們的原始碼無償的提供於網路給予下載,GRBL就是其中之一,就是我們即將使用的主角, GRBL是一套專門解GCode的OPEN SOURCE專案,其內容已經幫我們優化了以上說的那些問題還有更多細膩的優化,更多資料可以看
人體自動化實驗室(HAL) 這裡解釋得很好,感恩
為什麼是G Code,想要自訂X Code ,YCode可以嗎?答案當然可以,這裡就需要扯以扯通訊協定與工程這回事,通常在工程界甚少由一個人完成一整個系統(除非系統很小),所以通常會將系統簡單劃分[模組](分工)。
各模組之間要合作無間,之間的通訊協定(Potorocol),一開始就要定義好,且謹慎並且嚴格遵守,通訊協定就是彼此之間的通訊橋梁,所以定義通訊協定將會花上很長的時間,將未來遇到的狀況都一併考慮進去,可以擴充,可重用,Gcode就是一個歷史悠久經過時間考驗的標準協定,幾乎已經成為一種機器人標準語言,所以大家也就直接使用Gcode可以減少很多開發上的時間與困難。
曾經我覺得這整個雕刻機專案都是我一個人開發,為什麼我還需要跟人家的通訊協定,我自己搞一個協定不是更簡單,確實是會更簡單,但是這樣就忽略了標準帶來的另外一個好處[共用],這世界上有很多Maker 大家都遵循Gcode的標準做了很多工具,例如3d印表機,CNC雕刻機,GPS地板繪圖機,因為有著相同的協定,我們可以任意的與相同通訊協定 間的軟體、硬體、韌體互相共用。
例如 將解GCode的方式改成多軸機器手臂,而不是XY軸步進馬達,電腦端這裡的軟體完全不用修改就可以延用,減少非常多的開發時間。
例如 自行開發手機板的Gcode傳輸器,就可以把我們的雕刻機變成手機版本,而不需要一台大電腦才可以執行,想想看拍張照就燒出圖案多酷。
且Arduino端都不用修改,只需要撰寫手機端並且遵循通訊協定即可。
所以遵循通訊協定好處很多,非常值得了解一下Gcode,市面上大部分的切割機,CNC,3d印表機,機器手臂都是使用G CODE。
分成如下三個動作流程
1.圖形轉換成G Code
2.將G Code 傳送到Arduino上
3.Arduino 將G Code轉換成步進馬達訊號與雷射開關的訊號。
我們先著墨在2與3 Gcode到馬達過程
你一定很好奇 1.什麼是G Code 2.為什麼是G Code。什麼是G Code,這裡簡單說明,詳細可以在GOOGLE上關鍵字G Code,G Code是玩機器人的入門必備知識可以不用完全懂內容,但最少要知道他的意涵。
G-code是一行一行的文字簡單指令碼,虛擬指令碼用中文說類似如下
移動到座標X01 , Y03 ,Z05
啟動雷射
移動到座標X05 , Y03 ,Z05
關閉雷射
在GCode的文件中我們會看到類似如下碼,(單存範例非正確碼)
G00 X01,Y03,Z05
G99
G01 X05 , Y03 ,Z05
G98
以上我們看到四行,代表四個指令,過程中電腦需要傳送四次指令,Arduino也需要解譯四次指令:
例如動作流程如下
1.由電腦(手機平板)透過串列傳輸 傳送一行指令 傳送至Arduino,並等待Arduino 完成動作。
2.Arduino 接收到命令時,開始計算需要讓步進馬達如何轉動,開始打出訊號讓馬達轉動,或啟動\關閉雷射。
3.電腦判斷指令完成再度回到 第一步驟 直到所有指令都執行完成
電腦端這裡的動作還蠻單存,只要將G Code一行一行傳送即可,Arduino端解譯Gcdoe則需要比較多的學問
步進馬達的轉動需要考慮到慣性的問題,例如急轉,急回,若超過步進馬達的扭力就會產生掉步的狀況。
在圓弧動作上若兩個馬達配合的好真圓度會非常好,改善鋸齒,這些物理狀況都需要考慮實在不是一門簡單的學問。
OPNE SOURCE的力量已由世界上的一些天才透過演算法解決這些問題,並且非常佛心的將他們的原始碼無償的提供於網路給予下載,GRBL就是其中之一,就是我們即將使用的主角, GRBL是一套專門解GCode的OPEN SOURCE專案,其內容已經幫我們優化了以上說的那些問題還有更多細膩的優化,更多資料可以看
人體自動化實驗室(HAL) 這裡解釋得很好,感恩
為什麼是G Code,想要自訂X Code ,YCode可以嗎?答案當然可以,這裡就需要扯以扯通訊協定與工程這回事,通常在工程界甚少由一個人完成一整個系統(除非系統很小),所以通常會將系統簡單劃分[模組](分工)。
各模組之間要合作無間,之間的通訊協定(Potorocol),一開始就要定義好,且謹慎並且嚴格遵守,通訊協定就是彼此之間的通訊橋梁,所以定義通訊協定將會花上很長的時間,將未來遇到的狀況都一併考慮進去,可以擴充,可重用,Gcode就是一個歷史悠久經過時間考驗的標準協定,幾乎已經成為一種機器人標準語言,所以大家也就直接使用Gcode可以減少很多開發上的時間與困難。
曾經我覺得這整個雕刻機專案都是我一個人開發,為什麼我還需要跟人家的通訊協定,我自己搞一個協定不是更簡單,確實是會更簡單,但是這樣就忽略了標準帶來的另外一個好處[共用],這世界上有很多Maker 大家都遵循Gcode的標準做了很多工具,例如3d印表機,CNC雕刻機,GPS地板繪圖機,因為有著相同的協定,我們可以任意的與相同通訊協定 間的軟體、硬體、韌體互相共用。
例如 將解GCode的方式改成多軸機器手臂,而不是XY軸步進馬達,電腦端這裡的軟體完全不用修改就可以延用,減少非常多的開發時間。
例如 自行開發手機板的Gcode傳輸器,就可以把我們的雕刻機變成手機版本,而不需要一台大電腦才可以執行,想想看拍張照就燒出圖案多酷。
且Arduino端都不用修改,只需要撰寫手機端並且遵循通訊協定即可。
所以遵循通訊協定好處很多,非常值得了解一下Gcode,市面上大部分的切割機,CNC,3d印表機,機器手臂都是使用G CODE。
留言
張貼留言