電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Bracc.ino機械臂開源分享

Bracc.ino機械臂開源分享

2023-06-30 | zip | 0.04 MB | 次下載 | 免費

資料介紹

描述

描述

Bracc.ino 是一個簡單的關(guān)節(jié)臂,由 6 個伺服電機組成,由 Arduino 手柄通過藍牙控制。它是作為一個學校項目誕生的,其目的是模擬工業(yè)機器人經(jīng)過不同的嘗試,我們可以找到正確的前進方式,我們可以移動機器人。

為了創(chuàng)建最終原型,我們使用不同的生產(chǎn)方法,例如使用激光切割機制作結(jié)構(gòu),使用 3D 打印機制作銷釘、夾具和底座。

手臂運動由 Arduino 板控制。我們可以使用兩個板之間的藍牙通信發(fā)送有關(guān)要執(zhí)行哪個動作的信息我們決定使用傳感器 HC-05 來執(zhí)行此操作。

?
?
poYBAGN-0cSARfv4AAJTjuk7B90132.jpg
?
1 / 3 ?激光切割原型
?

藍牙通訊

藍牙通信包括通過射頻發(fā)送和接收信息。在不需要電線的情況下發(fā)送數(shù)據(jù)可能很有用。所以我們決定找到一種方法來為我們的機械臂創(chuàng)建一個游戲手柄。我們發(fā)現(xiàn)使用 Arduino 是可能的。使用藍牙模塊 HC-05,我們可以通過設(shè)備接收數(shù)據(jù),但是,對傳感器進行編程,我們也可以將數(shù)據(jù)發(fā)送到另一個 HC-05。所以我們找到了一種方法來編程和更改模塊配置。向?qū)Ψ桨l(fā)送數(shù)據(jù)的模塊稱為 MASTER,而接收器則稱為 SLAVE。所以這兩種配置有些不同,但有一些共同點。基本上,要點是:

  • 將兩個 Arduino 與 HC-05 傳感器連接,為 EN 引腳(或鍵)供電 5V。然后上傳一個空草圖并打開串行通信。為了簡化程序,我們可以使用兩個不同的 Arduino IDE 窗口同時連接兩個板。
  • 現(xiàn)在在串口監(jiān)視器上寫一些文字,我們可以更改藍牙配置。
?
?
?
pYYBAGN-0caAEaRNAABXgnuduO4582.jpg
?
1 / 2 ? HC-05:藍牙模塊
?
從配置:serialmonitorsequence
  • 寫“AT” ,直到回復“OK”。
  • AT+UART=38400。它設(shè)置波特率,藍牙為 38400 波特。
  • AT+角色=0。將 HC-05 設(shè)置為從屬模式。
  • AT+CMODE=0。它僅用于連接配對設(shè)備
  • AT+PSWD=1234。設(shè)置密碼。對主傳感器也使用相同的方法很重要。
主機配置:串口監(jiān)控序列
  • 寫“AT”,直到回復“OK”。
  • AT+UART=38400。它設(shè)置波特率,藍牙為 38400 波特。
  • AT+角色=1。將 HC-05 設(shè)置為主模式。
  • AT+RMAAD。清除之前配對的設(shè)備。
  • AT+復位。重置模塊。
  • AT+CMODE=0。
  • AT+INQM=0、5、9。
  • AT+初始化。
  • AT+查詢。最后三個命令幫助我們搜索從模塊。最后一條命令返回模塊附近設(shè)備的地址。
  • 現(xiàn)在我們必須復制正確的地址。如果我們有多個,我們可以控制正確的設(shè)備在“AT+RNAME=<地址>之后粘貼地址。使用逗號而不是冒號很重要。
  • 找到正確的設(shè)備,寫“AT+PAIR=
    , 9”
  • AT+BIND=<地址>。
  • AT+CMODE=1。
  • AT+LINK=<地址>
  • 如果我們收到“OK”的回復,我們就成功配對了兩個藍牙模塊。

有關(guān)配對過程的更多信息,請訪問鏈接:

http://www.martyncurrey.com/connecting-2-arduinos-by-bluetooth-using-a-hc-05-and-a-hc-06-pair-bind-and-link/

結(jié)構(gòu)說明

學校給了我們很多機會來學習如何使用激光切割和 3D 打印技術(shù)。所以我們能夠創(chuàng)建一個手臂結(jié)構(gòu),開始在 3D 軟件上繪制它,比如“SolidWorks”。然后,出于美觀的原因,我們選擇使用激光切割機生產(chǎn)結(jié)構(gòu)部件,并使用 3D 打印機制作夾具和底座。操縱桿也是由 3d 打印機創(chuàng)建的。

3D 文件可以在 GrabCAD 平臺上的鏈接中輕松找到:

https://grabcad.com/library/bracc-ino-1

?
?
?
poYBAGN-0ciAJWMuAACPnkuaSWM579.png
?
1 / 2 ?臂組件
?

手柄

pYYBAGN-0c6AFpndAAHeWksTRm8552.jpg
手柄
?

伺服

使用伺服電機移動手臂的關(guān)節(jié)。它們易于使用,帶有 Arduino 庫,我們可以非常輕松地控制電機角度。但是為了提升結(jié)構(gòu),我們必須使用一些不同的伺服,具有更高的失速扭矩。伺服MG996R,幫助我們抬起所有的手臂。此外,這種伺服是數(shù)字類型的,也就是說它們比普通的更準確。我們還必須使用 庫而不是普通的 庫。前一個有更多的功能,可以幫助我們模擬更流暢的動作。它還具有控制舵機速度和以異步方式移動它們的功能。

該庫可以在以下鏈接中找到:

https://github.com/netlabtoolkit/VarSpeedServo

?
?
?
poYBAGN-0dCAAAS3AABFF4FBflg089.jpg
?
1 / 2 ?伺服MG996R
?

抓手

機器人手臂工具現(xiàn)在是一個簡單的抓手,可以懸掛小物體并移動它們。它由我們設(shè)計并由 3d 打印機實現(xiàn)。SG90 伺服電機旋轉(zhuǎn)一個齒輪,該齒輪移動另一個并打開或關(guān)閉爪子。

?
?
?
pYYBAGN-0dKAdh5NAAB7CAufHkA975.png
?
1 / 2 ?裝配夾具
?

基礎(chǔ)軸承

另一個有用的組件是基礎(chǔ)軸承。它就像一個輔助滾珠軸承,但它是完全 3D 打印的。它有兩個圓環(huán),里面有一些滾子,它們具有特殊的形狀,可以毫無問題地滑動。主要功能是幫助底座旋轉(zhuǎn),避免在木盤上爬行。

?
?
?
pYYBAGN-0dWATvlmAABsnJZD13k083.png
?
1 / 2 ?底座軸承組件
?

命令塊-基礎(chǔ)

在手臂下方有一個塊,里面有機器人的所有電路和電池。它包含 Arduino 板、PCB 和充電電池。該底座手杖可以從地面拆卸,并且可以作為模塊化安裝到其他設(shè)備上。

?
?
?
pYYBAGN-0deABx9tAAB18vql6Cs678.png
?
1 / 2 ?接地組件
?

電路:手臂

poYBAGN-0d2AcpazAAQ34xd5pkQ669.jpg
臂電路
?

手臂電路由與HC-05的 bluettorh 接線組成,并將每個 Servo 連接到 GND、6V 和 PWM 引腳。伺服系統(tǒng)具有不同的電源線,因為它們具有更高的扭矩和更高的供應(yīng)。

電路:手柄

poYBAGN-0eGAC3JAAAVHCpLhJ9U971.jpg
手柄電路
?

操縱桿電路由相同的藍牙接線組成,增加了兩個操縱桿、兩個按鈕和一個LCD。

操縱桿由兩個微調(diào)器組成,每個微調(diào)器的值由模擬 IN 引腳讀取。按鈕也是如此,但我們必須使用數(shù)字引腳來讀取它是 HIGH(按下)還是 LOW(未按下)。

