[ 教程 ] 舊DVD驅動器DIY一個Arduino Mini數控繪圖機

2021-03-02 電子工程師筆記

廣告

在這個教程中,我會告訴你怎麼快速製作屬於自己的廉價Arduino Mini數控繪圖機。圖中這臺繪圖機是改進版,我對原有繪圖機的結構和準確度都進行了一定的提升。好好閱讀這篇文章,相信你也能輕鬆搞定自己的Arduino Mini繪圖機。

簡述:

在X軸和Y軸上,我們要用到兩個步進電機和DVD/CD驅動器上的滑軌。在Z軸上,我們也會用到一個小型的伺服電機,用來驅動繪圖筆上下移動。在安裝基座上,我們則會用到樹脂玻璃。

我本想將它搞成雕刻機和繪圖機的兩用版本,但經過了數次實驗,我發現這臺機器只能掛載繪圖筆,有些可惜了。

基於Arduino開發板的電路使用了ATmega328單片機,2塊L293D集成電路驅動器和USB串行適配器。用Arduino Uno開發板和一塊麵包板就能輕鬆搞定這一切。

想要列印你的繪圖作品?只要加裝一個藍牙模塊就好。

下面是數控繪圖機的演示視頻:

第一步:所需材料

提示:不懂的部分可以參考圖片。

製作電路時你需要:

新手清單:

Arduino uno

麵包板

2臺L293D 集成電路電機驅動器

迷你伺服電機

2個DVD或CD驅動器

老鳥清單:

ATmega328p(刷入Arduino的Bootloader)

28針的DIP集成電路插座

16MHz晶體振蕩器

2塊22pF和1塊100nF的電容

10k的電阻器

USB串行適配器

2塊L293D集成電路

迷你伺服電機

2個DVD或CD驅動器

原型PCB電路板

4個兩針的螺絲端子接頭或2個四針的螺絲端子接頭

你還需要一臺Arduino UNO來為ATmega328單片機編程。

有了USB串行適配器,就可以像Arduino Uno那樣連接電腦和電路板了。

為什麼還要用到螺絲端子接頭呢?因為在找到正確的組合前我們不願輕易使用烙鐵,要不然焊錯了可就麻煩了。

製作安裝基座時你需要:

為X軸準備一塊20x16釐米的樹脂玻璃(厚度控制在5毫米左右)。

為Y軸準備兩塊14x4釐米的樹脂玻璃(厚度同上)。

約20個螺母、螺釘和墊片。

一些墊圈。

四個支撐角(最好為塑料材質)

如果沒有樹脂玻璃,你也可以用木頭,金屬或者CD和DVD驅動器的邊角料。

工具:

螺絲刀

烙鐵

焊料

電鑽

切割工具

強力膠

第二步:步進電機

首先,我們要拆掉dvd/cd驅動器,您切將上面的步進電機取下來。如圖1所示,用螺絲刀將其大卸八塊並取下滑軌。

好了,現在我們就有了兩臺步進電機了,下一步要給它焊些線備用。在開始之前,請參閱下圖2。下面我們要找到最好的線路搭配,所以可以請出萬用表了,用兩個鱷魚夾夾住線路(如圖3所示),然後將其放在「短路」功能上。一般來說第一跟第二條線都會使電路閉合,此時LED會亮起,同時警報聲也會響起,但這也意味著我們找到了第一項電機,而第三和第四根線則會引出第二項電機。

在這臺數控繪圖機中,使用線一和線三的步進電機為第一項電機,而使用線二和線四的則為第二項電機。

找好了線路搭配我們就能開始進行下一步了。

第三步:安裝基座,X軸和Y軸

X軸:

先將一個步進電機放在一塊較大的樹脂玻璃上,隨後用馬克筆標出其具體位置,以便隨後為螺絲打孔。請一定確保其位置精確無誤,然後就可用電鑽打孔並用螺絲將電機固定緊。

下一步就輪到我們準備好的四個支撐角了,為它們找好位置並用馬克筆標註,它們之間的間隔為5毫米。隨後如圖二所示,為它們打八個螺絲孔並用螺絲將其固定牢。

Y軸:

將另一個步進電機放在兩塊樹脂玻璃上並用馬克筆標明其詳細位置,隨後重複上面的步驟,在樹脂玻璃上打四個孔以便用螺絲將其固定。

隨後將這兩塊樹脂玻璃放在X軸那塊較大的樹脂玻璃上,接著重複上述步驟將其固定好。

完成裝配:

打好該打的眼,裝好改裝的螺絲,我們的裝配就完成了。我在X軸那塊樹脂玻璃上安了一塊金屬板,它上面會放置便籤紙供繪圖機進行繪製。一般的便籤紙都是75x75毫米的,但我們的繪圖機只能繪出40x40毫米的圖片,所以你要對其尺寸進行相應的修改。記住,這個項目中精度是非常重要的。

