第1步:你需要什么 - 硬件和電子產(chǎn)品
原始項(xiàng)目設(shè)計(jì)師居住在歐洲,隨后使用公制測(cè)量和常用材料。例如,他用于身體的壓板是5mm厚的標(biāo)準(zhǔn)。美國(guó)的類(lèi)似材料是1/8“,厚度約為3.7mm。這在開(kāi)口處留下了一個(gè)間隙,最初設(shè)計(jì)為壓配合。而不是糾正圖紙,我只是使用Gorilla Glue來(lái)固定這些接頭。/p》
他還使用了M3螺紋螺母和螺栓,這些螺母和螺栓在美國(guó)當(dāng)?shù)氐奈褰鸬瓴皇菢?biāo)準(zhǔn)配置。我只是在線訂購(gòu)硬件,如下面的零件清單所示。
22 - M3 x 0.5 x 23mm支架
15 - M3 x 15mm墊片
40 - M3螺絲
M3六角螺母
M3 25mm螺絲
1 - 彈簧
3/4“雙面安裝膠帶
5 - SG 5010 TowerPro Servo
1 - SG92R TowerPro迷你伺服
1 - SG90 TowerPro迷你伺服
2.54 mm單排直針接頭
1 - 半尺寸面包板
1 - 女性/男性‘延長(zhǎng)’跳線 - 40 x 6“
1 - 12”x 24“藍(lán)色亞克力板或您喜愛(ài)的服務(wù)提供商的激光切割件
2 - 3mm x 20mm + 4mm x 5mm關(guān)節(jié)軸承墊片3D打印(見(jiàn)下文)
1 - 控制面板 *參見(jiàn)接線注意事項(xiàng)章節(jié)
1 - 漫射RGB(三色)10mm LED
1 - Arduino Uno
1 - 標(biāo)準(zhǔn)LCD 16x2 +附加功能 - 白色藍(lán)色
1 - i2c/SPI字符LCD背包
1 - Adafruit 16通道12位PWM/伺服驅(qū)動(dòng)器
1 - MCP3008 - 8通道10位A帶SPI接口的DC
3 - JoyStick分支模塊傳感器 *參見(jiàn)接線部分
DC Barrel Jack
AC至直流適配器
伺服延長(zhǎng)電纜 - 各種長(zhǎng)度
此臂的幾乎所有部件均采用1/8英寸丙烯酸切割而成。兩個(gè)關(guān)節(jié)軸承墊片確實(shí)需要然而,要打印。此外,原設(shè)計(jì)要求兩個(gè)關(guān)節(jié)間隔基座與軸承軸高7mm。當(dāng)我開(kāi)始組裝上臂時(shí),由于TowerPro伺服系統(tǒng)的高度,很快就會(huì)發(fā)現(xiàn)它們太高了。我不得不用一個(gè)只有3毫米高的底座制作新的關(guān)節(jié)軸承,順便說(shuō)一下,它仍然有點(diǎn)太高但可以控制。您需要記下伺服系統(tǒng)的相對(duì)高度并考慮兩個(gè)下臂之間的距離:
伺服高度+伺服喇叭+關(guān)節(jié)軸承+雙面膠帶= 47mm +/- 3mm。
第2步:手臂組裝
在開(kāi)始之前,請(qǐng)確保將所有的伺服系統(tǒng)!如果在施工過(guò)程中的任何時(shí)候,如果您手動(dòng)移動(dòng)伺服的位置,則需要在將其固定到框架之前重新定位。對(duì)于始終需要一致移動(dòng)的肩舵伺服系統(tǒng)尤為重要。
使用M3 25毫米螺釘和六角螺母將底座伺服系統(tǒng)安裝到頂部底板上。不要過(guò)度擰緊!
注意:您可能需要對(duì)螺紋進(jìn)行鎖緊,以盡量減少使用過(guò)程中螺母的松動(dòng)。
如果您使用我上面的零件清單,您接下來(lái)想要通過(guò)將每個(gè)M3 x 0.5 x 23mm支架螺紋連接在一起,然后用六角螺母將它們連接到上基板來(lái)組裝5個(gè)底座墊片。
用5個(gè)M3螺絲將下底板安裝到支座上。
使用丙烯酸安全粘合劑將肩板連接到兩個(gè)伺服安裝板上。我在這里使用了Gorilla Glue。
注意:兩個(gè)伺服板中的每一個(gè)都在后面有一個(gè)孔,允許插入一個(gè)加固墊片連接它們。確保孔對(duì)齊!
* 雖然您有方便的膠水,但請(qǐng)繼續(xù)將手腕安裝板與夾板主板連接。
* 您也可以選擇將腕部伺服板粘到兩個(gè)腕關(guān)節(jié)板上。我沒(méi)有選擇這樣做,而是將它們與支架連接在一起,如下所述。
將現(xiàn)已固化的肩部組件安裝到基座伺服系統(tǒng)上。我使用了伺服系統(tǒng)中最寬的喇叭,它是六根安裝喇叭。
將下臂框架添加到肩部伺服系統(tǒng)可能會(huì)非常棘手。我建議在繼續(xù)之前將喇叭固定在下臂框架上。
注意:確保在將肩胛骨組件安裝到框架上之前將其放在肩部組件的中心位置。這兩個(gè)伺服系統(tǒng)必須一致移動(dòng),如果它們未對(duì)準(zhǔn),則至少會(huì)導(dǎo)致伺服抖動(dòng),如果不對(duì)準(zhǔn),可能會(huì)損壞框架或伺服系統(tǒng)。
* 每個(gè)肩舵都安裝在安裝板背面的支架上,而不是讓舵機(jī)通過(guò)板 - 這樣就可以將喇叭推到伺服軸上以一定角度固定螺絲。尚未將伺服固定到安裝板上。
* 接下來(lái),添加內(nèi)部伺服并安裝臂
通過(guò)推動(dòng)舵機(jī)穿過(guò)空間組裝上臂框架和伺服器在手臂中然后將墊片插入兩個(gè)上臂板之間并用M3螺釘固定。
在肘關(guān)節(jié)墊片的背面添加雙面膠帶并修剪多余的膠帶。
將墊片安裝在伺服器底部,作為彎頭執(zhí)行器。
將上臂組件滑入下臂組件框架并固定伺服喇叭螺釘。
在兩個(gè)下臂板之間添加加固支架。我使用了兩個(gè)而不是全部四個(gè)來(lái)降低重量。
將雙面膠帶添加到上腕關(guān)節(jié)墊片的背面并修剪多余的膠帶。
將墊片安裝在伺服器底部,作為手腕執(zhí)行器。
將外腕板連接到腕部伺服喇叭上,并用喇叭螺絲固定。
使用兩個(gè)腕關(guān)節(jié)板和支座組裝腕部伺服板。
使用伺服夾板將腕帶伺服固定在伺服板上。
由于喇叭螺絲被打開(kāi),因此在將夾具組件連接到該喇叭之前,您需要將腕帶固定到伺服器上。
在將夾具伺服喇叭連接到伺服系統(tǒng)之前,松散地組裝夾具以便貼合。這將允許您在上一步中擰緊喇叭。
將夾具喇叭安裝到伺服器上,然后擰緊固定夾具接頭的螺釘。
注意:不要完全擰緊這些螺母和螺栓,因?yàn)樗鼈冃枰蓜?dòng)以使夾具移動(dòng)。
第3步:布線和控制面板
我將這個(gè)項(xiàng)目構(gòu)建為一個(gè)開(kāi)發(fā)平臺(tái),用于我以后的教育項(xiàng)目的一些想法。所以,我的大部分連接都是簡(jiǎn)單的杜邦連接器。我做的唯一焊接是MCP3008。如果你能為這個(gè)組件找到一個(gè)分線板,那么你應(yīng)該能夠構(gòu)建這個(gè)無(wú)焊接臂。
有三組組件:
輸入 - 這些項(xiàng)目從用戶獲取信息,由操縱桿和mcp3008 ADC組成。
輸出 - 這些項(xiàng)目通過(guò)向用戶顯示狀態(tài)或使用位置數(shù)據(jù)更新伺服來(lái)向世界傳達(dá)數(shù)據(jù)。這些項(xiàng)目是LCD屏幕,LCD背包,RGB LED,伺服驅(qū)動(dòng)板和最后的伺服。
處理 - Arduino匯總了最后一個(gè)從輸入接收數(shù)據(jù)的組,并根據(jù)代碼指令將數(shù)據(jù)輸出到輸出。
上面的Fritzing原理圖詳細(xì)介紹了所有組件的引腳連接。
輸入
我們將從輸入開(kāi)始。操縱桿是模擬設(shè)備 - 意味著它們呈現(xiàn)可變電壓作為Arduino的輸入。三個(gè)操縱桿中的每一個(gè)都有兩個(gè)模擬輸出,用于X和Y(上,下,左),共有6個(gè)輸入到Arduino。雖然Arduino Uno有6個(gè)模擬輸入可供使用,但我們需要使用其中兩個(gè)引腳進(jìn)行與屏幕和伺服控制器的I2C通信。
因此,我整合了MCP3008模數(shù)轉(zhuǎn)換器(ADC)。該芯片最多可接收8個(gè)模擬輸入,并通過(guò)Arduino的SPI通信引腳將其轉(zhuǎn)換為數(shù)字信號(hào),如下所示:
MCP引腳1-6 》 可變輸出拇指操縱桿
MCP針腳7和8 》 無(wú)連接
MCP針腳9(DGND)》 接地
MCP引腳10(CS/SHDN)》 Uno引腳12
MCP引腳11(DIN)》 Uno引腳11
MCP引腳12(DOUT)》 Uno引腳10
MCP引腳13(CLK)》 Uno引腳9
MCP引腳14(AGND)》 接地
MCP引腳15和16 》 + 5V
示意圖中僅示出了原理圖中的操縱桿連接。根據(jù)購(gòu)買(mǎi)的操縱桿及其安裝方式,您的連接可能與我的不同。不同品牌的操縱桿可以具有不同的引出線,并且還可以不同地定向X和Y.重要的是了解ADC上的每個(gè)輸入代表什么。每個(gè)引腳代表我的代碼中的以下關(guān)系:
引腳1 - 基極 - 此引腳上的模擬數(shù)據(jù)將旋轉(zhuǎn)機(jī)器人上的最低伺服
針腳2 - 肩部 - 此針腳上的模擬數(shù)據(jù)將旋轉(zhuǎn)基座伺服上方的兩個(gè)伺服電機(jī)
針腳3 - 肘部 - 此引腳上的模擬數(shù)據(jù)將從肩舵旋轉(zhuǎn)下一個(gè)伺服
引腳4 - UP/DN手腕 - 此引腳上的模擬數(shù)據(jù)將旋轉(zhuǎn)腕部伺服,上升和降低夾具組件
針腳5 - 夾具 - 此針上的模擬數(shù)據(jù)將打開(kāi)和關(guān)閉夾具
針6 - 旋轉(zhuǎn)手腕 - 此針上的模擬數(shù)據(jù)將旋轉(zhuǎn)夾具
注意:購(gòu)買(mǎi)和安裝零件清單中引用的拇指操縱桿時(shí),請(qǐng)記住模塊的方向可能與我的不同,因此,測(cè)試x和y輸出以正確連接到ADC。此外,如果您使用我的3D打印控制面板,安裝孔可能會(huì)偏離我的。
輸出
Adafruit PWM/伺服控制器使這個(gè)項(xiàng)目變得非常簡(jiǎn)單。只需將Servos連接到伺服頭,即可處理所有電源和信號(hào)連接。除非您發(fā)現(xiàn)帶有超長(zhǎng)引線的伺服電機(jī),否則您需要獲得一組不同長(zhǎng)度的伺服電纜延長(zhǎng)線,以便所有伺服電纜都能連接到控制器板。
伺服電機(jī)連接如下:
位置0 - 基礎(chǔ)伺服
位置1 - 肩部伺服(伺服Y電纜)
位置2 - 彎頭伺服
位置3 - 手腕1伺服
位置4 - 夾持器伺服
位置5 - 手腕2伺服
此外,VCC和V +都連接到+5 V和GND連接到地。
注1:這里有一個(gè)大注: 整個(gè)項(xiàng)目的供電電壓是通過(guò)伺服控制板上的電源接線盒。伺服控制器上的V +引腳實(shí)際上是從接線盒向電路的其余部分供電。 如果您需要對(duì)Uno進(jìn)行編程,我強(qiáng)烈建議在將Uno連接到PC之前斷開(kāi)V +引腳,因?yàn)閺乃欧鳙@取的電流可能會(huì)損壞您的USB端口。
注2:我正在使用6V AC到DC墻式適配器為項(xiàng)目供電。我推薦一個(gè)可以提供至少4A電流的適配器,這樣當(dāng)一個(gè)或多個(gè)伺服電機(jī)被綁定時(shí),電流的突然上升不會(huì)使系統(tǒng)掉電并重置Arduino。
16X2 LCD屏幕連接到Adafruit LCD背包,以利用伺服控制器已經(jīng)使用的I2C接口。伺服控制器上的SCL和背包上的CLK都連接到Uno上的Pin A5。同樣,伺服控制器上的SDA和背包上的DAT都連接到Uno上的Pin A4。此外,5V連接到+5伏,GND連接到地。背包上的LAT沒(méi)有任何連接。
最后,RGB LED連接到Uno上的引腳7(紅色),6(綠色)和5(藍(lán)色)。 LED的接地極通過(guò)一個(gè)330歐姆的電阻連接到地。
處理
最后但并非最不重要的是,未列出剩余的Arduino連接以上內(nèi)容如下:引腳5V連接到+5伏,GND連接到地。
在我的設(shè)置中,我使用面包板的側(cè)軌將所有電源線和地線連接在一起,并將所有設(shè)備的I2C引腳連接在一起。
第4步:代碼
如前所述,我最初將此項(xiàng)目構(gòu)建為本地制作者的演示馬戲團(tuán)。我打算讓它成為兒童和成人在我們的展位上玩耍的東西。事實(shí)證明,它比我想象的更受歡迎 - 所以,孩子們正在爭(zhēng)奪它。因此,當(dāng)重新編寫(xiě)時(shí),我加入了一個(gè)實(shí)現(xiàn)時(shí)間限制的“演示模式”。
手臂坐在那里等著有人移動(dòng)操縱桿,當(dāng)他們這樣做時(shí),開(kāi)始一個(gè)60秒的計(jì)時(shí)器。在60秒結(jié)束時(shí),它停止從用戶輸入并“休息”15秒。短暫的注意力集中在他們身上,這個(gè)休息時(shí)間大大減少了對(duì)堅(jiān)持時(shí)間的爭(zhēng)奪。
基本操作
以下參考部分列出的代碼非常簡(jiǎn)單。數(shù)組使用最小,最大范圍,原始位置和當(dāng)前位置跟蹤6個(gè)關(guān)節(jié)。當(dāng)手臂通電時(shí),啟動(dòng)功能定義了與MCP3008,LCD背包(以及隨后的屏幕)通信所需的庫(kù),并定義了LED引腳。從那里它做了一個(gè)基本的系統(tǒng)檢查,然后繼續(xù)回家。主頁(yè)功能從夾具開(kāi)始向下移動(dòng)到底座,這樣可以最大限度地減少在正常情況下綁定的可能性。如果手臂完全伸展,那么在給手臂供電之前最好手動(dòng)將其固定住。由于通用伺服系統(tǒng)不提供其位置的反饋,因此我們需要將每個(gè)伺服系統(tǒng)放置在預(yù)定義的位置并跟蹤每個(gè)位置的移動(dòng)距離。
主回路首先以等待模式啟動(dòng) - 尋找操縱桿離開(kāi)其中心位置。一旦發(fā)生這種情況,主循環(huán)會(huì)將狀態(tài)更改為倒計(jì)時(shí)狀態(tài)。當(dāng)用戶移動(dòng)每個(gè)操縱桿時(shí),操縱桿相對(duì)于中心的相對(duì)位置將增加或減去當(dāng)前已知位置并更新適當(dāng)?shù)乃欧R坏┧欧髟谝粋€(gè)方向上達(dá)到其定義的極限,操縱桿就會(huì)停止。用戶需要向另一個(gè)方向移動(dòng)操縱桿才能再次移動(dòng)操縱桿。這是對(duì)伺服器施加的軟件限制,無(wú)論其硬件停止如何。此功能允許您在需要時(shí)將手臂的移動(dòng)保持在指定的操作區(qū)域內(nèi)。如果將操縱桿釋放到中心,則移動(dòng)將停止。
這段代碼只是一個(gè)普遍的起點(diǎn)。您可以根據(jù)需要添加自己的模式。一個(gè)示例可以是無(wú)定時(shí)器的連續(xù)運(yùn)行模式,或者可以將操縱桿按鈕添加為輸入并寫(xiě)入記錄/回放模式。
-
機(jī)械臂
+關(guān)注
關(guān)注
13文章
551瀏覽量
25305
發(fā)布評(píng)論請(qǐng)先 登錄
GZCOM-NET:為機(jī)械臂測(cè)試帶來(lái)高效無(wú)線解決方案!

