在我們的生活中,藝術(shù)無(wú)處不在,即使是像機(jī)器人這樣冰冷的工具,也能給我們帶來(lái)很多藝術(shù)的樂(lè)趣。當(dāng)我看到尤菲的視頻時(shí),我看到了繪畫(huà)機(jī)器人的新可能性,很高興看到他們把虛擬的東西變成了一個(gè)真實(shí)的實(shí)體,它可以自動(dòng)拿著筆在紙或任何物體的表面上畫(huà)畫(huà),以及平臺(tái)繪圖不僅限于水平面,您還可以在墻上嘗試。
拉線墻繪機(jī)是一個(gè)非常早期的項(xiàng)目,但由于機(jī)器原因一直沒(méi)有更好的解決方案。最近,我們針對(duì)步進(jìn)電機(jī)支架和筆筒的問(wèn)題,闡述了一個(gè)相當(dāng)出色的解決方案。步進(jìn)電機(jī)采用28byj,體積小,接線方便,程序簡(jiǎn)單,沒(méi)有驅(qū)動(dòng)、焊接、供電等問(wèn)題,可以用Arduino直接供電。電機(jī)和主板集成了一個(gè)底座,兩邊都有一個(gè)繞線架,可以貼在任何墻上,畫(huà)板的上角。
讓我們開(kāi)始吧,看看如何制作如此出色的項(xiàng)目!
第1步:物料清單
該項(xiàng)目由以下組件組成:
ArduinoUNOR3x2
電機(jī)支架x1
28BYJ-48步進(jìn)電機(jī)驅(qū)動(dòng)板x2
SG90伺服馬達(dá)x2
微型SD卡適配器x1
Arduino傳感器護(hù)罩x1
提筆舵機(jī)x1
線軸x2
吊帶x1
跳線
筆x1
第2步:底座支架組裝
第一步很簡(jiǎn)單,首先我們找到12個(gè)大頭螺釘和12個(gè)黃銅柱,從后面擰入大頭螺釘并固定所有黃銅柱
然后我們安裝了電機(jī)驅(qū)動(dòng)板,以便Arduino驅(qū)動(dòng)步進(jìn)電機(jī)。需要電機(jī)驅(qū)動(dòng)板是因?yàn)锳rduino的輸出引腳不能直接為步進(jìn)電機(jī)提供足夠的功率,需要5V電源才能運(yùn)行。
最后,將兩個(gè)ArduinoUNO安裝在黃銅柱上,最后用最小的螺絲將SD/TF讀卡器固定在頂部。
第3步:步進(jìn)電機(jī)支架組件
這一步有很多事情要做,但并不難,只是需要更多的耐心。電機(jī)安裝有3個(gè)步驟:
1.安裝電機(jī)
準(zhǔn)備一個(gè)電機(jī)支架,將其斷開(kāi),然后根據(jù)第二張圖重新組裝電路板。
向下,用螺絲固定立管手機(jī),然后安裝電機(jī)。
2.制作線軸
將電纜環(huán)系在電纜末端,將電纜拉入電源線背面的縫隙中,然后檢查線軸周?chē)碾娎|。
在拉線的另一端,系上一根粗繩,可用于下一步的筆。然后蓋板蓋住支架板上的孔并安裝到支架上的孔中。
使用螺絲孔將電機(jī)支架安裝在繪圖板或墻壁的末端,使其處于同一水平。
提醒:繞線時(shí),記得順時(shí)針繞左梭芯,逆時(shí)針繞右梭芯。
3.筆筒總成
首先,我們需要將需要安裝的桶形筆折斷,將大端的出口貨螺絲通過(guò)口插入并擰緊。
在此之后,我們安裝無(wú)人機(jī)。如圖所示,安裝后重心在正中,運(yùn)行更平穩(wěn)。
接下來(lái),使用大端固定左右側(cè)面板和軸切口。請(qǐng)記住,轉(zhuǎn)動(dòng)軸的螺釘不應(yīng)擰緊。
確定筆的位置后,用繩子系好。在調(diào)整筆的位置時(shí),非常適合讓筆尖觸摸的極致繪圖質(zhì)量。盡可能握住筆架。
至此,電機(jī)支架就完成了。
第4步:連接
為了插上舵機(jī)設(shè)備,我們將屏蔽板插在UNO上,注意將屏蔽板引腳對(duì)準(zhǔn)UNO的接線孔。
1.拉線步進(jìn)電機(jī)M1、M2:四根信號(hào)線in1、in2、in3、in4分別對(duì)應(yīng)Arduino2、3、5、6,另一邊分別對(duì)應(yīng)7、8、9、10。電源線連接到+的VCC和-的GND。步進(jìn)電機(jī)控制板有專(zhuān)用線連接電機(jī),防假插不會(huì)錯(cuò)。
2.提筆舵機(jī)可接13。舵機(jī)線為棕色GND,紅色VCC,黃色為信號(hào)。如果您使用SD讀卡器,則可以連接到A0端口。
備注:
(可選)TF、SD讀卡器:CS接4,MoSi接11,miso接12,SCK接13#,(如果提筆舵機(jī)從13換成A0等其他端口,程序也需要做相應(yīng)的更改。見(jiàn)程序注釋。)VCC為+,GND為-(G和V可以接屏蔽板的任意一組G和V接口),3.3V不接(VCC,5V,+指電源正極。G、GND、-均為負(fù)極)
SD或TF讀卡模塊不支持SDXC以上標(biāo)準(zhǔn)卡,請(qǐng)選擇比較老的小容量卡,會(huì)有更好的性能兼容性。一般16g及以下的卡都是FAT32格式,不是NTFS或exFAT格式,可以使用。一些TF轉(zhuǎn)SD卡持有人也可能存在不兼容問(wèn)題。如果只有TF卡可用,推薦使用TF讀卡器模塊。
第5步:編程
我們會(huì)為您提供相應(yīng)的代碼,但仍有部分代碼需要根據(jù)您的實(shí)際大小進(jìn)行修改,需要修改的部分代碼如下。
1、首先運(yùn)行2Steper.ino,這個(gè)程序的作用是讓步進(jìn)電機(jī)工作并畫(huà)出擺圖,比較簡(jiǎn)單,只要調(diào)整轉(zhuǎn)數(shù)改變圖案即可。位置可能會(huì)差很多,直接運(yùn)行程序時(shí),擺臂可能會(huì)轉(zhuǎn)到完全不相關(guān)的位置,很麻煩。
2.主程序是WallDrawDemo.ino,會(huì)畫(huà)幾個(gè)圖案進(jìn)行測(cè)試。先不要裝筆(線架可以掛在筆架上),運(yùn)行程序,讓筆架空運(yùn)行一會(huì),看是否運(yùn)行范圍,是否在紙張范圍內(nèi)。如果超過(guò)了,參數(shù)還是需要調(diào)整的,幾個(gè)參數(shù)的具體功效見(jiàn)程序說(shuō)明幾個(gè)參數(shù)的作用在程序說(shuō)明中有說(shuō)明。
3.下一步是將我們的代碼上傳到Arduino板,代碼可以在這個(gè)instructable的底部找到,請(qǐng)確保您在ArduinoIDE中選擇ArduinoUno,用于您使用的設(shè)備(ArduinoUno)。
如果您不熟悉Arduino,請(qǐng)按照以下步驟操作:
通過(guò)USB將您的Arduino板連接到您的計(jì)算機(jī)
打開(kāi)ArduinoIDE(如果沒(méi)有,請(qǐng)務(wù)必從他們的官方網(wǎng)站下載)
打開(kāi)我們?cè)贗nstructable頁(yè)面底部提供的項(xiàng)目
在ArduinoIDE頂部選擇“Tools》Board》ArduinoUno”,選擇板子對(duì)應(yīng)的端口號(hào)COM((無(wú)法識(shí)別的設(shè)備請(qǐng)安裝Ch340驅(qū)動(dòng))
單擊V符號(hào)以驗(yàn)證代碼,然后在其旁邊的向右箭頭按鈕推送代碼!
2Steper.ino
WallDrawDemo.ino
第6步:上傳您想要的圖片
當(dāng)您完成前面的步驟調(diào)試后,您可以上傳自己想要的圖像進(jìn)行繪圖。
如何上傳你的圖片?
不能畫(huà)任何照片,只能畫(huà)矢量圖。幸運(yùn)的是,有些照片可以通過(guò)軟件轉(zhuǎn)換成矢量圖。(您可以使用Coreldraw、Inkscape和許多其他軟件處理)或先嘗試簡(jiǎn)單的矢量圖。
1.矢量圖要轉(zhuǎn)成gcode文件。Gcode是一個(gè)文本文件,可以用手寫(xiě)板打開(kāi)和編輯。在使用它之前,您可以瀏覽gcode中的值,這些值以實(shí)際毫米為單位,如果有成千上萬(wàn)的值可能會(huì)導(dǎo)致步進(jìn)電機(jī)在停止前轉(zhuǎn)幾個(gè)小時(shí),這是災(zāi)難性的。具體gcode規(guī)則和使用網(wǎng)上很多,大家可以自行學(xué)習(xí)。
2.Gcode文件保存在內(nèi)存卡中,Arduino從卡中讀取文件,將位置坐標(biāo)解析成步進(jìn)電機(jī)的動(dòng)作,拉動(dòng)繩子帶動(dòng)筆畫(huà)。(包中的WallDraw.ino程序可以執(zhí)行此步驟)
特別提示:
內(nèi)存卡最好是fat32格式,ntfs格式的文件可能無(wú)法讀取,尤其是32G以上容量的卡。
Gcode文件的文件名要和程序中定義的一樣,一般是“1.nc”,如果不同,請(qǐng)改成同名。
然后需要在Arduino中刷WallDrawGCode程序。使用USB數(shù)據(jù)線連接您的計(jì)算機(jī)和Arduino,然后在您的計(jì)算機(jī)上打開(kāi)CNCjs。
首先,使用XLoad將編譯好的BIN文件刷入Arduino
在XLoad中打開(kāi)我們提供給您的WallDrawGCode.ino.standard.hex文件,Device選擇Uno,端口選擇COM,波特率選擇115200(無(wú)法識(shí)別的設(shè)備請(qǐng)安裝Ch340驅(qū)動(dòng))
最后點(diǎn)擊Upload按鈕,狀態(tài)欄會(huì)顯示Uploading.。。提示,成功后關(guān)閉。
將程序上傳到Arduino后,在電腦端安裝CNCjs應(yīng)用程序,選擇Grbl,搜索后會(huì)自動(dòng)顯示端口號(hào),波特率選擇115200,打開(kāi)并建立連接。
正常連接后,控制臺(tái)會(huì)顯示如下內(nèi)容。并且有OK提示。
您可以通過(guò)在提示后輸入一個(gè)簡(jiǎn)單的GCode來(lái)測(cè)試它。
G01x0y0z0//落筆
G01Z1//提筆
如果測(cè)試OK,就可以打開(kāi)GCode文件開(kāi)始繪圖了!
第7步:結(jié)論
在制作的過(guò)程中我們也遇到了很多問(wèn)題:
1.第一個(gè)重要的一點(diǎn)是固定筆在上面只能露出一點(diǎn)筆架,不要伸出一半筆,這樣會(huì)導(dǎo)致抬不起來(lái)。
2.如果您的舵柄擺臂一直在向上移動(dòng),則不能抬起筆筒。簡(jiǎn)單的解決辦法是把伺服臂取下來(lái),換成可以抬起筆架的,然后裝在伺服主軸上。或者在程序中調(diào)整舵機(jī)的參數(shù),讓舵機(jī)改變旋轉(zhuǎn)角度。請(qǐng)勿帶電轉(zhuǎn)動(dòng)舵機(jī),否則會(huì)損壞舵機(jī)。
3.另外,繪制的圖像嚴(yán)重失真。解決方法是先確認(rèn)方向是否正常。如果用Walldrawdemo的程序測(cè)試,九紋在上,桃心在左下,蝴蝶曲線在右下。如果方向不對(duì),先參考上一題,修改方向。大多數(shù)情況下,變形是由于方向不對(duì),所以尺寸不對(duì)。如果方向正確,x軸測(cè)量的尺寸不會(huì)出現(xiàn)太大的誤差,也不會(huì)出現(xiàn)嚴(yán)重的變形。
4.注意如果電機(jī)閥芯狂轉(zhuǎn),拉線是不正常的。
5.另外一種情況是,如果你是用GCode作圖,可能是GCode中的尺寸相對(duì)于畫(huà)板尺寸來(lái)說(shuō)太大了,所以即使筆筒撞到了電機(jī)座,線軸也會(huì)不停地轉(zhuǎn)動(dòng),或線軸完全松開(kāi)后仍在旋轉(zhuǎn)。檢查GCode中是否有非常大的值,例如G01X7777Y6666或一些此類(lèi)代碼。
6.最后一點(diǎn),畫(huà)板很小,比如間距只有150mm,但是gcode超過(guò)了畫(huà)板的大小(比如使用了A3大小的文件),計(jì)算出來(lái)的值會(huì)溢出,電機(jī)將繼續(xù)選擇旋轉(zhuǎn)。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29482瀏覽量
211542 -
Arduino
+關(guān)注
關(guān)注
188文章
6491瀏覽量
190093
發(fā)布評(píng)論請(qǐng)先 登錄
ARDUINO基礎(chǔ)入門(mén),帶你進(jìn)入自制智能機(jī)器人的時(shí)代
【KittenBot機(jī)器人試用申請(qǐng)】KittenBot繪圖避障機(jī)器人學(xué)習(xí)課程
繪圖機(jī)器人求驅(qū)動(dòng)
基于stm32的繪圖機(jī)器人設(shè)計(jì) 精選資料推薦
怎樣去設(shè)計(jì)基于stm32的繪圖機(jī)器人
怎樣去設(shè)計(jì)一種基于STM32的繪圖機(jī)器人呢
設(shè)計(jì)一個(gè)低預(yù)算XY繪圖儀繪圖機(jī)器人板
一個(gè)流行的arduino nano避障機(jī)器人項(xiàng)目
Scribit墻壁繪圖機(jī)器人:一款可以在墻上涂鴉和創(chuàng)作的機(jī)器人
mXY板-低預(yù)算XY繪圖儀繪圖機(jī)器人板

制作Arduino XY繪圖儀繪圖機(jī)器人極譜儀

基于CNC的繪圖機(jī)器人Arduino GRBL CoreXY Drawbot

Arduino繪圖機(jī)器人開(kāi)源分享

評(píng)論