第四步:Z軸

這恐怕是結構中最為複雜的部分了。

想將它安裝安裝在Y軸上,你需要一個平面。在這個平面上,你要安裝好伺服電機(Z軸)和筆架。在伺服電機的驅動下,繪圖筆要能正常的上下移動。如果還是不太清楚,請參考上圖進行理解。

提示:充分發揮自己的想像力。

第五步:電路

搞定了第四步,我們的基礎硬體部分就製作完成了,現在可以開始製作電路並對X軸和Y軸的步進電機進行測試了。

上圖為麵包板的電路圖。

完成這一步需要你的耐心。下一步中我們還會對X軸和Y軸的步進馬達進行測試。如果它們工作不正常,你就要及時改變線路的連接方式。

電源:

一個USB接口可無法提供足夠的電流,所以你還得再加一根USB線。接上電源後,電壓依然為5V,不過電流已經翻番了。

注意:

如果你想用其他的硬體,如電機端罩或步進電機驅動電路等,就得對以上電路和Arduino代碼進行修改。當然,具體的修改細節我無能為力,你可以在網上搜索相關教程。

第六步:在X軸和Y軸測試步進電機

下面是我們測試X軸和Y軸的代碼,你可以用Codebender將其嵌入Arduino開發板。

Codebender是一個在線的Arduino IDE,你可以直接在瀏覽器上對你的Arduino開發板進行編程,只要點擊"Run on Arduino"按鈕就可以開始了,強烈推薦大家嘗試。

X軸:

在測試中,你得確保X軸的電機能從前方移動到後方(上圖中黑色箭頭)。

代碼下載

Y軸:

在測試中,你得確保Y軸的電機能從左方移動到右方(上圖中紅色箭頭)。

代碼下載

第七步:數控代碼

下面是我們要用到的主要的數控代碼,你可以用Codebender將其嵌入Arduino開發板。

在這一步中,你的繪圖筆會升上來。如果它沒反應,你得修改下penUp和penDown的變量,這樣就可以對伺服電機進行調整(只需點擊Edit編輯按鈕)。

點擊「Run on Arduino」按鈕就可以從瀏覽器上對你的開發板進行編程了。

代碼下載

第八步:GCTRL程序

現在我們就可以開始繪製我們第一幅畫作了。不過在這裡我們還需要一個名為gctrl.pde的處理程序,它可以將gcode圖片發送給數控繪圖機。

那麼什麼是gcode呢?其實它是一個文檔,其中包含了相關的X,Y,Z軸坐標信息。頭文件的坐標值設定如下:

M300 S30.00(伺服電機向下)

G1 X20.00 Y10.00 F2500.00

M300 S50.00(伺服電機向上)

你可以點擊連結下載該處理程序,隨後找到能打開它的相關軟體並點擊「Play」按鈕來開啟程序。

依照上圖的指示:

點擊'p' 並選擇你的Arduino串行埠。

點擊'g'並選擇'TEXT.gcode'或'gear.gcode'文檔。

(如果運行出錯,請點擊'x'讓繪圖機停下來,然後再試一次。)

第九步:怎樣製作自己的gcode文檔

想要製作自己的gcode文檔,你得使用Inkscape。

Inkscape是一款免費的專業的高質量矢量圖形軟體,無論是Windows,Mac OS X還是Linux都可以順利運行,它不但是專業設計師的最愛,還是業餘愛好者的神器,你可以用該軟體做出插圖,圖標,地圖,標誌等。Inkscape的原生格式為W3C open standard SVG,此外它還是一款開源軟體。你可以點擊連結下載該軟體(記得要下載0.48.5版本)。

下載完成後你需要安裝一個附加組件,這樣才能將輸出的圖片轉為gcode文檔。下面是該附加組件的下載連結,該軟體有安裝提示,上手無難度。

Inkscape的設置

首先,打開Inkscape,進入文件菜單並點擊"Document Properties",隨後按照上圖中圖1的提示進行相關調整(記得將相關單位調為釐米)。設置好後就可以關閉該窗口了,下面我們要使用屏幕上4到8釐米的空白區域(如圖2)。

怎樣繪製文本

文本方面,你可以對其朝向和大小進行修改。步驟:點擊遊標為文本設定大小(如圖3所示),在面板上選擇Path並在下拉菜單中點擊"Object to Path"。

請觀看視頻:

怎樣繪製圖片

這一步要比繪製文本難得多,因為圖片的背景必須是透明的。將圖片拖曳進Inkscape,點擊OK進入下一個界面,現在你就可以調整圖片尺寸了(如圖4)。步驟:點擊菜單中的Path,並選擇"Trace Bitmap",隨後按照圖5 所示對其進行修改。搞定後點擊OK並關閉窗口。接著我們要調整灰度圖並刪除其背景顏色。然後再次點擊Path並選擇"Object to path",圖6會教你如何刪除圖像輪廓。