我們連接到 I2C 模塊的 LCD 顯示器減少了連接數(shù)量,打印了我們移動的伺服方式及其角度。為了使用它,我們找到了一個名為 的特定庫,可以在此處下載

https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library

印刷電路板

由于飛線和電路不清晰的問題,我們想畫一個PCB電路,像屏蔽一樣連接到Arduino Board。我們使用“EasyDA”網(wǎng)站繪制它們,并通過 JLC 網(wǎng)站訂購零件。這樣,電路更清晰,更小,使用更舒適。

?
?
?
pYYBAGN-0eOAQDvdAACEavVptRg350.png
?
1 / 2 ?操縱桿 PCB
?

代碼功能

對于編程,我們使用 Arduino IDE 軟件,它使用一種非常簡單的編程語言。我們有兩種不同的代碼,一種用于操縱桿 Arduino,另一種用于 Arm 運動。

代碼的主要功能和動作在后續(xù)流程圖中進行了說明,以便于理解。

手柄

poYBAGN-0eeAG7wuAAA3y5gnlDQ515.png
操縱桿流程圖
?

對于發(fā)送命令,我們創(chuàng)建了一個代碼列表,由不同的字母組成,表示不同的東西。每個代碼都與一個字母或數(shù)字相匹配,通過藍牙通信發(fā)送到手臂。

在這兩個代碼中都有一個“l(fā)imit()”空白,用于控制伺服角度。如果值大于最大值或小于最小值,則角度返回極限值。最大值和最小值是在第一次裝配時設(shè)置測試伺服電機的,它們可以很容易地改變,修改代碼開頭的變量。

手臂

poYBAGN-0emADIBIAAA7vlQ6QM0446.png
手臂流程圖
?

在代碼的開頭,藍牙模塊搜索數(shù)據(jù),如果收到信息,它會修改接收到的字母中的“讀取”變量,對應(yīng)一個動作。

此代碼還具有用于控制伺服角度的“限制無效”。

在代碼的 and 處有一個 moveAll() void。我們選擇使用這個函數(shù)而不是在“if”函數(shù)中更新伺服角度,因為這樣每次循環(huán)開始/結(jié)束時,伺服角度都會更新并且電機保持張力。

手臂有兩種模式;正向模式,逐個移動電機,反向模式,移動所有舵機,計算從點坐標開始的角度。

積分保存功能

手臂有趣功能是積分保存方法。它可以保存手臂位置并按順序回放。在正向模式下,代碼會記住所有舵機的角度值,而在反向模式下,它會記住一個點的坐標。

操縱桿在 LCD 上打印保存了哪個點,并在達到最大點數(shù)(實際上是五個,最后加上原點)以及重置內(nèi)存時發(fā)出警報。

反向運動模式

逆模式,而不是直接模式,使用基于逆運動學的算法來查找所有伺服角度。該計算從坐標位置 (x,y) 和夾具點的方向開始。對于這個計算,我們使用幾何方法。事實上,它是基于用 cosin 和 sin 函數(shù)構(gòu)造三角形,我們可以計算所有角度,并將這些值轉(zhuǎn)換為伺服角度。

poYBAGN-0eyAD3iBAAAqWBNkUO8517.png
要解決的角度
?

1- G'點翻譯

首先,我們必須將 G 點轉(zhuǎn)換為 G' 點以簡化逆計算。G 點的 y 也是向上平移 93,以使原點與第一個關(guān)節(jié)重合。

?
?
?
pYYBAGN-0e6AJW28AAAiJPDAf1M598.png
?
1 / 2 ? G' 翻譯
?

2-直線斜率_

現(xiàn)在我們可以計算從笛卡爾原點到 G' 點的直線的斜率“m”。

?
?
?
pYYBAGN-0fCAcTowAAAg-zRepfs318.png
?
1 / 2 ?圖形
?

3-圓形交叉口

