這篇文章是關(guān)于DIY自平衡機(jī)器人的,我將向您展示如何構(gòu)建自己的自平衡機(jī)器人。
這篇文章是關(guān)于DIY自平衡機(jī)器人的,我將向您展示如何構(gòu)建自己的自平衡機(jī)器人。我嘗試構(gòu)建該項(xiàng)目,但未能獲得預(yù)期的結(jié)果。但是這款機(jī)器人的表現(xiàn)相當(dāng)不錯(cuò)且準(zhǔn)確,盡管與我以前的機(jī)器人相比,這并不完美。
我使用定制的PCB,Arduino nano,MPU6050,A4988驅(qū)動(dòng)程序,HC-05 bt模塊,MDF板和一些硬件來構(gòu)建此自平衡機(jī)器人,詳細(xì)材料清單可在本文中找到。此項(xiàng)目中使用Balancingwii固件和EZ-GUIandroid應(yīng)用程序通過藍(lán)牙連接控制機(jī)器人。
因此,讓我們從一些基本的自平衡機(jī)器人開始。
自平衡機(jī)器人的基礎(chǔ)
自平衡機(jī)器人是指機(jī)器人通過不斷校正其位置來平衡兩個(gè)輪子。
陀螺儀傳感器用于自平衡機(jī)器人中,該傳感器連續(xù)將機(jī)器人方向數(shù)據(jù)發(fā)送到控制器。
根據(jù)該數(shù)據(jù)控制器的命令,電動(dòng)機(jī)向前或向后運(yùn)行,以保持機(jī)器人的位置筆直。
這是自平衡機(jī)器人的理想位置,身體完美地向上注視著車輪。Y軸與機(jī)器人的身體之間的夾角為零。
當(dāng)身體向前傾斜時(shí),Y軸與身體之間會(huì)有一定角度。MPU6050陀螺儀傳感器檢測(cè)到該角度,然后將此數(shù)據(jù)發(fā)送到Arduino。Arduino現(xiàn)在執(zhí)行PID計(jì)算,并命令步進(jìn)電機(jī)正向運(yùn)行,以將傾斜角最小化到零度。
如果機(jī)器人向后傾斜時(shí),電機(jī)也會(huì)向后旋轉(zhuǎn)并將傾斜角校正為零,則會(huì)發(fā)生相同的情況。機(jī)器人繼續(xù)以每秒400次的速度向前和向后反轉(zhuǎn)電動(dòng)機(jī),因此我們看起來機(jī)器人在該位置穩(wěn)定。
所需組件
Arduino Nano………………………..1個(gè)
MPU605陀螺儀傳感器……………….1個(gè)
Nema 17步進(jìn)電機(jī)………….2個(gè)
100mm車輪…………………………..2個(gè)
A4988步進(jìn)驅(qū)動(dòng)器IC…………..2個(gè)
HC-05藍(lán)牙模塊............ 1個(gè)
4mm MDF板
150mm M5螺紋桿——4個(gè)
一些螺母和螺栓
DIY自平衡機(jī)器人電氣圖紙
上圖是自平衡機(jī)器人的電路圖。
我已經(jīng)準(zhǔn)備好一塊PCB,您也可以下載Gerber文件訂購(gòu)PCB,也可以在easyeda平臺(tái)中編輯PCB。
https://easyeda.com/sharmaz747/self-balancing
注意:-訂購(gòu)PCB之前,請(qǐng)先對(duì)自己的產(chǎn)品進(jìn)行交叉檢查。
您必須需要的基本連接和最小連接如下
I2C:
A4 – SDA
A5 – SCL
D5 – STEP1(PORTD 5)
D6 – STEP2(PORTD 6)
D7 – DIR1(PORTD 7)
D8 – DIR2(PORTB 0)
D4 –啟用(均適用)
機(jī)器人構(gòu)造
以下是自平衡機(jī)器人的基本構(gòu)造圖
我
從4mm厚的MDF紙上切下了三張大小為130 x 65mm的圖片
在這里,我鉆了一些孔,以便步進(jìn)電機(jī),然后將M3桿插入所有三個(gè)MDF板上。
然后,我切成兩片20mm x 20mm鋁角,尺寸為42mm,用于安裝帶有平臺(tái)的步進(jìn)電機(jī)。
現(xiàn)在,我使用一些硬件來組裝自平衡機(jī)器人的主體。
在這里,我將M5桿插入了基礎(chǔ)平臺(tái),并借助20x20x42鋁角安裝了nema 17步進(jìn)電機(jī)。
現(xiàn)在,我將中間和頂部平臺(tái)放在M5搖桿上,并用M5螺母固定。
并將PCB放在10 mm墊片上的中間平臺(tái)上。
將1500mah 11.7 V脂糊劑放在基礎(chǔ)平臺(tái)上,并用皮帶將其固定在適當(dāng)?shù)奈恢谩?/p>
現(xiàn)在,終于將車輪固定在步進(jìn)電機(jī)的軸上,并用M3機(jī)器人將其擰緊。
這樣,我們的機(jī)器人組裝就完成了。
現(xiàn)在我們可以進(jìn)行自平衡機(jī)器人的編程了。
程式設(shè)計(jì)
下載balancewii//github.com/mahowik/BalancingWii
首先要開始對(duì)arduino進(jìn)行編程,我們需要下載一個(gè)稱為balancewii的用于平衡機(jī)器人的固件。
該固件基于用于四旋翼和多旋翼飛行無人機(jī)的Multiwii固件。您可以在此處了解有關(guān)Multiwii的更多信息http://www.multiwii.com/wiki/index.php?title=Main_Page 。
特別感謝開發(fā)此固件的Mahowik:https://github.com/mahowik
下載固件均衡wii//github.com/mahowik/BalancingWii,現(xiàn)在單擊綠色按鈕克隆或下載。固件將以ZIP格式下載到您的PC中。
現(xiàn)在解壓縮下載的文件,打開新創(chuàng)建的文件夾,并刪除圖像中突出顯示的三個(gè)文件,這根本不需要。
另外,包含balancewii.ino文件的文件夾的名稱都必須相同,否則您將得到編譯錯(cuò)誤。
現(xiàn)在,在arduino中打開balancedwii.ino文件并編譯代碼并上傳它,而無需進(jìn)行任何更改。
在上傳代碼之前,請(qǐng)不要忘記關(guān)閉BT模塊。
如果您的MPU6050方向不同,那么我需要在config.h文件中更改此行。
您可以在此處將PITCH更改為ROLL
#define CURRENT_AXIS PITCH //可以選擇ROLL或PITCH軸作為當(dāng)前軸。
默認(rèn)情況下,大多數(shù)HC-05 BT模塊都帶有默認(rèn)的9600波特率。
但對(duì)于此項(xiàng)目,請(qǐng)注意,您的HC-05 BT模塊的波特率必須為115200,否則您將無法連接android應(yīng)用
您可以通過AT命令在google上搜索HC-05 bt模塊的波特率來更改它,您將獲得許多有關(guān)它的教程。
/ *這是串行接口的速度* /
#定義SERIAL0_COM_SPEED 115200
#define SERIAL1_COM_SPEED 115200
#define SERIAL2_COM_SPEED 115200
#define SERIAL3_COM_SPEED 115200
如果您認(rèn)為機(jī)器人的響應(yīng)速度較慢,則可以嘗試在config.h文件中更改此設(shè)置,但請(qǐng)記住,這些值必須處于約束狀態(tài)。
#define MAX_SPEED 350 //應(yīng)該<= 500
#define MAX_TARGET_ANGLE 130 //其中10 = 1度,應(yīng)<= 15度(即<= 150)
#define MAX_STEERING 90 //應(yīng)該<= 100
Android應(yīng)用
EZ-GUI應(yīng)用程序是我們要在這里使用,你可以了解更多關(guān)于EZ-GUI(http://ez-gui.com/)從這里。EZ-GUI應(yīng)用程序可通過點(diǎn)擊以下或掃描下面的二維碼鏈接從Play商店免費(fèi)下載。上面下載包已包含這個(gè)apk文件。
https://play.google.com/store/apps/details?id=com.ezio.multiwii
應(yīng)用程式設(shè)定
打開下載的應(yīng)用程序,然后單擊屏幕右上角的三個(gè)點(diǎn),點(diǎn)擊設(shè)置。
在BT設(shè)備上選擇以選擇BT模塊,現(xiàn)在單擊NEXT按鈕
現(xiàn)在,從列表中選擇固件“ Multiwii 2.40”,然后單擊“下一步”,直到到達(dá)主屏幕。
單擊“連接”按鈕以連接藍(lán)牙。
按下“ AUX”按鈕
刻度線標(biāo)記如上所示。
這是我的PID設(shè)置
該P(yáng)ID設(shè)置對(duì)于您的機(jī)器人來說不是強(qiáng)制性的,每個(gè)機(jī)器人都是唯一的。PID取決于機(jī)器人的設(shè)計(jì),重心,車輪尺寸,電機(jī)類型等。嘗試不同的設(shè)置,經(jīng)過一定的嘗試,您肯定會(huì)獲得最佳的設(shè)置。
現(xiàn)在從此屏幕返回,并單擊右上角的三個(gè)點(diǎn)并轉(zhuǎn)到“高級(jí)”,然后轉(zhuǎn)未經(jīng)測(cè)試”,然后單擊“模型控件”
現(xiàn)在,這是與您玩機(jī)器人的屏幕,您可以從操縱桿上運(yùn)行自平衡機(jī)器人,
并在此屏幕上進(jìn)行嘗試不同的設(shè)置以了解更多信息。
這樣,我們的DIY自平衡機(jī)器人就可以玩了。
-
pcb
+關(guān)注
關(guān)注
4368文章
23489瀏覽量
409655 -
控制器
+關(guān)注
關(guān)注
114文章
17105瀏覽量
184267 -
機(jī)器人
+關(guān)注
關(guān)注
213文章
29735瀏覽量
212859
原文標(biāo)題:DIY 自平衡Arduino機(jī)器人-【單片機(jī)教程-創(chuàng)客】
文章出處:【微信號(hào):aidanpianji,微信公眾號(hào):?jiǎn)纹瑱C(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
盤點(diǎn)#機(jī)器人開發(fā)平臺(tái)
詳細(xì)介紹機(jī)場(chǎng)智能指路機(jī)器人的工作原理
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】視覺實(shí)現(xiàn)的基礎(chǔ)算法的應(yīng)用
【「# ROS 2智能機(jī)器人開發(fā)實(shí)踐」閱讀體驗(yàn)】+ROS2應(yīng)用案例
名單公布!【書籍評(píng)測(cè)活動(dòng)NO.58】ROS 2智能機(jī)器人開發(fā)實(shí)踐
寧德時(shí)代自研機(jī)器人團(tuán)隊(duì)成立
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人的基礎(chǔ)模塊
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】2.具身智能機(jī)器人大模型
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】1.初步理解具身智能
【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】+初品的體驗(yàn)
鴻蒙機(jī)器人與鴻蒙開發(fā)板聯(lián)動(dòng)演示
利用NVIDIA Isaac平臺(tái)構(gòu)建、設(shè)計(jì)并部署機(jī)器人應(yīng)用

構(gòu)建語(yǔ)音控制機(jī)器人 - 深入研究電路

開源項(xiàng)目!用ESP32做一個(gè)可愛的無用機(jī)器人
邁步前行養(yǎng)老產(chǎn)業(yè)康養(yǎng)第一人(機(jī)器人)

評(píng)論