Inhaltsverzeichnis:
- Schritt 1: Erforderliche Hardware
- Schritt 2: Montage des Roboters
- Schritt 3: Verbindungen
- Schritt 4: Wie funktioniert das Auswuchten?
- Schritt 5: Quellcode und Bibliotheken
- Schritt 6: Für Unterstützung
Video: Arduino - Balance - Balancierender Roboter - Wie macht man?: 6 Schritte (mit Bildern)
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
In diesem Tutorial lernen wir, wie man einen Arduino-Balance-(Balance-)Roboter herstellt, der sich selbst ausbalanciert. Zuerst können Sie sich das Video-Tutorial oben ansehen.
Schritt 1: Erforderliche Hardware
Arduino-Board (Uno) --
MPU-6050 GY521 Acc+Gyro --
DC 6V 210RPM Encoder Getriebemotor Set --
L298N-Motortreiber --
Schaltertaste --
M3 Sechskantschrauben-Mutternsatz mit Sechskantgewinde --
Acrylglasplatte --
3,7 V 18650 wiederaufladbares Li-Ion + Ladegerät --
9V Batterie --
Überbrückungsdrähte --
Heißklebepistole --
Arduino Starter Kit und Zubehör (optional): Arduino Board & SCM Zubehör #01 --
Arduino Board & SCM Zubehör #02 --
Arduino Basic Learning Starter Kit #01 --
Arduino Basic Learning Starter Kit #02 --
Arduino Basic Learning Starter Kit #03 --
Mega 2560 Starter Kit mit Tutorial --
Sensormodul-Kit für Arduino #01 --
Sensormodul-Kit für Arduino #02 --
Schritt 2: Montage des Roboters
- Bohren Sie vier Ecken von 3 Acrylplatten. (Bild 1 und 2)
- Zwischen jeder Acrylplatte befinden sich etwa 8 Kantimeter / 3,15 Zoll. (Bild 3)
- Roboterabmessungen (ca.) 15 cm x 10 cm x 20 cm. (Bild 4)
- Der Gleichstrommotor und die Räder werden in der Mitte (Mittellinie) des Roboters platziert. (Bild 5)
- Der L298N-Motortreiber wird in der Mitte des ersten Stocks (Mittellinie) des Roboters platziert. (Bild 6)
- Das Arduino-Board wird im zweiten Stock des Roboters platziert.
- Das MPU6050-Modul wird auf der obersten Etage des Roboters platziert. (Bild 7)
Schritt 3: Verbindungen
Testen Sie die MPU6050 und stellen Sie sicher, dass sie funktioniert! Verbinden Sie zuerst den MPU6050 mit dem Arduino und testen Sie die Verbindung mit den Codes im folgenden Tutorial. Das Daha sollte auf dem seriellen Monitor angezeigt werden
Instructables Tutorial - MPU6050 GY521 6-Achsen-Beschleunigungsmesser + Gyro
YouTube-Tutorial - MPU6050 GY521 6-Achsen-Beschleunigungsmesser + Gyro
Das L298N-Modul kann die vom Arduino benötigten +5 V bereitstellen, solange seine Eingangsspannung +7 V oder mehr beträgt. Ich habe mich jedoch für eine separate Stromquelle für den Motor entschieden
Schritt 4: Wie funktioniert das Auswuchten?
- Um den Roboter im Gleichgewicht zu halten, müssen die Motoren dem Sturz des Roboters entgegenwirken.
- Diese Aktion erfordert ein Feedback und ein korrigierendes Element.
- Das Feedback-Element ist der MPU6050, der sowohl Beschleunigung als auch Rotation in allen drei Achsen liefert, die vom Arduino verwendet werden, um die aktuelle Ausrichtung des Roboters zu kennen.
- Korrigierendes Element ist die Motor-Rad-Kombination.
- Der selbstbalancierende Roboter ist im Wesentlichen ein umgekehrtes Pendel.
- Es lässt sich besser auswuchten, wenn der Massenschwerpunkt relativ zu den Radachsen höher liegt.
- Deshalb habe ich den Akku oben drauf gelegt.
- Die Höhe des Roboters wurde jedoch entsprechend der Materialverfügbarkeit gewählt.
Schritt 5: Quellcode und Bibliotheken
Der für den Balanceroboter entwickelte Code ist zu kompliziert. Aber es besteht kein Grund zur Sorge. Wir werden nur einige Daten ändern.
Wir brauchen vier externe Bibliotheken, damit der selbstbalancierende Roboter funktioniert
- Die PID-Bibliothek erleichtert die Berechnung der P-, I- und D-Werte.
- Für die Ansteuerung der beiden Motoren mit dem Modul L298N wird die Bibliothek LMotorController verwendet.
- Die Bibliothek I2Cdev und die Bibliothek MPU6050_6_Axis_MotionApps20 dienen zum Lesen von Daten aus der MPU6050.
Bibliotheken herunterladen
PID --
LMotorController --
I2Cdev --
MPU6050 --
Holen Sie sich den Quellcode -
Was ist PID?
- Um eine Variable (in diesem Fall die Position des Roboters) stabil zu halten, ist in der Steuerungstheorie ein spezieller Controller namens PID erforderlich.
- P für Proportional, I für Integral und D für Ableitung. Jeder dieser Parameter hat „Verstärkungen“, die normalerweise als Kp, Ki und Kd bezeichnet werden.
- PID sorgt für eine Korrektur zwischen dem Sollwert (oder Eingang) und dem Istwert (oder Ausgang). Der Unterschied zwischen Eingabe und Ausgabe wird als „Fehler“bezeichnet.
- Der PID-Regler reduziert den Fehler auf den kleinstmöglichen Wert, indem er den Ausgang kontinuierlich anpasst.
- Bei unserem selbstbalancierenden Arduino-Roboter wird die Eingabe (die gewünschte Neigung in Grad) per Software eingestellt.
- Der MPU6050 liest die aktuelle Neigung des Roboters und führt sie dem PID-Algorithmus zu, der Berechnungen durchführt, um den Motor zu steuern und den Roboter in der aufrechten Position zu halten.
PID erfordert, dass die Verstärkungswerte Kp, Ki und Kd auf optimale Werte „abgestimmt“werden
Wir werden die PID-Werte stattdessen manuell anpassen
- Machen Sie Kp, Ki und Kd gleich Null.
- Kp anpassen. Zu wenig Kp lässt den Roboter umfallen (nicht genügend Korrektur). Zu viel Kp lässt den Roboter wild hin und her gehen. Ein ausreichender Kp lässt den Roboter leicht hin und her gehen (oder ein wenig oszillieren).
- Sobald Kp eingestellt ist, passen Sie Kd an. Ein guter Kd-Wert verringert die Schwingungen, bis der Roboter fast stabil ist. Außerdem hält die richtige Menge an Kd den Roboter aufrecht, auch wenn er geschoben wird.
- Stellen Sie zuletzt das Ki ein. Der Roboter schwingt beim Einschalten, auch wenn Kp und Kd eingestellt sind, stabilisiert sich jedoch mit der Zeit. Der richtige Ki-Wert verkürzt die Zeit, die der Roboter benötigt, um sich zu stabilisieren.
Vorschlag für bessere Ergebnisse
Ich empfehle Ihnen, einen ähnlichen Roboterrahmen mit den in diesem Projekt verwendeten Materialien zu erstellen, damit der Quellcode für den Balance Robot stabil und effizient funktioniert.
Schritt 6: Für Unterstützung
- Sie können meinen YouTube-Kanal für weitere Tutorials und Projekte abonnieren.
- Sie können auch Support abonnieren. Dankeschön.
Besuchen Sie meinen YouTube-Kanal -
Empfohlen:
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: 7 Schritte (mit Bildern)
Schnittstellentastatur mit Arduino. [Einzigartige Methode]: Hallo, und willkommen zu meinem ersten instructable! :) In diesem instructables möchte ich eine fantastische Bibliothek für die Schnittstelle der Tastatur mit Arduino teilen - 'Password Library' einschließlich 'Keypad Library'. Diese Bibliothek enthält die besten Funktionen, die wir wi
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: 7 Schritte (mit Bildern)
Einfaches BLE mit sehr geringem Stromverbrauch in Arduino Teil 3 - Nano V2-Ersatz - Rev 3: Update: 7. April 2019 - Rev 3 von lp_BLE_TempHumidity, fügt Datums- / Zeitdiagramme mit pfodApp V3.0.362+ hinzu und automatische Drosselung beim Senden von DatenUpdate: 24. März 2019 – Rev 2 von lp_BLE_TempHumidity, fügt weitere Plotoptionen hinzu und i2c_ClearBus, fügt GT832E
So bauen Sie Ihren ersten Roboter ($ 85): 21 Schritte (mit Bildern)
So bauen Sie Ihren ersten Roboter ($ 85): ICH HABE EINE NEUE UND AKTUALISIERTE VERSION VON DIESEM HERGESTELLT. BITTE FINDEN SIE ES HIER https://www.instructables.com/id/How-to-make-your-first-robot-an-actual-programma/ **************** ************************************************* ************** Update: Zu einigen 1
Bauen Sie Ihren eigenen Butler-Roboter !!! - Tutorial, Fotos und Video: 58 Schritte (mit Bildern)
Bauen Sie Ihren eigenen Butler-Roboter !!! - Tutorial, Fotos und Video: BEARBEITEN: Weitere Informationen zu meinen Projekten finden Sie auf meiner neuen Website: narobo.comIch berate auch für Robotik-, Mechatronik- und Spezialeffektprojekte / -produkte. Weitere Informationen finden Sie auf meiner Website - narobo.com. Wollten Sie schon immer einen Butler-Roboter, der mit Ihnen spricht