Dateien
Video
- Play Video
Weitere Dateien
Bau eines selbstbalancierenden Roboters - schriftliche Arbeit
Das Ziel dieser Arbeit war es, einen Roboter zu bauen, der sich von alleine aufrecht hält bzw. ausbalanciert. Hierzu wird der Winkel des Roboters mithilfe eines Gyro- und Beschleunigungssensors gemessen und durch einen PID-Regler wird die Reaktion der Motoren berechnet.
Team:
Stefan Leuthard (PL), 5622 Waltenschwil (AG)
Typ:
Unterrichtsprojekt
Kategorie:
Installation/Robotic
Alterskategorie:
Seniors (17- bis 20-Jährige)
Awards:
Space Award
Ausführliche Projektbeschreibung
Dieses Projekt entstand im Rahmen der Projektarbeit an der Kantonsschule Wohlen. Ziel dieser Arbeit war es ein Gefährt mit zwei Rädern zu bauen, das in der Lage ist sich selbständig aufrecht zu halten. Der Roboter besteht aus zwei Rädern die entlang einer Achse angeordnet sind und jeweils von einem Motor angetrieben werden. Mithilfe der Elektronik und dem Mikrocontroller wird der benötigte Schub der Motoren berechnet. Ein persönliches Ziel für mich war es daher, die Regeltechnik, die hinter einer solchen Anwendung steckt, zu verstehen und selbst anwenden zu können.
Der Bau eines solchen Roboters kann grundsätzlich in drei Gebiete eingeteilt werden: Bau des Gehäuses, die Elektronik und die Programmierung des Mikrocontrollers.
Gehäuse
Zuerst muss natürlich die Form des Gehäuses geplant werden. Hierzu muss bedacht werden, wie alle Bauteile platziert und befestigt werden. Doch zusätzlich sollte bei der Planung des Gehäuses auch das physikalische Verhalten von verschiedenen Formen bedacht werden, denn umso höher der Schwerpunkt liegt, desto kleiner ist die Winkelgeschwindigkeit des Falles. Das Gehäuse sollte also so konstruiert werden, dass der Schwerpunkt relativ hoch liegt, da dies das Ausbalancieren vereinfacht.
Als nächstes muss das Material des Gehäuses gewählt werden. In diesem Fall wurde Acrylglas verwendet, da dieses relativ einfach zu bearbeiten ist und vor allem auch aus Ästhetischen Gründen.
Elektronik
Als "Hirn" des Roboters agiert der "ATmega328P-PU" Mikrocontroller. Die Daten zur Lage des Gefährtes werden vom "MPU-6050" Breakout-Board gemessen, dieser Chip beinhaltet sowohl einen Gyrosensor, als auch einen Beschleunigungssensor. Um die zwei 12V Bürsten Motoren anzutreiben wird ein Motortreiber benötigt. In diesem Fall wird hierzu die integrierte Schaltung "L293D" verwendet. Zusätzlich wurde ein Bluetooth-Modul verbaut, um später mit dem Roboter kommunizieren zu können (dies ist wichtig, da für den PID-Regler drei Parameter durch ausprobieren bestimmt werden müssen). Der Strom zum Betrieb des Roboters wird von einem 3s LiPo-Akku geliefert.
Programmierung
Da der verwendete Mikrocontroller derselbe wie auf einem "Arduino"-Board ist, konnte dieser mithilfe der Arduino IDE programmiert werden. Als erstes werden die Sensordaten zur Bestimmung der Lage ausgelesen, aus diesen Daten kann nun der Winkel des Roboters berechnet werden. Aus dieser Abweichung zur Optimal Position kann nun der benötigte Schub der Motoren berechnet werden. Hierzu wurde in diesem Fall ein sogenannter "PID-Regler" verwendet. Zum Schluss werden die vom "PID-Regler" berechneten Daten in ein "PWM-Signal" umgewandelt, welches die Geschwindigkeit der Motoren reguliert.
Informationen zu den verwendeten Technologien:
Zu Beginn wurde ein Plan des Gehäuses mithilfe von Autodesk Fusion 360 angefertigt. Dieser Plan wurde danach auf das Acrylglas übertragen, die Form wurde ausgesägt und die Löcher gebohrt.
Alle elektronischen Komponenten wurden mithilfe von https://easyeda.com zu einem Schaltplan zusammengeführt. Als alle Komponenten und die Funktion des Schaltplans getestet waren, wurden die Bauteile (dem Schaltplan entsprechend) auf eine Platine gelötet und in das Gehäuse eingebaut.
Programmiert wurde der Mikrocontroller mithilfe der Arduino IDE. Zusätzlich wurde die Wire-Bibliothek zur Kommunikation mit dem Gyro- & Beschleunigungssensor verwendet.
Informationen zur Organisation der Teamarbeit
Dieses Projekt ist als Einzelarbeit entstanden. Somit wurde das Projekt alleine durch mich umgesetzt, sprich ich habe den Roboter selbst entwickelt und gebaut.
Bei allfälligen Fragen konnte ich mich jedoch an meine Betreuungsperson (Patric Rousselot) wenden.
Informationen zu den verwendeten Grafiken, Fotos, Sounds, Videos etc.
Die Abbildungen aus der schriftlichen Arbeit stammen teilweise von mir selbst oder aber auch aus dem Internet. Die Quellen der Abbildungen aus dem Internet sind im Abbildungsverzeichnis der schriftlichen Arbeit ersichtlich.
Alle Aufnahmen des Projektvideos wurden selbst angefertigt, die verwendete Musik ist Happy Life von FREDJI.
(" Happy Life by FREDJI https://soundcloud.com/fredjimusic
https://www.facebook.com/fredjimusic/
Music promoted by Audio Library https://youtu.be/u4PI5p5bI9k ")
Tagebuch der Projektarbeit
Der Projektunterricht (in dessen Rahmen dieses Projekt entstanden ist) startete im August 2017. Zuerst wurde also eine Idee für ein Projekt gesucht. Für mich war das Thema relativ schnell klar, da mich Elektronik und Robotik sehr interessieren, vor allem wollte ich aber auch lernen, wie Regelungstechnik angewendet wird.
Bis Ende September recherchierte ich und suchte bereits nach Bauteilen, die für diese Anwendung geeignet sind. Diese Bauteilteile bestellte ich nun bereits, da diese ungefähr einen Monat Lieferungszeit beanspruchen. Diesen Monat nutzte ich um das Gehäuse zu konstruieren und zu bauen.
Als die Bauteile geliefert wurden, begann ich damit, diese mithilfe einer Steckplatine zu testen und stellte dabei den Schaltplan zusammen. Alle Bauteile wurden dann (dem Schaltplan entsprechend) auf eine Platine gelötet.
Zum Schluss schrieb ich den Code für den Mikrocontroller. Als dieser komplett war mussten die Parameter für den PID-Regler durch ausprobieren bestimmt werden. Damit war der Roboter bereits Anfangs Dezember fertig und funktionsfähig. Die restliche Zeit bis Anfang Februar (Abgabetermin) wurde genutzt um die schriftliche Arbeit zu schreiben.