電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>通過以太網(wǎng)控制的機(jī)械臂

通過以太網(wǎng)控制的機(jī)械臂

2022-11-03 | zip | 0.29 MB | 次下載 | 2積分

資料介紹

描述

介紹

我喜歡機(jī)器人手臂。我喜歡你只需要一些簡(jiǎn)單的機(jī)械部件、一些伺服器或電機(jī)、一個(gè)好的軟件,你就可以獲得一個(gè)不僅壯觀有趣而且真正有用的設(shè)備。我想建立一個(gè),因?yàn)槲矣幸粋€(gè)我非常喜歡的機(jī)器人課程。

當(dāng)你建造一個(gè)機(jī)械臂時(shí),你可以學(xué)到很多東西,所以我認(rèn)為這是一個(gè)很好的中級(jí)項(xiàng)目,可以加深你在機(jī)器人方面的知識(shí)。開始吧!

機(jī)械臂

你可以從大約 20 美元購(gòu)買機(jī)器人手臂。為了進(jìn)行實(shí)驗(yàn),我想從更便宜的開始。稍后我將建造或購(gòu)買更強(qiáng)大的機(jī)器人手臂,但現(xiàn)在我將在Banggood 制作這款25 美元的 DIY 機(jī)器人手臂。

這是一個(gè) 4DoF(自由度)機(jī)械臂,其中 3 個(gè)伺服器用于移動(dòng),一個(gè)用于執(zhí)行器(我在項(xiàng)目中將其稱為夾具)。這意味著夾具可以移動(dòng)到特定區(qū)域的任何位置,但其角度不能改變。這是一個(gè)很大的限制,但現(xiàn)在還可以,它仍然適用于很多事情。

DIY 套件帶有 4 個(gè)伺服器,因此實(shí)際上除了控制器之外,您還可以獲得構(gòu)建機(jī)器人手臂的每個(gè)組件。這些伺服器還不錯(cuò),但我更喜歡這些:

這些伺服系統(tǒng)比藍(lán)色的伺服系統(tǒng)快,并且使用金屬齒輪而不是塑料。

機(jī)器人零件有 4 個(gè)塑料片。您必須從這些表中刪除零件。

?
poYBAGNiUYiAB8rhAAncu09Sc98365.jpg
組裝機(jī)械臂
?

由一堆零件組成的機(jī)械臂套件。我建議您觀看以下視頻。在這段視頻中,一個(gè)俄羅斯人正在建造相同類型的機(jī)械臂。建筑部分于7:43開始。

?

我在包裝上獲得了有關(guān)如何構(gòu)建機(jī)械臂的鏈接,但圖像和說明的質(zhì)量都非常低。那個(gè)視頻好多了 可能你可以弄清楚什么是什么,但如果你這樣做,你最終會(huì)陷入組裝、拆卸、重新組裝的幾乎無限循環(huán)。

插入舵機(jī)時(shí)要非常小心。當(dāng)您擰緊螺絲時(shí),這種塑料的設(shè)計(jì)很容易折斷。螺釘?shù)淖罴丫o固度對(duì)機(jī)器人的其他部分也很重要。把它們弄得太緊,你就不能用伺服系統(tǒng)移動(dòng)機(jī)器人手臂的各個(gè)部分。

經(jīng)過一番搭建后,您將擁有自己的機(jī)械臂。

?
poYBAGNiUZWAbLhiAAqgBB-CNmg389.jpg
?

定位伺服系統(tǒng)有足夠長(zhǎng)的電纜,但夾具需要更長(zhǎng)的電纜。我拆開了那個(gè)伺服器,拆掉了舊電纜,我使用了至少兩倍長(zhǎng)的電纜。

好吧,機(jī)器人手臂已經(jīng)準(zhǔn)備好了,但很可能你想以某種方式控制它。為此我需要一個(gè)微控制器,因此我選擇了我的Arduino 101來完成這項(xiàng)工作。

