SONSTIGES Balancierender Roboter für Indoor-FPV

Knuspel

Erfahrener Benutzer
#1
Hallo zusammen,

da der Winter vor der Türe steht und mein Axial Wraith für indoor FPV manchmal einfach zu groß ist wollte ich etwas kleines und wendiges. Am besten etwas, das sich auf der Stelle drehen kann. Fertig war die Idee für einen selbst balancierenden Roboter, wie es ihn schon recht häufig im Netz gibt.


3D-Daten gibt's jetzt bei Thingiverse BaRo - Balancing Robot for FPV by Knuspel

Quelldateien / Programmcode gibt's als Anhang zu diesem Post. Bitte Bemerkungen weiter unten lesen.

Eckdaten:
2x Nema 17 (1,8 Grad pro Schritt nativ) und A4988 Treiber
1x Arduino Nano Klon
1x MPU6050
1x Foxeer Mini Monster Pro
1x GTX226 FPV Sender mit Aomway Antenne
1x 3S 850mah Akku und LiPo Warner
1x HC06 für die Steuerung und Telemetrie




Zur Zeit sind 3 Regelstrategien implementiert:
- reines Balancieren
- Vorgabe der Geschwindigkeit (Modus für freies Fahren per Fernsteuerung)
- Vorgabe der Position (wenn Null, dann ist das sozusagen Position Hold)

Die Schrittmotoren werden je nach benötigter Geschwindigkeit der Räder im 1:1, 1:4, 1:8 oder 1:16 Modus betrieben. Damit lässt sich der Roboter auch bei geringen Geschwindigkeiten gut regeln. Kostet allerdings 6 digitale Pins am Arduino, weshalb zur Zeit keine Pins mehr frei sind.

Leider habe ich keine Fotos von den Anfängen, aber das Projekt ist ja noch ausbaufähig ;-) Daher hier ein paar Bilder von dem aktuellen Status. Als nächstes kommen weichere Räder an den Roboter, da er noch recht häufig umfällt, wenn er auf eine Kante trifft. Die aktuellen Räder sind gedruckt und haben ein Stück Fahrradschlauch übergezogen bekommen.

Grüße
Knuspel

------------------------------------------------------------------------------------------
Anmerkungen zum Quellcode:
1) Es handelt sich um ein DIY Projekt, das ich je nach Zeit und Lust fortführe.
2) Der Quellcode kann von jedem frei verwendet und erweitert werden um das Projekt nachzubauen oder zu modifizieren.
3) Es gibt keine ausführliche Doku / Bauanleitung. Die Belegung aller Pins geht aus der Datei "pins.h" hervor. Damit das Projekt funktioniert müssen natürlich alle Pins genauso angeschlossen werden, wie in dieser Datei vorgegeben. Einen schönen Schaltplan gibt es allerdings in diesem Thread!
4) Die Kanalbelegung über sBus ist wie folgt:
Kanal 1: Vorwärts/Rückwärts
Kanal 2: Links/Rechts
Kanal 3: Modus
-> 1000us: mit Kanal 1 gibt den Winkel vor
-> 1500us: mit Kanal 1 gibt die Geschwindigkeit vor, primärer Fahrmodus
-> 2000us: mit Kanal 1 gibt die Position der Räder vor. Funktioniert noch nicht richtig, ist sowas wie Position Hold.

Der Roboter erwartet Signale von 1000us-2000us, Funke am besten so einstellen.
5) In der Datei defines.h finden sich Kalibrierwerte für den MPU6050. Diese entsprechen meinem Roboter und sind bei anderen Robotern vermutlich anders. Evtl die folgenden Einträge zu Null setzen:
#define MPU6050_WX_OFFSET 527.0
#define MPU6050_WY_OFFSET 77.0
#define MPU6050_WZ_OFFSET 43.0

#define MPU6050_AX_OFFSET -458.0
#define MPU6050_AY_OFFSET 0.0
#define MPU6050_AZ_OFFSET 0.0
 

Anhänge

Zuletzt bearbeitet:

brandtaucher

Erfahrener Benutzer
#2
Tolle Sache, aber ich muss die Augen zu machen. Noch ein Projekt geht nicht. Ach Mann, soviel coole Sachen hier. Hast Du ein Video vom FPV-Rumgeflitze?
 

Knuspel

Erfahrener Benutzer
#3
Video mache ich bei nächster Gelegenheit. Bin allerdings kein guter Regisseur :unsure:

Falls du es doch mal nachbauen willst, Quellcode und 3D Daten kann ich gerne bereitstellen.
 

Nimrod

