CNC機床是計算機化的數控機床,用于根據輸入其控制器單元的設計程序繪制任何東西或設計任何機械零件。控制器單元可以是計算機或微控制器。CNC機床具有步進電機和伺服電機,可根據進料程序繪制設計。
在研究了數控機床之后,我決定使用當地可用的材料建造自己的數控機床。世界上有很多數控機床,其中一些技術性很強,很難正確制造甚至操作它們。出于這個原因,我決定制作一個簡單的基于Arduino的CNC繪圖儀,這是迄今為止最簡單的制作。您也可以將其用作Arduino CNC繪圖機,只需進行少量修改。
這款DIY Arduino數控機床可以繪制大多數基本形狀,文本甚至卡通。它的操作類似于人手的書寫方式。與人類書寫或繪畫的方式相比,它更快、更準確。查看本教程末尾的演示視頻。
構建 Arduino 數控機床:
對于CNC 繪圖機的操作,需要 3 個軸(x 軸、y 軸和 z 軸。x 軸和 y 軸協同工作,在普通紙上創建 2D 圖像。這些 x 軸和 y 軸彼此成 90 度放置,使得平面上的任何點都由給定的 x 和 y 值定義。Z軸用于將筆抬起并降低到普通紙上。
根據要繪制的圖像,計算機將生成適當的坐標并通過USB端口將它們發送到微控制器。微控制器解釋這些坐標,然后控制電機的位置以創建圖像。在這里,我們使用Arduino作為微控制器來構建這臺CNC機床。三軸運動由步進電機提供,步進電機將由Arduino板控制。
您需要什么:
注意:我的設計在尺寸和所用材料方面在硬件上有很大不同。我找不到舊的DVD驅動器,所以我選擇了打印機部件。無論您使用哪種方法,請確保它具有步進電機。
硬件要求:
鋁板 (710mm x 710mm)
舊的惠普/愛普生打印機。您可以使用舊的計算機DVD驅動器
螺栓和螺母
有機玻璃
Arduino UNO
L293D 電機驅動器擴展板或 Arduino CNC 擴展板
微型伺服電機
一支筆
工具:
螺絲刀
鉆
切割工具(鋼鋸)
膠
臺式裝置
數控繪圖機底座:
該設備的主體是將機器的所有主要部件支撐在一起的底座,使機器牢固且便攜。在此設計中,我們將使用鋁來構建底座,因為它重量輕,易于彎曲和切割,并且由于不生銹,因此具有良好的光澤外觀。
我的底座的設計和尺寸如下所示:
注意:所有尺寸均以毫米為單位。
經過所有的彎曲和切割,我能夠生產出非常堅固的底座,如下所示:
X、Y 和 Z 軸的組裝:
要制作 x 軸和 y 軸,請使用兩個打印機底座。這些部件中的每一個都包含一個步進電機和一個皮帶驅動機構,通常用于來回移動墨盒。
對于 z軸,使用膠水在 y 軸上安裝一個微型伺服電機。該伺服電機用于上下移動筆。應構建良好的支撐機制,使筆可以自由上下移動。
數控機床繪圖平臺:
由于這臺機器的巨大尺寸,該設備能夠在A5尺寸的紙上繪圖。因此,我們將從有機玻璃上切出一個A5(148mmx210mm)大小的平臺,然后用膠水將其粘貼到x軸運動部件上。
數控機床的布線和電路:
將L293D 電機驅動器護板插入 Arduino UNO 板上。該屏蔽可同時驅動兩個步進電機和兩個伺服電機。連接兩個步進電機,如下所示。接地連接應保持未連接狀態,因為電機是雙楊型。這將作為我們的繪圖儀機器的Arduino CNC控制器。
同時將迷你伺服電機連接到伺服1。將 7.5V - 9V 電源連接到電機驅動器擴展板的電源端口。計算機現已準備好進行測試。
Arduino 數控機床代碼和測試:
首先,我們需要測試步進電機,看看它們是否正確連接。
由于我們使用的是 L293D 電機驅動器擴展板,因此我們需要從此處下載 AFmotor 庫。然后將其添加到Arduino IDE庫文件夾中。確保將其重命名為 AFMotor。如果Arduino IDE已打開,請將其關閉并再次打開,然后單擊文件->示例->Adafruit Motor Shield庫->步進器。確保在工具中選擇正確的端口和板,然后將代碼上傳到 Arduino 板。在步進電機一號上應觀察一些運動。
要測試電機 2,請在下一行中將電機端口從 2 更改為 1,然后再次上傳代碼。
#include // Connect a stepper motor with 48 steps per revolution (7.5 degree) // to motor port #2 (M3 and M4) AF_Stepper motor(48, 2);
用于數控機床的Arduino代碼:
步進電機正確響應后,從下面的代碼部分復制CNC機床的Arduino代碼,并將其上傳到Arduino板。您可以從以下鏈接下載代碼。
Arduino CNC 代碼下載
數控機床G代碼:
G - CODE是我們告訴計算機化機器(CNC)做某事的語言。它基本上是一個包含 X、Y 和 Z 坐標的文件。
例如:
G17 G20 G90 G94 G54 G0 Z0.25X-0.5 Y0. Z0.1 G01 Z0. F5. G02 X0. Y0.5 I0.5 J0. F2.5 X0.5 Y0. I0. J-0.5 X0. Y-0.5 I-0.5 J0. X-0.5 Y0. I0. J0.5 G01 Z0.1 F5. G00 X0. Y0. Z0.25
僅為一個簡單的正方形編寫 G 代碼可能確實具有挑戰性,但幸運的是,我們有一個可以幫助我們生成 G 代碼的軟件。該軟件稱為“Inkscape”,請從此處下載。
您可以使用Inkscape生成自己的G代碼,我們將在下一節中解釋,或者您可以使用互聯網上現成的G代碼。
在我向您展示如何使用Inkscape生成G代碼之前,讓我們討論如何將這些G代碼發送到Arduino。使我們能夠將G代碼發送到Arduino的軟件稱為處理。
處理 IDE 以上傳 G 代碼:
該平臺將幫助我們向Arduino板發送G代碼。為此,您必須下載 GCTRL。偏微分方程文件。
從這里下載 GCTRL.pde 文件并使用處理 IDE 打開它
在處理 IDE 中打開它后,單擊“運行”。將出現一個窗口,其中包含所有說明。按鍵盤上的p。系統將要求您選擇一個端口。因此,請選擇連接Arduino板的端口。我的情況是端口 6。
現在按g并瀏覽到保存 G 代碼的文件夾。選擇正確的 G 代碼,然后按回車鍵。如果一切都連接正確,您應該會看到您的設備開始在紙上繪制。
如果要終止進程,只需按x,設備將停止它正在執行的任何操作。
如何生成自己的G代碼:
我們提到Inkscape是我們將用來生成 G 代碼的軟件。在此示例中,我們將創建一個簡單的文本(HELLO WORLD),如下所示。
注意:Inkscape沒有將文件保存為G代碼的內置方式。因此,您需要安裝一個附加組件,該附加組件可以將圖像導出到 G-CODE 文件。從這里下載這個MakerBot Unicorn插件,并附上安裝說明。
如果安裝成功,請打開Inkscape,轉到“文件”菜單,然后單擊“文檔屬性”。首先將尺寸從 px 更改為毫米。同時將寬度和高度減小到 90 毫米。現在關閉此窗口。正方形將作為繪圖區域出現。這是我們將用來編寫文本的區域。
現在在左側欄上,單擊創建和編輯文本對象選項卡。鍵入文本“HELLO WORLD”并將其放置在正方形的右上角,如下所示。
單擊文本并選擇您喜歡的字體樣式類型。單擊應用并關閉。
現在單擊路徑并選擇“對象到路徑”"
您的文本現在可以另存為 G 代碼了。單擊文件 ->另存為,然后將文件名鍵入為“hello world”
將文件類型更改為“MakerBot Unicon G-Code”,如下圖所示。僅當加載項安裝成功時,才會顯示此信息。最后單擊保存,然后單擊彈出窗口中的確定。
您已經生成了一個 G 代碼,可以使用前面的過程對其進行繪制。
GRBL 控制器:
一旦您設法使用 Inkscape 生成 G 代碼,可能需要查看 G 代碼以確保它在繪圖限制范圍內。
繪圖限制在Arduino CNC CODE中設置,如下所示:
上面在GRBL控制器中顯示的圖像不應超出上述CNC Arduino代碼中顯示的限制。如果它超出這些限制,例如朝向 x 軸的負側,則不會繪制負側上的該部分。
在此示例中,x 和 y 值的范圍為 0mm 到 40mm。
由于我使用的是可以在更大面積上打印的打印機部件,因此我將最大值從40mm更改為60mm。
每當您使用Inkscape生成G代碼時,您都可以首先在GRBL程序中打開該G代碼,以查看它是否在這些限制范圍內。如果不在里面,您需要在 Inkscape 中調整圖像大小,直到它在您的限制范圍內。
-
數控機床
+關注
關注
19文章
789瀏覽量
46588 -
CNC
+關注
關注
7文章
316瀏覽量
35276 -
Arduino
+關注
關注
188文章
6477瀏覽量
187561
發布評論請先 登錄
相關推薦
評論