?
poYBAGNiUZeAP0LSAABXpagkdAY172.jpg
Arduino 101
?

它是唯一使用英特爾微控制器(英特爾居里)的官方 Arduino 板。它具有內(nèi)置陀螺儀和加速度計(jì)。它也有藍(lán)牙,所以它讓我有可能在未來通過 BLE 控制機(jī)器人。該板的另一個(gè)非常有用的功能是串行通信的工作方式。與大多數(shù) Arduino 不同,USB 串行和引腳 1 和 0(TX 和 RX)上的 UART 并不相同。它有它的好處,比如當(dāng)我重新編程 Arduino 時(shí),我不必從引腳 0 和 1 斷開任何其他通信電路。它也可用于調(diào)試目的。

如果你想使用 USB 端口的串口,那么你必須使用“Serial”,如果你想使用 GPIO0 和 GPIO1 引腳,那么你有“Serial1”

?
pYYBAGNiUZqAGgujAADsebBcjp0234.png
?

Arduino 101 有 4 個(gè)支持 PWM 的 GPIO(GPIO3、GPIO5、GPIO6 和 GPIO9),我用它們來控制舵機(jī)。

溝通

我的機(jī)械臂可以通過串口進(jìn)行控制(具體為 Serial1)。為此,我使用了最新的通信模塊WIZ750SR 。

?
poYBAGNiUbOAeyE3AA68aJUpYkw989.jpg
WIZ750SR
?

這是一個(gè)帶有 Cortex-M0 MCU 的小型以太網(wǎng)模塊。它的基本功能是串行轉(zhuǎn)以太網(wǎng)模塊,但您可以輕松地重新編程模塊以滿足您的需求。如果你愿意,你可以把這個(gè)板變成一個(gè) I2C 到以太網(wǎng)板。

一個(gè)非??岬墓δ苁前遢d TCP 服務(wù)器(或客戶端)。使用 TCP 服務(wù)器,您可以遠(yuǎn)程控制 Arduino,就像您通過 USB 串行所做的一樣,但可以在世界任何地方!在 Arduino 方面,它是完全透明的。您無需在草圖中添加任何額外代碼即可使用此模塊。

?

?
pYYBAGNiUdSAKtkiABHcjhtt7Pc728.jpg
WIZ750SR 在其評(píng)估板上
?

?

我還有一個(gè) WIZ750SR-TTL-EVB 評(píng)估板。我可以為 WIZ750SR 供電并有一個(gè)調(diào)試 USB 端口,但除了一些早期的實(shí)驗(yàn)外,我沒有使用它。

?
poYBAGNiUdiAHa9KAADaPoTnnag839.png
WIZ750SR 的引腳排列
?

Arduino 101 和 WIZ750SR 都使用 3.3V,因此我不必對(duì) TX 和 RX 引腳使用電平轉(zhuǎn)換。Arduino 還通過其電源為以太網(wǎng)模塊供電。該電路非常簡(jiǎn)單,您可以在本項(xiàng)目的原理圖部分找到它。舵機(jī)有自己的 5V 電源。

?
pYYBAGNiUfuAAosBABCjy2B1Fm8771.jpg
?

設(shè)置模塊

要使用此板,您必須先對(duì)其進(jìn)行配置。我不會(huì)重新記錄這部分,因?yàn)?WIZnet 的人已經(jīng)在這里完成了,你可以確定你總是在那里獲得最新的文檔。

他們的文檔很棒,但我有一些值得了解的信息,并且我有一些(已解決的)問題值得分享。

首先,您可以從評(píng)估板的 USB 端口為開發(fā)板供電,但除此之外,此端口主要用于調(diào)試和刷寫。我相信您無法使用 USB 端口與 WIZ750SR 的 TCP 服務(wù)器通信,但如果您連接到此 COM 端口,您將收到調(diào)試信息。這讓我一開始有些困惑,因?yàn)槲也恢罆?huì)發(fā)生什么。