請關看視頻:

以gcode文檔格式進行輸出

最後,返回文件菜單,點擊以gcode文檔保存並在下一個界面點擊OK,這樣就大功告成了。隨後你就可以開心的用gctrl應用在你的Arduino數控繪圖機上繪圖了。

第十步:完工

如果能按上面的步驟一步步走下來,相信你已經製作出自己的數控繪圖機了,希望你能喜歡。

廣告

關於立創商城

立創商城(WWW.SZLCSC.COM)是嘉立創集團旗下一家品種齊全、自營庫存、質量有保障的電子元器件垂直商城,自建5000多平米現代化元器件倉庫,現貨庫存超25000種。立創商城所有元器件均由原廠或代理商正規渠道採購,保證原裝正品。

採購元器件推薦上立創商城,註冊後可領取15元無門檻使用優惠券,如需業務編號請填寫「N」,或直接點擊閱讀原文註冊。

相關焦點

  • 基於 Arduino Mini 的數控繪圖儀
    在這個項目中,我將向您展示如何輕鬆構建自己的低成本 Arduino Mini CNC 繪圖儀!
  • DIY 自平衡Arduino機器人-【單片機教程-創客】
    MPU605陀螺儀傳感器……………….1個Nema 17步進電機………….2個100mm車輪…………………………..2個A4988步進驅動器您必須需要的基本連接和最小連接如下I2C:電機驅動器引腳:D5 – STEP1(PORTD 5)D6 – STEP2(PORTD 6)D7 – DIR1
  • mini D1WiFi模塊Arduino開發簡介
    mini D1 WiFi模塊簡介六月份每月活動將使用此模塊連接WiFi。
  • 10個輕鬆上手製作的Arduino項目
    我們在Hackster.io的項目中有該項目所有的細節。Hackster.io項目連結:Chug Meter for St. Patrick's Day:https://www.hackster.io/circuito-io-team/chug-meter-for-st-patrick-s-day-by-circuito-io-13b137 3.
  • DIY一個四軸飛行器,僅需5步!準工程師表示:秒懂!
    我選用了arduino nano作為主控,體型還是有點偏大,用arduino mi ni更好。選擇nano是因為其帶自身帶有USB 接口,可以直接用USB接口下程序,而mini要用下載器。事後發現更好的選擇是mini Leonardo,nano和mini的晶片型號都是ATMEGA328P,只有一個串口,nano的USB是用另一塊晶片轉串口,不能跟串口同時使用,下載程序時要把跟串口相接的元件斷開,而Leonardo的晶片型號是ATMEGA32U4,自身帶有USB和串口,互不幹擾。
  • 伺服電機驅動器的設計
    圖12.伺服驅動器的選擇題目給出ASD—B2—1521—B型伺服驅動器,其規格參數見圖2。,在連接上PLC模塊,即可得到伺服驅動器控制伺服電機的系統。5.1開關保護元件的選擇:在電路中涉及各種開關,主電路上選用一個低壓斷路器以保護電路,控制三相交流電動機的開關我選擇一般三極電源轉換開關,其他部位用主令按鈕開關控制,由於開關形狀和具體參數均不複雜,在此不做具體介紹,其圖形符號和文字符號如下。
  • 我在用我的 Mac mini 做什麼
    Time Machine使用 Time Machine 並不複雜,你可以選擇直接使用 Mac mini 的整塊磁碟,或者是先建立一個分區來專門用於備份。在共享選項中添加作為備份的硬碟,並在右側給自己的帳戶添加訪問權限。
  • 一個用 Arduino 實現的完整項目
    用戶(我的女兒)可以用鍵盤從菜單上選擇一種算數運算來學習。會有一些難度級別:在選擇運算後,難度級別會顯示出來。根據選擇的難度級別,會隨機顯示出一些問題,用戶可以用鍵盤迴答這些問題。用戶可以在確認前修改自己的答案。在確認答案後,根據正確與否會顯示出一條信息。如果三次答錯,將會顯示出正確答案。
  • arduino:飛鏢數據,迷宮遊戲,LED冰球……
    arduino一個科學,兩個遊戲資訊1.無人機在難以到達的地方發射Sense飛鏢以收集數據[1]
  • 【乾貨】史上最全伺服驅動器故障維修實戰集錦!
    分析與處理過程:故障分析過程同前例,但在本例中,當利用手輪少量移動Z軸,測量Z軸直流驅動器的速度給定電壓始終為0,因此可以初步判定故障在數控裝置或數控與驅動器的連接電纜上。        檢查數控裝置與驅動器的電纜連接正常,確認故障引起的原因在數控裝置。打開數控裝置檢查,發現Z軸的速度給定輸出D/A轉換器的數字輸入正確,但無模擬量輸出,從而確認故障是由於D/A轉換器不良引起的。
  • 史上最全伺服驅動器故障維修實戰集錦!
    為了進一步確定故障部位,維修時在系統接通的情況下,利用手輪少量移動Z軸(移動距離應控制在系統設定的最大允許跟隨誤差以內,防止出現跟隨誤差報警),測量Z軸直流驅動器的速度給定電壓,經檢查發現速度給定有電壓輸入,其值大小與手輪移動的距離、方向有關。由此可以確認數控裝置工作正常,故障是由於伺服驅動器的不良引起的。
  • 25個西門子,施耐德和松下伺服驅動器故障維修實戰集錦
    分析與處理過程:故障分析過程同前例,但在本例中,當利用手輪少量移動Z軸,測量Z軸直流驅動器的速度給定電壓始終為0,因此可以初步判定故障在數控裝置或數控與驅動器的連接電纜上。檢查數控裝置與驅動器的電纜連接正常,確認故障引起的原因在數控裝置。
  • 20180529_1 施耐德伺服驅動器故障維修實戰集錦
    ,動力電纜,編碼器電纜是否配線錯誤,破損或者接觸不良;檢查帶制動器的伺服電機其制動器是否已經打開;監視伺服驅動器的面板確認脈衝指令是否輸入;Run運行指令正常;控制模式務必選擇位置控制模式;伺服驅動器設置的輸入脈衝類型和指令脈衝的設置是否一致;確保正轉側驅動禁止,反轉側驅動禁止信號以及偏差計數器復位信號沒有被輸入,脫開負載並且空載運行正常
  • 【乾貨】無人機diy工具大盤點
    diy無人機的帖子,講解了各種電機、電調、機架如何選取如何搭配,但是當我們真正著手diy的時候,許多人發現自己手邊可以用來製作無人機的工具和小零件卻是乏善可陳。必備工具:無人機diy也是分深淺的,有人只是買來套件,拼裝起來即可;有的人是靠圖紙,尋找適合的材料進行製作;還有技術宅乾脆自己設計機架,自己調飛控,製作一個專屬自己獨一無二的無人機。這裡先說一下滿足所有人的工具。在我們製作無人機的過程中,多數時候還是依靠手工工具,一些簡單的工具如鉗子、改錐、扳手等都是我們的熟客,三角尺、直尺等測量工具也是必不可少。
  • 常見松下伺服驅動器故障和維修方法
    6、在我們開發的數控銑床中使用的松下交流伺服工作在模擬控制方式下,位置信號由驅動器的脈衝輸出反饋到計算機處理,在裝機後調試時,發出運動指令,電機就飛車,什麼原因?  由於交流伺服驅動器採用了逆變器原理,所以它在控制、檢測系統中是一個較為突出的幹擾源,為了減弱或消除伺服驅動器對其它電子設備的幹擾,一般可以採用以下辦法:  A.驅動器和電機的接地端應可靠地接地;  B.驅動器的電源輸入端加隔離變壓器和濾波器;  C.所有控制信號和檢測信號線使用屏蔽線。
  • 松下伺服驅動器維修常見問題及解決方法
    6、在我們開發的數控銑床中使用的松下交流伺服工作在模擬控制方式下,位置信號由驅動器的脈衝輸出反饋到計算機處理,在裝機後調試時,發出運動指令,電機就飛車,什麼原因?  由於交流伺服驅動器採用了逆變器原理,所以它在控制、檢測系統中是一個較為突出的幹擾源,為了減弱或消除伺服驅動器對其它電子設備的幹擾,一般可以採用以下辦法:A.驅動器和電機的接地端應可靠地接地;B.驅動器的電源輸入端加隔離變壓器和濾波器;C.所有控制信號和檢測信號線使用屏蔽線。
  • DIY arduino智能小車,遙控、自動小車
    arduino程序源碼,愛玩電子的點進來共同學習arduino智能小車,支持紅外遙控解碼,超聲波避障,HC-06藍牙模塊手機APP
  • 臺式機內存安裝圖解方法教程(雙通道)
    下面裝機之家分享一下臺式機內存安裝圖解方法教程,並教您雙通道內存條插法。臺式機內存安裝圖解方法教程1、內存安裝方法比較簡單,首先找到主板的內存插槽,將內存插槽的卡扣向外打開。目前主板的內存插槽大多數是單邊卡扣,另一頭卡扣則是固定的,我們只需要將一邊卡扣打開就可以了,當然如果主板的內存插槽是兩邊都有卡扣,需要將兩頭的卡扣向外打開即可。