Die Drei!

Nachbau Bluino Self Balancing Robot ESP32.

Die drei Roboter, Don Quijote, HaBuRo6 & Emma Peel, sind auf dieser Webseite private Bastelprojekte (Unikate) und haben absolut keinen kommerziellen Status!

Zurück


Die drei Robots


Spaß für die Familie. Jeder Roboter besitzt seine eigene Fernsteuerung. Alle drei Roboter können jetzt autark voneinander Fahren. Jeder Roboter hört nur auf seine eigene MAC-Adresse und besitzt eine eigene Kanalnummern. Es gibt keine Kommunikationsstörungen mehr. Anfangs hatte der Roboter „HaBuRo6 (Mitte Bild)“ Schwierigkeiten mit der automatischen Aufrichtung. Das wurde jetzt auch korrigiert. Dieses Kapitel beschreibt kurz den Aufbau des dritten Roboters, Emma Peel, zu 100% identisch mit „Don Quijote. Weiterhin werden die Änderungen gezeigt, die bei der Fernsteuerung und Roboter notwendig sind, um alle Vehicle parallel zu betreiben.

Holzteile Balancing Robot, Emma Peel

Emma Peel Holzteile Emma Peel Gehäuse Emma Peel Akku


Bis auf die Stromversorgung ist der Balancing Roboter „Emma Peel“ und Don Quijote baugleich! Die gleichen Schrittmotoren, gleiche Steuerung. Don Quijote wird mit zwei 18650 LI-ION 3,6V, 3500mA Akkus versorgt, die in Reihe geschaltet sind. Ein Lithium Polymer, zwei Zellen, Akku (LiPo) 7,4V, 1600mA versorgt Emma Peel. Dieser Akku benötigt ein spezielles Ladegerät mit BALANCER-Anschluss. Beim Laden von Lipo-Akkus wird häufig der Begriff „1C“ verwendet. Der Buchstabe C steht für Kapazität (Capacity). Die Zahl davor ist ein Multiplikator für den Strom in Ampere. Hat dein Akku eine Kapazität von 1600 mAh (1,6 Amperestunden bzw. 1,6Ah), entspricht 1C genau einem Strom von 1,6 Ampere. Wenn du einen leeren Akku mit 1C lädst, dauert der Vorgang rechnerisch genau eine Stunde. Für maximale Lebensdauer und Sicherheit solltest du LiPo-Akkus ohne spezielle Herstellerfreigabe standardmäßig immer mit 1C laden und der Ladevorgang sollte nicht unbeaufsichtigt erfolgen.

Fernbedienung ESP32-NOW, Emma Peel

Emma Peel Fernbedienung


Fernbedienung für Emma Peel. Steuerung ESP32-Mikrocontroller. Was ist ESP32-NOW? ESP32-NOW ist ein von Espressif entwickeltes, verbindungsloses Funkprotokoll. Es ermöglicht Mikrocontrollern der ESP8266- und ESP32-Familie (wie sie oft in DIY- und Smart-Home-Projekten verwendet werden), direkt und ohne WLAN-Router miteinander zu kommunizieren.

Es ist kein Router erforderlich. Die Geräte kommunizieren direkt über ihre MAC-Adressen miteinander. Sehr geringer Stromverbrauch. Da kein zeitraubender Verbindungsaufbau zu einem Netzwerk notwendig ist, sind die Module extrem energieeffizient. Schnelle Übertragung. Die Datenpakete werden fast in Echtzeit verschickt. Ein Gerät kann gleichzeitig als Sender, Empfänger oder beides arbeiten (Transceiver). Zudem lassen sich Nachrichten an ein bestimmtes Gerät oder als Broadcast an alle Teilnehmer senden.