?
poYBAGNiUgGAUeagAAM4KlRnWkI071.jpg
用跳線短接 RX TX 引腳,以測(cè)試與回波的連接
?

其次,如果 WIZ750SR 連接到您的網(wǎng)絡(luò)時(shí)藍(lán)色 LED 亮起,那么您的板應(yīng)該正常工作,繼續(xù)使用配置工具,它應(yīng)該找到板。

當(dāng)我嘗試在配置工具中搜索設(shè)備時(shí),我最大的問題發(fā)生了。第一次它工作得很好,但后來我沒有時(shí)間,所以我停在那里。兩周后,我再次嘗試執(zhí)行此操作,但在多個(gè)操作系統(tǒng)和多個(gè)網(wǎng)絡(luò)上的計(jì)算機(jī)下再也找不到板子了。

我使用最新固件通過評(píng)估板的調(diào)試 USB 端口進(jìn)行了重新刷新,并且它工作正常。我的 Windows PC 仍然找不到它,但 Ubuntu 下的 Python 版本可以。我不確定是什么問題,但這些步驟最終解決了我的問題。成功配置 WIZ750SR 后,我的 Windows PC 也可以再次找到它,所以我繼續(xù)工作。

正如我所讀到的,帶有虛擬網(wǎng)絡(luò)適配器調(diào)用的虛擬機(jī)也會(huì)弄亂搜索,所以如果你在搜索時(shí)遇到問題,你應(yīng)該看看。

測(cè)試 TCP 通信的一個(gè)很好的工具是NetCat 。使用此軟件,您可以連接到 WIZ750SR 上的 TCP 服務(wù)器。安裝 NetCat 后,使用此命令進(jìn)行連接:

nc [tcp_server_ip] [tcp_server_port]  

之后,您可以直接從 WIZ750SR 發(fā)送和接收數(shù)據(jù)。我經(jīng)常使用這個(gè)工具。

從 A 移動(dòng)到 B

要移動(dòng)機(jī)械臂,您必須告訴控制器您想要什么。最簡(jiǎn)單的方法是直接更新所有舵機(jī)的角度。更新關(guān)節(jié)角度可以通過一些試驗(yàn)和錯(cuò)誤來完成,它實(shí)際上可以很好地工作。

瑣事:使用關(guān)節(jié)角度控制機(jī)器人手臂存在一個(gè)問題:很難找到特定 XYZ 坐標(biāo)的最佳關(guān)節(jié)角度,以及可選的 Roll、Pitch 和 Yaw 角度(世界坐標(biāo))。從關(guān)節(jié)角度和線段長(zhǎng)度獲取世界坐標(biāo)是一個(gè)非常簡(jiǎn)單的計(jì)算,但從世界坐標(biāo)獲取關(guān)節(jié)角度是一個(gè)復(fù)雜得多的過程。一種稱為逆運(yùn)動(dòng)學(xué)的解決方案就是這樣做的工具。

在我的下一個(gè)機(jī)器人手臂項(xiàng)目中,我將使用逆運(yùn)動(dòng)學(xué)來控制具有世界坐標(biāo)的機(jī)器人手臂,但現(xiàn)在我將僅使用關(guān)節(jié)角度來控制機(jī)器人。

?
pYYBAGNiUhyAauP_AA5WzZCQ9vM899.jpg
?

系統(tǒng)的速度是這里的一個(gè)關(guān)鍵點(diǎn)。伺服系統(tǒng)非???,但它們?nèi)匀恍枰獣r(shí)間才能到達(dá)接收到的位置。另一方面,跳線不喜歡快速移動(dòng),所以我不得不放慢速度。無論是在硬件部分還是軟件部分。