Erfahrener Benutzer
#4
ich hab auch interesse. finde die idee mega witzig.
 

Knuspel

Erfahrener Benutzer
#9
Sbus läuft auch schon, allerdings braucht der Arduino das nicht invertierte Signal.
 
Zuletzt bearbeitet:

JAP

Neuer Benutzer
#11
Hallo Zusammen.
Auch ich war fasziniert von der Konstruktion und dem offensichtlich sehr gut arbeitenden Sketch von Knuspels Roboter. Schnell war der Wunsch da einen nachzubauen, allerdings in einer leicht geänderten Version, um ihn mittels normaler Fernsteuerung steuern zu können. Dadurch hat man deutlich mehr Reichweite, muß allerdings auf die integrierte Telemetrie verzichten. Dennoch, der Aufwand und die Kosten schienen überschauber und so habe ich mit Knuspel Kontakt aufgenommen der mir freundlicherweise eine Version seines Sketches zugesendet hat, in der die Steuerug über ein nicht invertiertes SBUS Signal funktioniert. Dieses Signal läßt sich von vielen FRSky Empfängern an unterschiedlichen Stellen abgreifen.
Die übrigen Teile waren entweder noch vorhanden oder konnten günstig bestellt werden.
Die Bauteile des Frames entstanden im 3d Drucker aus den Daten des Thingivers Links weiter oben in diesem Thread. Sie sind sehr passgenau und ließen sich aus PLA gut drucken.
Der Zusammenbau hat echt Spaß gemacht, bei der Verkabelung musste ich das ein oder andere Mal bei Knuspel nachfragen, ging mit einem Steckbrett dann aber doch recht einfach. So konnte ich gleichzeitig nochmal einiges zum Thema Arduino, Schrittmotoren und deren Treiber lernen. Derzeit zeichne ich an einem Schaltplan falls es Interesse daran geben sollte.
Vor paar Tagen konnte ich dann die erste Fahrt machen und ich bin absolut begeistert. Er läßt sich extrem präzise Steuern, die Fahrzeit ist echt lang und Indoor FPV macht einen riesen Spaß.
Natürlich hat die Konstruktion bauartbedinte Grenzen, ist aber trotzdem erstaunlich "geländegängig". Hierzu ein kurzes Video auf Youtube:


Ich bedanke mich bei Knuspel der seinen Sketch zum Nachbau angeboten hat, ist wirklich was Tolles und eine interessante FPV-Abwechslung.

Grüße, JAP
 

Knuspel

Erfahrener Benutzer
#12
Wirklich gut geworden dein Roboter, danke für das Video und den Bericht :).

Inzwischen gibt es schon wieder ein paar Upgrades, wie ein Oled Display, FPort support und autonome Fahrfunktionen. Ich teste den gerade mit größeren Reifen und verbessere die Geländegängigkeit. Updates folgen ...
 

Nimrod

Erfahrener Benutzer
#13
wo findet man denn den quellcode? habe jetzt ein paar sachen zum zusammenbau bestellt :)
 

Knuspel

Erfahrener Benutzer
#14
Zuletzt bearbeitet:

Nimrod

Erfahrener Benutzer
#15
Räder hab ich noch ein paar hier rumfliegen (von alten RC cars :) werde wohl auch mal probieren, Räder aus Cual Print (tpu/pla) herzustellen, und dann die oberseite des TPU etwas anrauen mit schmirgelpapier oder sowas.


da ich gerade erlesen habe, das mittlerweile seit etwa einem halben Jahr graupner auch endlich SBUS unterstützt, steht dem projekt nichts im wege :) ich danke dir für die Email :)
 

JAP

Neuer Benutzer
#18
Davon dann die mit 5mm Bohrung passen auf die gewöhnlichen Schrittmotoren, ausser natürlich du verwendest andere/spezielle Motoren...
 

Knuspel

Erfahrener Benutzer
#20
Der Roboter hat wieder ein paar kleine Upgrades bekommen:

1.3" Oled (SH1106 I2C) zur Anzeige von ein paar Daten:


Und eine Processing Gui zur Anzeige von viel mehr Telemetriedaten / Debugging. Der Roboter wird in 3D visualisiert, man hat einen künstlichen Horizont, sieht die eingestellten PIDs , Spannung, Position und Geschwindigkeit:


Ist mein erstes Projekt mit Processing und ich bin echt begeistert, was man damit mit nur wenigen Zeilen Code auf die Beine stellen kann.

Grüße
 

Anhänge

Erhaltene "Gefällt mir": waheiko
FPV1

Banggood

Oben Unten