這篇文章是關(guān)于DIY自平衡機器人的,我將向您展示如何構(gòu)建自己的自平衡機器人。
這篇文章是關(guān)于DIY自平衡機器人的,我將向您展示如何構(gòu)建自己的自平衡機器人。我嘗試構(gòu)建該項目,但未能獲得預(yù)期的結(jié)果。但是這款機器人的表現(xiàn)相當(dāng)不錯且準(zhǔn)確,盡管與我以前的機器人相比,這并不完美。
我使用定制的PCB,Arduino nano,MPU6050,A4988驅(qū)動程序,HC-05 bt模塊,MDF板和一些硬件來構(gòu)建此自平衡機器人,詳細材料清單可在本文中找到。此項目中使用Balancingwii固件和EZ-GUIandroid應(yīng)用程序通過藍牙連接控制機器人。
因此,讓我們從一些基本的自平衡機器人開始。
自平衡機器人的基礎(chǔ)
自平衡機器人是指機器人通過不斷校正其位置來平衡兩個輪子。
陀螺儀傳感器用于自平衡機器人中,該傳感器連續(xù)將機器人方向數(shù)據(jù)發(fā)送到控制器。
根據(jù)該數(shù)據(jù)控制器的命令,電動機向前或向后運行,以保持機器人的位置筆直。
這是自平衡機器人的理想位置,身體完美地向上注視著車輪。Y軸與機器人的身體之間的夾角為零。
當(dāng)身體向前傾斜時,Y軸與身體之間會有一定角度。MPU6050陀螺儀傳感器檢測到該角度,然后將此數(shù)據(jù)發(fā)送到Arduino。Arduino現(xiàn)在執(zhí)行PID計算,并命令步進電機正向運行,以將傾斜角最小化到零度。
如果機器人向后傾斜時,電機也會向后旋轉(zhuǎn)并將傾斜角校正為零,則會發(fā)生相同的情況。機器人繼續(xù)以每秒400次的速度向前和向后反轉(zhuǎn)電動機,因此我們看起來機器人在該位置穩(wěn)定。
所需組件
Arduino Nano………………………..1個
MPU605陀螺儀傳感器……………….1個
Nema 17步進電機………….2個
100mm車輪…………………………..2個
HC-05藍牙模塊............ 1個
4mm MDF板
150mm M5螺紋桿——4個
一些螺母和螺栓
DIY自平衡機器人電氣圖紙
上圖是自平衡機器人的電路圖。
我已經(jīng)準(zhǔn)備好一塊PCB,您也可以下載Gerber文件訂購PCB,也可以在easyeda平臺中編輯PCB。
https://easyeda.com/sharmaz747/self-balancing
注意:-訂購PCB之前,請先對自己的產(chǎn)品進行交叉檢查。
您必須需要的基本連接和最小連接如下
I2C:
A4 – SDA
A5 – SCL
電機驅(qū)動器引腳:
D5 – STEP1(PORTD 5)
D6 – STEP2(PORTD 6)
D7 – DIR1(PORTD 7)
D8 – DIR2(PORTB 0)
D4 –啟用(均適用)
機器人構(gòu)造
以下是自平衡機器人的基本構(gòu)造圖
我
從4mm厚的MDF紙上切下了三張大小為130 x 65mm的圖片
在這里,我鉆了一些孔,以便步進電機,然后將M3桿插入所有三個MDF板上。
然后,我切成兩片20mm x 20mm鋁角,尺寸為42mm,用于安裝帶有平臺的步進電機。
現(xiàn)在,我使用一些硬件來組裝自平衡機器人的主體。
在這里,我將M5桿插入了基礎(chǔ)平臺,并借助20x20x42鋁角安裝了nema 17步進電機。
現(xiàn)在,我將中間和頂部平臺放在M5搖桿上,并用M5螺母固定。
并將PCB放在10 mm墊片上的中間平臺上。
將1500mah 11.7 V脂糊劑放在基礎(chǔ)平臺上,并用皮帶將其固定在適當(dāng)?shù)奈恢谩?/p>
現(xiàn)在,終于將車輪固定在步進電機的軸上,并用M3機器人將其擰緊。
這樣,我們的機器人組裝就完成了。
現(xiàn)在我們可以進行自平衡機器人的編程了。
程式設(shè)計
下載balancewii//github.com/mahowik/BalancingWii
首先要開始對arduino進行編程,我們需要下載一個稱為balancewii的用于平衡機器人的固件。
該固件基于用于四旋翼和多旋翼飛行無人機的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)建的文件夾,并刪除圖像中突出顯示的三個文件,這根本不需要。
另外,包含balancewii.ino文件的文件夾的名稱都必須相同,否則您將得到編譯錯誤。
現(xiàn)在,在arduino中打開balancedwii.ino文件并編譯代碼并上傳它,而無需進行任何更改。
在上傳代碼之前,請不要忘記關(guān)閉BT模塊。
如果您的MPU6050方向不同,那么我需要在config.h文件中更改此行。
您可以在此處將PITCH更改為ROLL
#define CURRENT_AXIS PITCH //可以選擇ROLL或PITCH軸作為當(dāng)前軸。
默認情況下,大多數(shù)HC-05 BT模塊都帶有默認的9600波特率。
但對于此項目,請注意,您的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
如果您認為機器人的響應(yīng)速度較慢,則可以嘗試在config.h文件中更改此設(shè)置,但請記住,這些值必須處于約束狀態(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)用程序可通過點擊以下或掃描下面的二維碼鏈接從Play商店免費下載。上面下載包已包含這個apk文件。
https://play.google.com/store/apps/details?id=com.ezio.multiwii
應(yīng)用程式設(shè)定
打開下載的應(yīng)用程序,然后單擊屏幕右上角的三個點,點擊設(shè)置。
在BT設(shè)備上選擇以選擇BT模塊,現(xiàn)在單擊NEXT按鈕
現(xiàn)在,從列表中選擇固件“ Multiwii 2.40”,然后單擊“下一步”,直到到達主屏幕。
單擊“連接”按鈕以連接藍牙。
按下“ AUX”按鈕
刻度線標(biāo)記如上所示。
這是我的PID設(shè)置
該PID設(shè)置對于您的機器人來說不是強制性的,每個機器人都是唯一的。PID取決于機器人的設(shè)計,重心,車輪尺寸,電機類型等。嘗試不同的設(shè)置,經(jīng)過一定的嘗試,您肯定會獲得最佳的設(shè)置。
現(xiàn)在從此屏幕返回,并單擊右上角的三個點并轉(zhuǎn)到“高級”,然后轉(zhuǎn)未經(jīng)測試”,然后單擊“模型控件”
現(xiàn)在,這是與您玩機器人的屏幕,您可以從操縱桿上運行自平衡機器人,
并在此屏幕上進行嘗試不同的設(shè)置以了解更多信息。
這樣,我們的DIY自平衡機器人就可以玩了。
-
pcb
+關(guān)注
關(guān)注
4315文章
22941瀏覽量
395600 -
控制器
+關(guān)注
關(guān)注
112文章
16105瀏覽量
177080 -
機器人
+關(guān)注
關(guān)注
210文章
28105瀏覽量
205853
原文標(biāo)題:DIY 自平衡Arduino機器人-【單片機教程-創(chuàng)客】
文章出處:【微信號:aidanpianji,微信公眾號:單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論