之后,我們可以畫一個圓心在 G' 和半徑等于鏈接 3 長度的圓。我們知道圓方程,所以我們可以找到直線之間的交點,在 B 點。

簡化這兩個方程,我們可以使用二階求解方法找到 Xb 方程。我們可以通過對圓和直線方程的簡化和收集來找到a、b和c的值。

現(xiàn)在求解二次方程,我們必須取最接近原點的次要值。我們在直線方程中計算 Yb 值代替 Xb。

與使用畢達哥拉斯公式相比,我們計算了原點-B 線的長度。

?
?
?
pYYBAGN-0fKAdkFtAAA2AWjxN6g523.png
?
1 / 2 ?圖形
?

4-三角

現(xiàn)在我們可以畫一個三角形,我們知道它的三個邊,分別是“r”長度、鏈接 1 長度和鏈接 2 長度。知道三個邊后,我們可以使用 SSS(side side side)公式找到角度值。

?
?
?
poYBAGN-0feAbaZSAAAlYJ7XIwA802.png
?
1 / 2 ?圖形
?

5-三角肌

之后,我們必須找到最后一個角度,并繪制一個三角形,我們可以找到最后一個。

三角肌由兩個相等的三角形組成,我們知道它們的兩條邊(連桿 2 和連桿 3)和垂直角“delta”。所以計算對角線長度,我們可以計算出A角,我們將完成第二個關(guān)節(jié)角。

?
?
?
pYYBAGN-0fmAJhgOAAAmaFBg00w202.png
?
1 / 2 ?圖形
?

6-查找關(guān)節(jié)角度

為了將我們的角度轉(zhuǎn)換為伺服值,我們必須減去和求和我們的角度。

  • 對于 Θ1,我們將斜率的角度添加到“c^”角度。
  • 對于 Θ2,我們添加“a^”角和 A^ 角并減去 90° 以找到鏈接 1 和鏈接 2 的垂線之間的角度。
  • Θ3 是 90° 減去 delta 角。
  • Θ4 是角度和“伽馬”角減去 270°。
?
?
?
pYYBAGN-0fyAO2tCAAApi9BuA6c782.png
?
1 / 2 ?圖形
?

?

?

?


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

評論

查看更多

下載排行

本周

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2elmo直線電機驅(qū)動調(diào)試細則
  4. 4.76 MB   |  9次下載  |  6 積分
  5. 3ADL-GPIB IEEE 488命令集函數(shù)參考手冊
  6. 0.67 MB   |  2次下載  |  5 積分
  7. 4儀表培訓課件
  8. 1.82 MB   |  2次下載  |  1 積分
  9. 5PCB布線和布局電路設(shè)計規(guī)則
  10. 0.40 MB   |  2次下載  |  免費
  11. 6DTSD1352導軌式多功能電能表安裝使用說明書 V2.15
  12. 1.19 MB   |  1次下載  |  免費
  13. 7BQ79616-Q1和BQ75614-Q1 GUI用戶指南
  14. 4.51MB   |  1次下載  |  免費
  15. 8INA226EVM用戶指南
  16. 4.7MB   |  1次下載  |  免費

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2新概念模擬電路第四冊信號處理電路電子書免費下載
  4. 10.69 MB  |  60次下載  |  免費
  5. 3800VA純正弦波逆變器的參考設(shè)計
  6. 2.96MB   |  33次下載  |  免費
  7. 4純電動汽?的主要部件及?作原理
  8. 5.76 MB   |  15次下載  |  5 積分
  9. 5JESD79-5C_v1.30-2024 內(nèi)存技術(shù)規(guī)范
  10. 2.71 MB   |  10次下載  |  免費
  11. 6elmo直線電機驅(qū)動調(diào)試細則
  12. 4.76 MB   |  9次下載  |  6 積分
  13. 7明偉電源模塊RSP-3000圖紙
  14. 0.30 MB   |  8次下載  |  免費
  15. 8使用BQ76PL102系列電量計進行BQ78PL114的快速入門指南
  16. 4.04MB   |  7次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191366次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分