海康威視推出大模型機(jī)械臂防碰撞相機(jī)
如何使用PLC控制myCobot 320機(jī)械臂

使用myCobot 280機(jī)械臂結(jié)合ROS2系統(tǒng)搭建機(jī)械分揀站

深度解析!RK3568 加持機(jī)械臂是如何實(shí)現(xiàn)顏色識(shí)別與抓取的?

RK3568國(guó)產(chǎn)實(shí)驗(yàn)箱+人工智能機(jī)械臂:跳舞、疊羅漢、夾方塊、積木搬運(yùn)案例全解!

凌科電氣新品發(fā)布:揭秘機(jī)械臂高可靠連接器解決方案
“雙保險(xiǎn)”鎖緊機(jī)制:YM28系列連接器為機(jī)械臂提供高牢靠的大電流連接

機(jī)械臂的高效運(yùn)作,連接器起關(guān)鍵作用
工業(yè)產(chǎn)線機(jī)械臂數(shù)字孿生 流程工業(yè)應(yīng)用

【原創(chuàng)】 drawbot 平面機(jī)械臂scara寫(xiě)字畫(huà)畫(huà)機(jī)器人DIY教程貼
OrangePi AIpro應(yīng)用:機(jī)械臂應(yīng)用開(kāi)發(fā)指南

評(píng)論