正文共:4091字 54圖
預估閱讀時間:11 分鐘
這篇文章是關於DIY自平衡機器人的,我將向您展示如何構建自己的自平衡機器人。
這篇文章是關於DIY自平衡機器人的,我將向您展示如何構建自己的自平衡機器人。我嘗試構建該項目,但未能獲得預期的結果。但是這款機器人的表現相當不錯且準確,儘管與我以前的機器人相比,這並不完美。
我使用定製的PCB,Arduino nano,MPU6050,A4988驅動程序,HC-05 bt模塊,MDF板和一些硬體來構建此自平衡機器人,詳細材料清單可在本文中找到。此項目中使用Balancingwii固件和EZ-GUI android應用程式通過藍牙連接控制機器人。下載連結:https://51qudong.lanzous.com/ibgf1qj ,長按二維碼直接下載:
因此,讓我們從一些基本的自平衡機器人開始。
自平衡機器人是指機器人通過不斷校正其位置來平衡兩個輪子。
陀螺儀傳感器用於自平衡機器人中,該傳感器連續將機器人方向數據發送到控制器。
根據該數據控制器的命令,電動機向前或向後運行,以保持機器人的位置筆直。
這是自平衡機器人的理想位置,身體完美地向上注視著車輪。Y軸與機器人的身體之間的夾角為零。
當身體向前傾斜時,Y軸與身體之間會有一定角度。MPU6050陀螺儀傳感器檢測到該角度,然後將此數據發送到Arduino。Arduino現在執行PID計算,並命令步進電機正向運行,以將傾斜角最小化到零度。
如果機器人向後傾斜時,電機也會向後旋轉並將傾斜角校正為零,則會發生相同的情況。機器人繼續以每秒400次的速度向前和向後反轉電動機,因此我們看起來機器人在該位置穩定。
Arduino Nano………………………..1個
MPU605陀螺儀傳感器……………….1個
Nema 17步進電機………….2個
100mm車輪…………………………..2個
A4988步進驅動器IC…………..2個
HC-05藍牙模塊.. 1個
4mm MDF板
150mm M5螺紋杆——4個
一些螺母和螺栓
上圖是自平衡機器人的電路圖。
我已經準備好一塊PCB,您也可以下載Gerber文件訂購PCB,也可以在easyeda平臺中編輯PCB。
https://easyeda.com/sharmaz747/self-balancing
注意:-訂購PCB之前,請先對自己的產品進行交叉檢查。
您必須需要的基本連接和最小連接如下
I2C:
電機驅動器引腳:
D5 – STEP1(PORTD 5)
D6 – STEP2(PORTD 6)
D7 – DIR1(PORTD 7)
D8 – DIR2(PORTB 0)
D4 –啟用(均適用)
以下是自平衡機器人的基本構造圖
從4mm厚的MDF紙上切下了三張大小為130 x 65mm的圖片
在這裡,我鑽了一些孔,以便步進電機,然後將M3桿插入所有三個MDF板上。然後,我切成兩片20mm x 20mm鋁角,尺寸為42mm,用於安裝帶有平臺的步進電機。在這裡,我將M5桿插入了基礎平臺,並藉助20x20x42鋁角安裝了nema 17步進電機。現在,我將中間和頂部平臺放在M5搖杆上,並用M5螺母固定。並將PCB放在10 mm墊片上的中間平臺上。
將1500mah 11.7 V脂糊劑放在基礎平臺上,並用皮帶將其固定在適當的位置。現在,終於將車輪固定在步進電機的軸上,並用M3機器人將其擰緊。下載balancewii:https://github.com/mahowik/BalancingWii
首先要開始對arduino進行編程,我們需要下載一個稱為balancewii的用於平衡機器人的固件。
該固件基於用於四旋翼和多旋翼飛行無人機的Multiwii固件。您可以在此處了解有關Multiwii的更多信息http://www.multiwii.com/wiki/index.php?title=Main_Page 。
特別感謝開發此固件的Mahowik: https://github.com/mahowik
下載固件均衡 wii:https://github.com/mahowik/BalancingWii,現在單擊綠色按鈕克隆或下載。固件將以ZIP格式下載到您的PC中。
現在解壓縮下載的文件,打開新創建的文件夾,並刪除圖像中突出顯示的三個文件,這根本不需要。
另外,包含balancewii.ino文件的文件夾的名稱都必須相同,否則您將得到編譯錯誤。
現在,在arduino中打開balancedwii.ino文件並編譯代碼並上傳它,而無需進行任何更改。
在上傳代碼之前,請不要忘記關閉BT模塊。
如果您的MPU6050方向不同,那麼我需要在config.h文件中更改此行。
您可以在此處將PITCH更改為ROLL
#define CURRENT_AXIS PITCH //可以選擇ROLL或PITCH軸作為當前軸。
默認情況下,大多數HC-05 BT模塊都帶有默認的9600波特率。
但對於此項目,請注意,您的HC-05 BT模塊的波特率必須為115200,否則您將無法連接android應用
您可以通過AT命令在google上搜索HC-05 bt模塊的波特率來更改它,您將獲得許多有關它的教程。
/ *這是串行接口的速度* /
#定義SERIAL0_COM_SPEED 115200
#define SERIAL1_COM_SPEED 115200
#define SERIAL2_COM_SPEED 115200
#define SERIAL3_COM_SPEED 115200
如果您認為機器人的響應速度較慢,則可以嘗試在config.h文件中更改此設置,但請記住,這些值必須處於約束狀態。
#define MAX_SPEED 350 //應該<= 500
#define MAX_TARGET_ANGLE 130 //其中10 = 1度,應<= 15度(即<= 150)
#define MAX_STEERING 90 //應該<= 100
Android應用EZ-GUI應用程式是我們要在這裡使用,你可以了解更多關於EZ-GUI(http://ez-gui.com/)從這裡。EZ-GUI應用程式可通過點擊以下或掃描下面的二維碼連結從Play商店免費下載。上面下載包已包含這個apk文件。
https://play.google.com/store/apps/details?id=com.ezio.multiwii
打開下載的應用程式,然後單擊屏幕右上角的三個點,點擊設置。
在BT設備上選擇以選擇BT模塊,現在單擊NEXT按鈕
現在,從列表中選擇固件「 Multiwii 2.40」,然後單擊「下一步」,直到到達主屏幕。
單擊「連接」按鈕以連接藍牙。
按下「 AUX」按鈕
刻度線標記如上所示。
這是我的PID設置
該PID設置對於您的機器人來說不是強制性的,每個機器人都是唯一的。PID取決於機器人的設計,重心,車輪尺寸,電機類型等。嘗試不同的設置,經過一定的嘗試,您肯定會獲得最佳的設置。
現在從此屏幕返回,並單擊右上角的三個點並轉到「高級」,然後轉未經測試」,然後單擊「模型控制項」
現在,這是與您玩機器人的屏幕,您可以從操縱杆上運行自平衡機器人,
並在此屏幕上進行嘗試不同的設置以了解更多信息。
這樣,我們的DIY自平衡機器人就可以玩了。
如果您有任何問題,請在評論部分提問。點擊閱讀原文進入原連結。
下面是原文中的留言
https://www.omc-stepperonline.com/nema-17-stepper-motor/big-sale-nema-17-bipolar-1-8deg-26ncm-36-8oz-in-0-4a-12v-42x42x34mm-4-wires-300mm-length-cable.html
轉自:單片機