Frequenz: 2,4 GHz (wie Standard-WLAN). Reichweite: Mit den Standard-Onboard-Antennen sind im Haus etwa 100 Meter und im Freien bis zu 400 Meter möglich (erweiterbar durch externe Antennen). Paketgröße: Standardmäßig können bis zu 250 Byte pro Nachricht übertragen werden. Neuere Versionen (ESP-NOW v2) unterstützen sogar bis zu 1470 Byte. Verschlüsselung: Für die Sicherheit der Daten lässt sich das Netzwerk per Pairing verschlüsseln.


Drei Roboter. Drei Fernbedienungen.

Konfliktloses Fahren der drei Roboter, die Software für alle Roboter & Sender muss geändert werden.

Änderungen Roboter


Das Roboter-Framework muss geändert werden. Jeder Roboter erhält eine eigene Kanalnummer. Emma Peel = 1, Don Quijote = 6 und HaBuRo6 = 11. Kanäle können von 1 bis 16 frei gewählt werden. Sie müssen aber identisch zur Fernbedienung sein. Das Framework erhält eine neue Variable Zeile 110 und Zeile 112 im obigen Bild, linke Seite. Die Funktion remote_Task_init wird erweitert mit den Zeilen: 46 bis 48. Wichtig ist, dass die Anmeldung des Kanals immer vor Zeile 49 passiert.

Hinweis: Für eine normale Fernsteuerung (z. B. Knopfdruck alle paar Sekunden oder mäßiges Senden) reicht die Filterung über die MAC-Adresse völlig aus. Aber! Wenn du das System jedoch professionell aufbauen willst und die Fernsteuerungen oft gleichzeitig aktiv sind, ist die Zuweisung von unterschiedlichen Kanälen (1, 6 und 11) die sauberste technische Lösung, um jegliche Funkkollisionen von vornherein auszuschließen.


Änderungen Sender


Betreibt man mehrere Roboter mit dazugehöriger Fernbedienung, geht die Broadcast-MAC-Adresse: FF:FF:FF:FF:FF:FF nicht. Jedes Datenpaket, das ein Sender (Controller) ausschickt, enthält die spezifische Ziel-MAC-Adresse des gewünschten Empfängers. Wenn Sender „Emma Peel“ ein Paket schickt, hören zwar physikalisch alle drei Empfänger das Signal (HaBuRo6, Don Quijote & Emma Peel - sofern sie auf demselben Kanal funken), aber Empfänger HaBuRo6 und Don Quijote verwerfen das Paket sofort auf Hardware-Ebene, weil die Ziel-MAC-Adresse nicht mit ihrer eigenen übereinstimmt. Dein Hauptprogramm bekommt davon gar nichts mit. Aber zu Erhöhung der Trennschärfe habe ich die Kanalnummer auch separiert.

Auch wie beim Empfänger wird ein Kanal definiert, Zeile 19, Datei globals.h. In Zeile 20, Datei globals.cpp, wird die MAC-Adresse des Roboters Emma Peel eingetragen. In der Funktion espnow_init() kommen die Zeilen 92 bis 94 hinzu. Zeile 109 wird geändert von peerInfo.channel = 0 in peerInfo.channel = WIFI_CHANNEL.

HaBuRo6, Änderung Februar 2026: Der "Stand-up / raiseup"-Vorgang (Aufrichten vom Boden) bei einem selbstbalancierenden Roboter erfordert ein genaues Zusammenspiel aus Motordrehmoment, Sensorik und einem stufenweisen Regelungsalgorithmus. Siehe Datei "defines.h" Zeile 32 bis 27 und 41 bis 44. Im Gegensatz zu den beiden Robotern Don Quijote und Emma Peel habe ich beim HaBuRo6 das Aufrichten nicht in den Griff bekommen. Das hat sich jetzt geändert! Nach etlichen empirischen Fummeleien, war es nur ein Parameter der geändert werden musste: Datei „defines.h“ Zeile 61, Parameter Beschleunigung der Schrittmotoren HaBuRo6 = 12, Don Quijote = 14 (MAX RECOMMENDED VALUE: 20) #define MAX_ACCEL 12


Zurück