我通過為系統(tǒng)創(chuàng)建路徑計(jì)算并插入延遲來做到這一點(diǎn)。當(dāng)您為機(jī)器人手臂發(fā)送新的關(guān)節(jié)角度時(shí),您必須提供一個(gè)額外的參數(shù):速度(mDelay)。基本上,您是在告訴機(jī)械臂控制器循環(huán)的最小步進(jìn)時(shí)間。路徑計(jì)算器將計(jì)算每個(gè)定位伺服系統(tǒng)的可選步長(zhǎng)。這意味著所有舵機(jī)將在大約同一時(shí)間達(dá)到其目標(biāo),并且速度取決于延遲。結(jié)果是每次都非常漂亮和平滑的線性運(yùn)動(dòng)。

效應(yīng)器以不同的方式工作。基本上它只能有打開或關(guān)閉(具有3個(gè)不同級(jí)別的關(guān)閉強(qiáng)度)狀態(tài),沒有平滑過渡。顯然你會(huì)想盡快抓住物體,同時(shí)移動(dòng)應(yīng)該是平滑和漂亮的。

該系統(tǒng)目前有兩種類型的命令。這是他們兩個(gè)的示例:

  • G 1 --> 輕輕合上夾具。0 表示打開
  • A 10 130 120 110 --> 以 10 毫秒的步進(jìn)時(shí)間、130o 上關(guān)節(jié)角度??、120o 下關(guān)節(jié)角度和 110o 基礎(chǔ)旋轉(zhuǎn)器角度移動(dòng)機(jī)器人手臂。

用于遠(yuǎn)程控制的 Android 應(yīng)用程序

好的,所以此時(shí)我可以從世界任何地方控制機(jī)械臂,但我必須手動(dòng)編寫每個(gè)新命令。這種方式并不好玩。我需要一種更加用戶友好的方式來控制機(jī)械臂,所以我制作了一個(gè) Android 應(yīng)用程序來做到這一點(diǎn)。

?

該應(yīng)用程序有一個(gè) TCP 客戶端,因此它可以直接連接到 WIZ750SR 的 TCP 服務(wù)器。機(jī)械臂不存儲(chǔ)舊動(dòng)作和未來動(dòng)作的圖。它只知道當(dāng)前的目標(biāo)位置。這意味著應(yīng)用程序不僅將整個(gè)運(yùn)動(dòng)圖發(fā)送到機(jī)械臂,而且會(huì)根據(jù)位置反饋定期向機(jī)械臂發(fā)送新位置。如果您關(guān)閉應(yīng)用程序或斷開與 WIZ750SR 的連接,則機(jī)械臂將在到達(dá)最后接收到的位置后立即停止移動(dòng)。

連接到機(jī)械臂后,您將進(jìn)入配置屏幕。它包含 3 頁。第一個(gè)是 Run(稍后會(huì)詳細(xì)介紹),第二個(gè)是 Init,第三個(gè)是 Loop。Init 和 Loop 基本相同,它們唯一的區(qū)別是它們保存位置的位置。

?
pYYBAGNiUiGAfjGxAAD59y6zHqw754.png
在初始化頁面上配置屏幕
?

除了保存按鈕外,屏幕還包含 4 個(gè)搜索欄和一個(gè)抓手按鈕。這些滑塊用于設(shè)置移動(dòng)的位置和速度,而夾具按鈕用于打開或關(guān)閉效應(yīng)器。所有更改都是瞬時(shí)的,因此您會(huì)立即看到機(jī)器人手臂上的新位置,但是您必須單擊保存按鈕才能將其添加到繪圖中。這是一個(gè)簡(jiǎn)短的演示:

?

如果同時(shí)更改夾具狀態(tài)和機(jī)械臂位置,則會(huì)將其保存為兩個(gè)不同的命令。首先是夾具命令,然后是位置命令。

?
poYBAGNiUiOAWYwKAADovEkTMUE066.png
帶有 init 和 loop 塊的示例控制圖
?

