ArduinoMini數(shù)控繪圖機(jī)。圖中這臺(tái)繪圖機(jī)是改進(jìn)版,我對(duì)原有繪圖機(jī)的結(jié)構(gòu)和準(zhǔn)確度都進(jìn)行了一定的提升。好好閱讀這篇文章,相信你也能輕松搞定自己的ArduinoMini繪圖機(jī)。
簡(jiǎn)述:
在X軸和Y軸上,我們要用到兩個(gè)步進(jìn)電機(jī)和DVD/CD驅(qū)動(dòng)器上的滑軌。在Z軸上,我們也會(huì)用到一個(gè)小型的伺服電機(jī),用來(lái)驅(qū)動(dòng)繪圖筆上下移動(dòng)。在安裝基座上,我們則會(huì)用到樹(shù)脂玻璃。
我本想將它搞成雕刻機(jī)和繪圖機(jī)的兩用版本,但經(jīng)過(guò)了數(shù)次實(shí)驗(yàn),我發(fā)現(xiàn)這臺(tái)機(jī)器只能掛載繪圖筆,有些可惜了。
基于Arduino開(kāi)發(fā)板的電路使用了ATmega328單片機(jī),2塊L293D集成電路驅(qū)動(dòng)器和USB串行適配器。用ArduinoUno開(kāi)發(fā)板和一塊面包板就能輕松搞定這一切。
想要打印你的繪圖作品?只要加裝一個(gè)藍(lán)牙模塊就好。
第一步:所需材料
提示:不懂的部分可以參考圖片。
各部分硬件都購(gòu)自,不過(guò)相信在萬(wàn)能的淘寶也可以買(mǎi)齊。
制作電路時(shí)你需要
新手清單:
Arduinouno
面包板
2臺(tái)L293D集成電路電機(jī)驅(qū)動(dòng)器
迷你伺服電機(jī)
2個(gè)DVD或CD驅(qū)動(dòng)器
老鳥(niǎo)清單:
ATmega328p(刷入Arduino的Bootloader)
28針的DIP集成電路插座
16MHz晶體振蕩器
2塊22pF和1塊100nF的電容
10k的電阻器
USB串行適配器
2塊L293D集成電路
迷你伺服電機(jī)
2個(gè)DVD或CD驅(qū)動(dòng)器
原型PCB電路板
4個(gè)兩針的螺絲端子接頭或2個(gè)四針的螺絲端子接頭
你還需要一臺(tái)ArduinoUNO來(lái)為ATmega328單片機(jī)編程。
有了USB串行適配器,就可以像ArduinoUno那樣連接電腦和電路板了。
為什么還要用到螺絲端子接頭呢?因?yàn)樵谡业秸_的組合前我們不愿輕易使用烙鐵,要不然焊錯(cuò)了可就麻煩了。
制作安裝基座時(shí)你需要:
為X軸準(zhǔn)備一塊20x16厘米的樹(shù)脂玻璃(厚度控制在5毫米左右)。
為Y軸準(zhǔn)備兩塊14x4厘米的樹(shù)脂玻璃(厚度同上)。
約20個(gè)螺母、螺釘和墊片。
一些墊圈。
四個(gè)支撐角(最好為塑料材質(zhì))
如果沒(méi)有樹(shù)脂玻璃,你也可以用木頭,金屬或者CD和DVD驅(qū)動(dòng)器的邊角料。
工具:
螺絲刀
烙鐵
焊料
電鉆
切割工具
強(qiáng)力膠
第二步:步進(jìn)電機(jī)
首先,我們要拆掉dvd/cd驅(qū)動(dòng)器,您切將上面的步進(jìn)電機(jī)取下來(lái)。如圖1所示,用螺絲刀將其大卸八塊并取下滑軌。
好了,現(xiàn)在我們就有了兩臺(tái)步進(jìn)電機(jī)了,下一步要給它焊些線(xiàn)備用。在開(kāi)始之前,請(qǐng)參閱下圖2。下面我們要找到最好的線(xiàn)路搭配,所以可以請(qǐng)出萬(wàn)用表了,用兩個(gè)鱷魚(yú)夾夾住線(xiàn)路(如圖3所示),然后將其放在“短路”功能上。一般來(lái)說(shuō)第一跟第二條線(xiàn)都會(huì)使電路閉合,此時(shí)LED會(huì)亮起,同時(shí)警報(bào)聲也會(huì)響起,但這也意味著我們找到了第一項(xiàng)電機(jī),而第三和第四根線(xiàn)則會(huì)引出第二項(xiàng)電機(jī)。
在這臺(tái)數(shù)控繪圖機(jī)中,使用線(xiàn)一和線(xiàn)三的步進(jìn)電機(jī)為第一項(xiàng)電機(jī),而使用線(xiàn)二和線(xiàn)四的則為第二項(xiàng)電機(jī)。
找好了線(xiàn)路搭配我們就能開(kāi)始進(jìn)行下一步了。
第三步:安裝基座,X軸和Y軸
X軸:
先將一個(gè)步進(jìn)電機(jī)放在一塊較大的樹(shù)脂玻璃上,隨后用馬克筆標(biāo)出其具體位置,以便隨后為螺絲打孔。請(qǐng)一定確保其位置精確無(wú)誤,然后就可用電鉆打孔并用螺絲將電機(jī)固定緊。
下一步就輪到我們準(zhǔn)備好的四個(gè)支撐角了,為它們找好位置并用馬克筆標(biāo)注,它們之間的間隔為5毫米。隨后如圖二所示,為它們打八個(gè)螺絲孔并用螺絲將其固定牢。
Y軸:
將另一個(gè)步進(jìn)電機(jī)放在兩塊樹(shù)脂玻璃上并用馬克筆標(biāo)明其詳細(xì)位置,隨后重復(fù)上面的步驟,在樹(shù)脂玻璃上打四個(gè)孔以便用螺絲將其固定。
隨后將這兩塊樹(shù)脂玻璃放在X軸那塊較大的樹(shù)脂玻璃上,接著重復(fù)上述步驟將其固定好。
完成裝配: 打好該打的眼,裝好改裝的螺絲,我們的裝配就完成了。我在X軸那塊樹(shù)脂玻璃上安了一塊金屬板,它上面會(huì)放置便簽紙供繪圖機(jī)進(jìn)行繪制。一般的便簽紙都是75x75毫米的,但我們的繪圖機(jī)只能繪出40x40毫米的圖片,所以你要對(duì)其尺寸進(jìn)行相應(yīng)的修改。記住,這個(gè)項(xiàng)目中精度是非常重要的。 第四步:Z軸 |
這恐怕是結(jié)構(gòu)中最為復(fù)雜的部分了。 想將它安裝安裝在Y軸上,你需要一個(gè)平面。在這個(gè)平面上,你要安裝好伺服電機(jī)(Z軸)和筆架。在伺服電機(jī)的驅(qū)動(dòng)下,繪圖筆要能正常的上下移動(dòng)。如果還是不太清楚,請(qǐng)參考上圖進(jìn)行理解。 |
提示:充分發(fā)揮自己的想象力。 第五步:電路 搞定了第四步,我們的基礎(chǔ)硬件部分就制作完成了,現(xiàn)在可以開(kāi)始制作電路并對(duì)X軸和Y軸的步進(jìn)電機(jī)進(jìn)行測(cè)試了。 |
上圖為面包板的電路圖。 完成這一步需要你的耐心。下一步中我們還會(huì)對(duì)X軸和Y軸的步進(jìn)馬達(dá)進(jìn)行測(cè)試。如果它們工作不正常,你就要及時(shí)改變線(xiàn)路的連接方式。 電源: 一個(gè)USB接口可無(wú)法提供足夠的電流,所以你還得再加一根USB線(xiàn)。接上電源后,電壓依然為5V,不過(guò)電流已經(jīng)翻番了。 |
注意: 如果你想用其他的硬件,如電機(jī)端罩或步進(jìn)電機(jī)驅(qū)動(dòng)電路等,就得對(duì)以上電路和Arduino代碼進(jìn)行修改。當(dāng)然,具體的修改細(xì)節(jié)我無(wú)能為力,你可以在網(wǎng)上搜索相關(guān)教程。 第六步:在X軸和Y軸測(cè)試步進(jìn)電機(jī) 下面是我們測(cè)試X軸和Y軸的代碼,你可以用Codebender將其嵌入Arduino開(kāi)發(fā)板。 |
Codebender是一個(gè)在線(xiàn)的ArduinoIDE,你可以直接在瀏覽器上對(duì)你的Arduino開(kāi)發(fā)板進(jìn)行編程,只要點(diǎn)擊"RunonArduino"按鈕就可以開(kāi)始了,強(qiáng)烈推薦大家嘗試。 X軸: 在測(cè)試中,你得確保X軸的電機(jī)能從前方移動(dòng)到后方(上圖中黑色箭頭)。 代碼下載 Y軸: 在測(cè)試中,你得確保Y軸的電機(jī)能從左方移動(dòng)到右方(上圖中紅色箭頭)。 第七步:數(shù)控代碼 下面是我們要用到的主要的數(shù)控代碼,你可以用Codebender將其嵌入Arduino開(kāi)發(fā)板。 在這一步中,你的繪圖筆會(huì)升上來(lái)。如果它沒(méi)反應(yīng),你得修改下penUp和penDown的變量,這樣就可以對(duì)伺服電機(jī)進(jìn)行調(diào)整(只需點(diǎn)擊Edit編輯按鈕)。 點(diǎn)擊“RunonArduino”按鈕就可以從瀏覽器上對(duì)你的開(kāi)發(fā)板進(jìn)行編程了。 第八步:GCTRL程序 |
現(xiàn)在我們就可以開(kāi)始繪制我們第一幅畫(huà)作了。不過(guò)在這里我們還需要一個(gè)名為gctrl.pde的處理程序,它可以將gcode圖片發(fā)送給數(shù)控繪圖機(jī)。 那么什么是gcode呢?其實(shí)它是一個(gè)文檔,其中包含了相關(guān)的X,Y,Z軸坐標(biāo)信息。頭文件的坐標(biāo)值設(shè)定如下: M300S30.00(伺服電機(jī)向下) G1X20.00Y10.00F2500.00 M300S50.00(伺服電機(jī)向上) 你可以點(diǎn)擊鏈接下載該處理程序,隨后找到能打開(kāi)它的相關(guān)軟件并點(diǎn)擊“Play”按鈕來(lái)開(kāi)啟程序。 依照上圖的指示: 點(diǎn)擊'p'并選擇你的Arduino串行端口。 點(diǎn)擊'g'并選擇'TEXT.gcode'或'gear.gcode'文檔。 (如果運(yùn)行出錯(cuò),請(qǐng)點(diǎn)擊'x'讓繪圖機(jī)停下來(lái),然后再試一次。) 第九步:怎樣制作自己的gcode文檔 想要制作自己的gcode文檔,你得使用Inkscape。 Inkscape是一款免費(fèi)的專(zhuān)業(yè)的高質(zhì)量矢量圖形軟件,無(wú)論是Windows,MacOSX還是Linux都可以順利運(yùn)行,它不但是專(zhuān)業(yè)設(shè)計(jì)師的最?lèi)?ài),還是業(yè)余愛(ài)好者的神器,你可以用該軟件做出插圖,圖標(biāo),地圖,標(biāo)志等。Inkscape的原生格式為W3CopenstandardSVG,此外它還是一款開(kāi)源軟件。你可以點(diǎn)擊鏈接下載該軟件(記得要下載0.48.5版本)。 下載完成后你需要安裝一個(gè)附加組件,這樣才能將輸出的圖片轉(zhuǎn)為gcode文檔。下面是該附加組件的下載鏈接,該軟件有安裝提示,上手無(wú)難度。 |
Inkscape的設(shè)置 首先,打開(kāi)Inkscape,進(jìn)入文件菜單并點(diǎn)擊"DocumentProperties",隨后按照上圖中圖1的提示進(jìn)行相關(guān)調(diào)整(記得將相關(guān)單位調(diào)為厘米)。設(shè)置好后就可以關(guān)閉該窗口了,下面我們要使用屏幕上4到8厘米的空白區(qū)域(如圖2)。 怎樣繪制文本 文本方面,你可以對(duì)其朝向和大小進(jìn)行修改。步驟:點(diǎn)擊游標(biāo)為文本設(shè)定大小(如圖3所示),在面板上選擇Path并在下拉菜單中點(diǎn)擊"ObjecttoPath"。 怎樣繪制圖片 這一步要比繪制文本難得多,因?yàn)閳D片的背景必須是透明的。將圖片拖曳進(jìn)Inkscape,點(diǎn)擊OK進(jìn)入下一個(gè)界面,現(xiàn)在你就可以調(diào)整圖片尺寸了(如圖4)。步驟:點(diǎn)擊菜單中的Path,并選擇"TraceBitmap",隨后按照?qǐng)D5所示對(duì)其進(jìn)行修改。搞定后點(diǎn)擊OK并關(guān)閉窗口。接著我們要調(diào)整灰度圖并刪除其背景顏色。然后再次點(diǎn)擊Path并選擇"Objecttopath",圖6會(huì)教你如何刪除圖像輪廓。 以gcode文檔格式進(jìn)行輸出 最后,返回文件菜單,點(diǎn)擊以gcode文檔保存并在下一個(gè)界面點(diǎn)擊OK,這樣就大功告成了。隨后你就可以開(kāi)心的用gctrl應(yīng)用在你的Arduino數(shù)控繪圖機(jī)上繪圖了。 |
第十步:完工 如果能按上面的步驟一步步走下來(lái),相信你已經(jīng)制作出自己的數(shù)控繪圖機(jī)了,希望你能喜歡。 |
|
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5050瀏覽量
97471 -
Arduino
+關(guān)注
關(guān)注
188文章
6469瀏覽量
187068
原文標(biāo)題:[ 單片機(jī) ] 舊DVD驅(qū)動(dòng)器DIY一個(gè)Arduino Mini數(shù)控繪圖機(jī)
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論