DIY 自平衡Arduino機器人-【單片機教程-創客】

2021-02-14 單片機與嵌入式

正文共: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

轉自:單片機

相關焦點

  • 用Arduino Nano和步進電機做一個自平衡機器人
    今天和大家介紹一個利用簡單的步進電機和Arduino Nano做一個自平衡機器人的項目。步進控制機器人通過施加一個與角度大致成正比的力來平衡自己。這意味著電機應該隨著加速度轉動。電路圖▲ 可以點擊放大觀看代碼Github倉庫:https://github.com/zjor/balancing-robot訪問Github有困難的同學,可以直接在公眾號後臺回復「自平衡機器人
  • 10個輕鬆上手製作的Arduino項目
    一旦你超過了這個小障礙,你會遇到代碼中的map函數,這在不同的Arduino項目中非常有用,因為它將數字從一個範圍重新映射到另一個範圍。在這種情況下,從MQ7傳感器的範圍到RGB LED的範圍為0-255。
  • Arduino是個啥玩意?
    Arduino硬體開發平臺好學易用,應用廣泛,是開展科技創客活動的硬體基礎,Arduino是目前最受創客歡迎的開源電子平臺之一,同時也是海澱區和北京市中小學生智能控制(單片機)競賽中智能設計挑戰賽項目的可選平臺。早在2014年9月夏季達沃斯論壇上,李克強公開場合發出"大眾創業、萬眾創新"的號召。
  • Arduino與單片機區別,及Arduino入門教程
    要了解Arduino就先要了解什麼是單片機,Arduino平臺的基礎其實就是AVR指令集的單片機。1、什麼是單片機?一臺能夠工作的計算機包含以下幾個部份:中央處理單元CPU(進行運算、控制)、隨機存儲器RAM(數據存儲)、存儲器ROM(程序存儲)、輸入/輸出設備I/O(串行口、並行輸出口等)。
  • 一個用 Arduino 實現的完整項目
    用戶(我的女兒)可以用鍵盤從菜單上選擇一種算數運算來學習。會有一些難度級別:在選擇運算後,難度級別會顯示出來。根據選擇的難度級別,會隨機顯示出一些問題,用戶可以用鍵盤迴答這些問題。用戶可以在確認前修改自己的答案。在確認答案後,根據正確與否會顯示出一條信息。如果三次答錯,將會顯示出正確答案。
  • DIY自動瞄準機_關_槍
    資源下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」獲取Proteus仿真資料。
  • arduino與超聲波傳感器之超聲波雷達
    超聲波雷達簡介:arduino功能真的很強大,很多傳感器都可以用arduino製作出很有趣的東西出來,今天將用arduino
  • 如何將PCF8574 I2C LCD與Arduino I2C接口通訊? - 【Arduino教程】
    ),獲取海量單片機教程及其他學習資料!注意:將提供有關PCF8574 GPIO擴展器的單獨教程。因此,我將在該教程中提供有關PCF8574 IC的更多詳細信息。下圖顯示了將I2C LCD與Arduino連接的電路圖。
  • arduino:飛鏢數據,迷宮遊戲,LED冰球……
    arduino一個科學,兩個遊戲資訊1.無人機在難以到達的地方發射Sense飛鏢以收集數據[1]
  • 可聯網可用手機APP控制,基於Arduino Nano的復古機器人改裝
    視頻中是我一個機器人項目,通過Arduino Nano,藍牙,雷射,揚聲器,SD卡,LED和太多的杜邦線實現的可遙控的機器人,可以通過Android手機控制升級的機器人。用到的一些材料如下: •  2×9g微型伺服 •  1×Arduino Nano •  雷射指示器模塊 •  無線電控制器應用看到arduino中沒有用於神經網絡的CPU周期後,我們發現只需要製作一個遠程控制應用程式,並利用生物神經網絡即可。如您所見,目前,這是非常簡單的事情。
  • 淺談機器人的智能化
    arduino與機器人-arduino pro mini主控在一般意義上的舵機機器人中,機器人控制系統分為機器人主控部分
  • 如何在Arduino開發板上使用機器人作業系統(ROS)
    但是,由於板載計算能力和軟體有限,開發人員常常無法升級到更複雜的機器人。通常,隨著開發人員變得越來越有經驗,他們會尋找專門用於機器人的軟體,因為Arduino僅提供部分控制項。在本篇文章中,我們主要介紹了中間件軟體框架Robot Operating System(ROS),並引導您通過Arduino設置和使用ROS來創建更智能的機器人系統。什麼是ROS?
  • 智創未來 謝作如:從機器人、STEM到創客教育
    我買來測試,結果欣喜地發現:Arduino在機器人與電腦間的通訊上做得特別好,直接用print語句就能將數據傳送到電腦。更意外的是,網絡上有很多Arduino的模塊,如藍牙、zigbee等。於是,塗鬱瀟穎的水質監測機器人就基於Arduino和zigbee協議去設計,並在後來獲得了浙江省研究性學習評比一等獎。
  • 51單片機DIY做PLC編程
    ,用PLC邏輯編這種功能是非常簡單輕鬆的,而如果用彙編或C編卻感覺有點棘手,編程效率不高,所以想為何不在單片機上實現PLC的邏輯呢?而且用彙編編寫執行效率要比C高,目前1K代碼的彙編程序可以寫好多,而如果用C寫再編譯就會大許多,很多時候廉價小單片機就裝不下了。
  • 第一課 Arduino環境配置
    然後將買回來的arduino拆了包裝,使用方頭usb數據線連接到電腦,本帖以win xp和win7兩種系統為例,演示一下arduino原版驅動何如安裝。(1)win xp系統: 使用方頭usb數據線連接到電腦後,會出現識別到新硬體顯示點擊下一步,出現驅動的查找目錄找驅動的位置。驅動在IDE軟體中的drivers文件下。
  • arduino和樹莓派
    收錄於話題 #機器人教育Arduino的開發人員還開發了一個簡潔的IDE(集成開發環境)也就是寫代碼,編譯,調試,下載的上位機軟體。還有這些都是開源的可以在他們的官網下載再說說樹莓派樹莓派由註冊於英國的慈善組織「Raspberry Pi 基金會」開發,Eben·Upton/埃·厄普頓為項目帶頭人。
  • 【納新季】之AxiDraw 寫字機器人
    看完AxiDraw 寫字機器人能解放雙手的效果,讓我們一起進入正題,看看怎麼樣讓一堆元器件變成寫字機器人吧~材料清單寫字機材料清單品名作用1)光軸(8mm和6mm)(2)2GT同步帶和皮帶輪(內徑都為5mm)(3)直線軸承(8mm或6mm內徑視具體情況定)(4)列印件框架部分導線;銅柱;12V電源;螺栓螺母固定整體支架42步進電機(