如您所料,情節(jié)的運(yùn)行將從 init 開始。初始化和循環(huán)就像 Arduino 的設(shè)置和循環(huán)功能一樣工作。Init 適用于以后不會(huì)重復(fù)的動(dòng)作。當(dāng)初始化命令完成后,循環(huán)命令將隨之而來。循環(huán)命令將永遠(yuǎn)重復(fù),或者至少在您停止繪圖之前重復(fù)。如果您不需要循環(huán)或初始化,則只需將該字段留空。

這些字段是 EditText 字段,這意味著您可以輕松地編輯或刪除它們的內(nèi)容。如果您不想使用滑塊,您可以手動(dòng)編寫命令。您也可以復(fù)制和粘貼該圖。該應(yīng)用程序?qū)⒂涀∧\(yùn)行的最后一個(gè)繪圖以供以后使用。

“配置”下的第一行用作測(cè)試的視覺反饋。左側(cè)部分顯示機(jī)器人手臂的最新目標(biāo)位置(S - 發(fā)送),而右側(cè)字段是它的當(dāng)前位置(R - 接收)。只要目標(biāo)和當(dāng)前位置相同,應(yīng)用程序就會(huì)向機(jī)械臂發(fā)送一個(gè)新的目標(biāo)位置。

Received command explanation:
5 0 100 116 60 --> Speed: 5, Gripper: open (0), upper joint angle: 100, lower joint angle: 116, base rotator angle: 60

?

如您所見,當(dāng)只有 init 時(shí),機(jī)械臂在執(zhí)行完 init 命令后立即停止。

使用我的應(yīng)用程序,您可以做很多事情,但未來還有很多改進(jìn)的可能性。我計(jì)劃在圖中使用函數(shù)、條件控制、帶參數(shù)的循環(huán)等。

?

如果你想構(gòu)建一個(gè)類似的機(jī)器人,你可以在這個(gè)項(xiàng)目的代碼段中找到 Arduino 代碼和機(jī)器人手臂控制器應(yīng)用程序。

結(jié)果

我同時(shí)使用了 init 和 loop 命令,它允許我執(zhí)行一些中等復(fù)雜的任務(wù)。這是一個(gè)關(guān)于我的機(jī)器人手臂如何設(shè)置一些橡皮鴨(init)然后開始一個(gè)接一個(gè)地移動(dòng)它們的視頻,永遠(yuǎn)(循環(huán))。

?

正如您所看到的,如果您考慮到這是一個(gè)非常便宜的機(jī)械臂,具有嚴(yán)重的硬件相關(guān)限制,運(yùn)動(dòng)非常流暢、連續(xù)和準(zhǔn)確。

結(jié)論

我的軟件運(yùn)行得很好,將來我一定會(huì)努力改進(jìn)這個(gè)機(jī)械臂,或者我會(huì)建造一個(gè)更先進(jìn)的。我實(shí)現(xiàn)了我為這個(gè)項(xiàng)目計(jì)劃的一切,沒有任何嚴(yán)重的阻塞問題。

Arduino 101 非常適合這個(gè)用途。該板的唯一限制是僅有 4 個(gè)支持 PWM 的 GPIO。如果我將來構(gòu)建一個(gè)自由度更高的新機(jī)械臂可能會(huì)成為問題,但是單獨(dú)的 USB 串行和 GPIO 串行在開發(fā)過程中非常有用,并且該板還可以提供大量計(jì)算能力。

我認(rèn)為 Android 應(yīng)用程序是個(gè)好主意,但是我必須使它更健壯、用戶友好并增加其功能。目前它是一個(gè) alpha 版本。

WIZ750SR 是一個(gè)非常好的驚喜。我擔(dān)心這塊板會(huì)出現(xiàn)更多問題,但在配置之后,它工作得很好。它是完全透明的,我對(duì)此沒有任何問題。這是一個(gè)非常易于使用的設(shè)備,也是我曾經(jīng)與我的任何微控制器一起使用過的最好的以太網(wǎng)模塊。

使用機(jī)械臂工作非常有趣,所以我一定會(huì)更多地了解它,然后與您分享我的知識(shí)!感謝您的閱讀!

?
?
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)