Inhaltsverzeichnis:

Selbstbalancierender Roboter - Gunook
Selbstbalancierender Roboter - Gunook

Video: Selbstbalancierender Roboter - Gunook

Video: Selbstbalancierender Roboter - Gunook
Video: Self-Balancing Robot, professional move, do not imitate! 2024, November
Anonim
Selbstbalancierender Roboter
Selbstbalancierender Roboter

In diesem Instructable zeigen wir Ihnen, wie Sie den selbstbalancierenden Roboter bauen, den wir als Schulprojekt gemacht haben. Es basiert auf einigen anderen Robotern, wie dem nBot und einem anderen Instructable. Der Roboter kann über eine Bluetooth-Verbindung von einem Android-Smartphone aus gesteuert werden. Da dieses Instructable nur den Bauprozess abdeckt, haben wir auch ein Dokument geschrieben, um den technischen Hintergrund des Codes und der Elektronik abzudecken. Es enthält auch Links zu den verwendeten Quellen, damit Sie sie sich ansehen können, wenn das Dokument für Sie nicht umfassend genug ist.

Um alle Schritte dieses Projekts zu befolgen, benötigen Sie einige 3D-Druckkenntnisse oder eine andere clevere Methode, um die Räder an den Motoren zu befestigen.

Schritt 1: Anforderungen

Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen
Anforderungen

Der Roboter basiert auf einem bürstenlosen Gimbal-Controller-Board von Martinez. Es gibt einige leichte Variationen dieses Boards, aber solange Sie eines mit einem ATmega328-Chip und L6234-Motorcontrollern haben, sollte es Ihnen gut gehen. Wenn Sie in Google Images nach „Martinez-Board“suchen, werden Sie feststellen, dass es einige Boards mit einem einfachen Anschluss für den IMU-Chip und / oder die Batterie anstelle von Stiftleisten oder Löchern gibt. Im letzten Fall ist es praktisch, wenn Sie eine Packung Header-Pins bestellen, die Sie dann in die Löcher löten können.

Stückliste

Einige der Artikel auf dieser Liste enthalten Links zu Webshops.

  • Controller: Martinez BoardDX.com (kommt auch mit der IMU und einigen Header-Pins).
  • IMU: MPU6050
  • Akku (450 mAh 3S LiPo Akku) Hinweis: Sie benötigen auch ein 3S LiPo Ladegerät eBay.com
  • 2x Motor: Bürstenloser Motor 2208, KV100DX.com
  • Räder (Sie können diese von vorhandenen Spielzeugen oder LEGO erhalten)
  • 6x M2 Schraube 5 mm
  • 8x M3-Schraube (Länge hängt vom Material Ihres Exterieurs ab, eine muss extra lang sein)
  • Bluetooth-Chip HC-05 (stellen Sie sicher, dass Sie einen mit einer angeschlossenen seriellen Schnittstellenkarte erhalten, nicht nur einen nackten Chip) WICHTIG: Stellen Sie sicher, dass der Chip einen Pin mit der Aufschrift KEY hat.
  • Kabel: Buchse zu Buchse DuPontDer Kauf einer Packung mit 20 Kabeln ist mehr als genug
  • Klettband
  • USB-Kabel zum Anschluss des Controllers an den PC
  • Optional: Header pinsDX.com (Sie können diese auf die gewünschte Länge schneiden oder brechen)
  • Unterlegscheiben und Distanzstücke aus Kunststoff

Schließlich brauchen Sie noch etwas Acryl, Holz oder Pappe – begleitet von Kleber oder Klebeband – um eine Struktur zu schaffen, die alle Komponenten hält.

Schritt 2: Bluetooth-Chip-Konfiguration

Bluetooth-Chip-Konfiguration
Bluetooth-Chip-Konfiguration

Sobald Sie alle Teile in der Hand haben, ist es Zeit für die Konfiguration des Bluetooth-Chips. Sie benötigen ein USB-Kabel, um die Controllerplatine mit Ihrem Computer zu verbinden, sowie die Arduino IDE, um mit den Komponenten zu kommunizieren.

Dazu müssen Sie die Datei herunterladen:

HC-05_Serial_Interface.ino

Folgen Sie dann diesen Schritten:

  1. Verbinden Sie den Controller über ein USB-Kabel mit Ihrem Computer.
  2. Öffnen Sie die.ino-Datei mit der Arduino-IDE.
  3. Gehen Sie in der IDE zu Tools, Board und stellen Sie sicher, dass es auf Arduino/Genuino Uno eingestellt ist.
  4. Gehen Sie nun zu Tools, Port und stellen Sie ihn auf den COM-Port ein, an dem der Controller angeschlossen ist. Normalerweise gibt es nur einen Port. Wenn es mehrere gibt, überprüfen Sie den Geräte-Manager (in Windows), um herauszufinden, welcher der Controller ist.
  5. Klicken Sie nun in der IDE auf die Schaltfläche Hochladen und warten Sie, bis der Upload abgeschlossen ist. Trennen Sie dann das USB-Kabel entweder vom Computer oder vom Controller.

Schließen Sie anschließend den HC-05 mit DuPont-Kabeln wie folgt an:

HC-05-Controller

TASTE +5V GND GND TXD RX RXD TX

Stecken Sie nun das USB-Kabel wieder ein und verbinden Sie dann den VCC-Pin des HC-05 mit einem weiteren +5V am Controller. Die LED sollte mit einem Intervall von ~1 Sekunde blinken.

Wählen Sie in der Arduino IDE den richtigen COM-Port aus und gehen Sie dann zu Tools, Serial Monitor.

Setzen Sie die Option Line Ending im Serial Monitor auf Both NL & CR. Stellen Sie die Baudrate auf 38400 ein. Jetzt können Sie den Serial Monitor verwenden, um Setup-Befehle an den Bluetooth-Chip zu senden. Dies sind die Befehle:

AT Verbindung prüfen

AT+NAME Bluetooth-Anzeigenamen abrufen/einstellen AT+UART Baudrate abrufen/einstellen AT+ORGL Werkseinstellungen zurücksetzen AT+PSWD Bluetooth-Passwort abrufen/einstellen

Um den Namen, das Passwort und die Baudrate des Bluetooth-Geräts zu ändern, senden Sie die folgenden Befehle:

AT+NAME="Beispielname"

AT+PSWD="PassWord123" AT+UART="230400, 1, 0"

Die Optionen Name und Passwort können beliebig eingestellt werden. Stellen Sie jedoch sicher, dass Sie die Baudrate mit genau dem gleichen Befehl wie oben angegeben einstellen. Dies stellt es auf 230400 Baud ein, mit 1 Stoppbit und ohne Parität. Nachdem Sie alles eingerichtet haben, schließen Sie das USB-Kabel wieder an (um den Einrichtungsmodus zu verlassen) und versuchen Sie, Ihr Telefon mit dem Chip zu koppeln. Wenn alles funktioniert, trennen Sie das USB-Kabel und fahren Sie mit dem nächsten Schritt fort.

Schritt 3: Anbringen der Räder an den Motoren

Anbringen der Räder an den Motoren
Anbringen der Räder an den Motoren
Anbringen der Räder an den Motoren
Anbringen der Räder an den Motoren

Die Räder, die in diesem Projekt verwendet wurden, haben einen unbekannten Ursprung (sie lagen mit vielen anderen Sachen in einer Schublade herum). Um die Räder an den Motoren zu befestigen, haben wir ein Stück 3D gedruckt, das zu den Schraubenlöchern der Motoren passt. Die Teile wurden mit drei 5-Millimeter-2M-Schrauben pro Motor angeschraubt. Beide Teile haben einen Stift, der in die Löcher in den Achsen der Räder passt.

Das SolidWorks-Modell ist enthalten. Sie müssen es wahrscheinlich für Ihre Räder modifizieren oder eine andere praktische Lösung finden, um die Räder zu montieren. Zum Beispiel können Sie mit einem Dremel ein Loch in der gleichen Größe wie der Motor schnitzen (oder ein kleines bisschen kleiner, um ihm einen festen Sitz zu geben), dann können Sie den Motor in das Rad drücken. Stellen Sie nur sicher, dass Sie geeignete Räder für diesen Job besorgen, wenn Sie dies vorhaben.

Schritt 4: Erstellen des Äußeren

Das Äußere gestalten
Das Äußere gestalten

Für das Äußere wurden zwei Holzstücke verwendet und auf die gleiche Form geschnitten. Zu Beginn markierten wir den Umfang des Motors in der unteren Mitte des Stücks. Wir markierten dann jede Ecke mit einer 45-Grad-Linie und stellten sicher, dass genügend Platz für den Motor in der unteren Mitte bleibt. Wir haben dann die beiden Holzstücke zusammengeklemmt und die Ecken abgesägt. Zum Abschluss haben wir die Ecken geschliffen, um sie weniger scharf zu machen und Splitter zu entfernen.

Jetzt ist es an der Zeit, Löcher für die Schrauben und die Achse zu bohren, die aus der Rückseite des Motors herausragt. Wenn Sie beim Bohren die Holzstücke zusammenklemmen, müssen Sie jedes Loch nur einmal bohren.

Um das Layout für die Schraubenlöcher zu erstellen, haben wir ein Blatt Papier verwendet und es auf die Rückseite des Motors gelegt und mit einem Bleistift quer durch das Papier in die Schraubenlöcher gedrückt. Das Blatt Papier mit den vier Schraubenlöchern wurde dann auf das Holz gelegt, damit wir die Position der zu bohrenden Löcher markieren konnten. Verwenden Sie zum Bohren der Löcher einen 3,5 mm Bohrer. Suchen Sie nun mit Bleistift und Lineal die Mitte dieser Löcher und erstellen Sie mit einem 5 mm Bohrer das Loch für die Achse. Befestigen Sie die Motoren mit M3-Schrauben, aber lassen Sie eine der Schrauben mit größerem Abstand von einem Motor weg.

Um den Motorstecker und das Kabel in den Roboter zu bekommen, haben wir auch ein 8-mm-Loch etwas über dem Motor gebohrt. Stellen Sie sicher, dass genügend Platz für die Drähte vorhanden ist, um sie zu biegen, ohne sie zu stark zu belasten.

Es ist wichtig, so genau wie möglich zu arbeiten, um ein (nahezu) perfektes symmetrisches Äußeres zu schaffen

Schritt 5: Anbringen der Komponenten

Montage der Komponenten
Montage der Komponenten

Markieren Sie eine vertikale Mittellinie auf dem Holz, damit Sie die Komponenten in der Mitte platzieren können. Sie können alles mit Klettband am Holz befestigen. In unserem Roboter haben wir kleine Schrauben und Muttern verwendet, um die Controllerplatine zu befestigen, aber Sie können auch Klettband verwenden (das hatten wir noch nicht, als wir den Controller befestigten). Stellen Sie sicher, dass Sie nach Abschluss der Konstruktion ein USB-Kabel anschließen können.

Wir haben den Controller in der Mitte platziert, der USB-Anschluss zeigt nach unten, sodass wir das Kabel zwischen den Rädern einstecken konnten. Sie können es auch auf eine der Seiten zeigen.

Platzieren Sie den Akku so hoch wie möglich, damit der Roboter kopflastig wird. Platzieren Sie den Ladeanschluss außerdem an einer leicht erreichbaren Stelle in der Nähe des Randes.

Bluetooth-Chip

Verbinden Sie den VCC-Pin des Bluetooth-Chips mit +5 V am Controller und die Bluetooth-GND mit der GND des Controllers. Der TXD-Pin des Controllers geht zum Bluetooth RX und der RXD-Pin des Controllers geht zum Bluetooth TX-Pin. Dann kleben Sie den Bluetooth-Chip einfach mit Klettband irgendwo auf die Holzplatte.

Bewegungschip

Der Motion-Chip hat zwei Schraubenlöcher, daher haben wir den Chip mit einem Abstandshalter so befestigt, dass die Mitte des Chips über die Mitte des Motors fällt. Die Ausrichtung spielt keine Rolle, da sich der Roboter beim Booten selbst kalibriert. Verwenden Sie unbedingt eine Kunststoffscheibe unter dem Schraubenkopf, um einen Kurzschluss des Stromkreises zu vermeiden.

Verwenden Sie dann DuPont-Drähte, um die Pins mit dem Controller zu verbinden. Jeder Pin ist auf dem Controller genauso beschriftet wie auf dem Motion-Chip, sodass das Anschließen ziemlich selbsterklärend ist.

Stromschalter

Das Anschließen eines Netzschalters ist einfach. Wir haben eines von einem alten Gerät genommen und es von seiner Platine entlötet. Um es als Netzschalter für den Roboter zu verwenden, verbinden Sie das Pluskabel der Batterie mit dem Stift (vorausgesetzt, es handelt sich um einen dreipoligen Schalter) auf der Seite, an der Sie den Schalter einschalten möchten. Verbinden Sie dann den mittleren Pin mit dem positiven Stromeingang des Controllers. Wir haben DuPont-Drähte an den Switch gelötet, damit der Akku selbst nicht dauerhaft am Switch befestigt ist.

Verbinden der Seiten

Jetzt kennen Sie die Position der Komponenten und Sie haben die beiden Seiten des Roboters. Der letzte Schritt beim Bau des Roboters besteht darin, die beiden Seiten miteinander zu verbinden. Wir haben vier Sätze von drei zusammengeklebten Holzstücken verwendet und an den Seiten verschraubt, sodass sich unser Bewegungschip auf der Mittelachse des Roboters befand. Es sollte gesagt werden, dass das verwendete Material, sofern es stark genug ist, keine allzu große Rolle spielt. Sie können sogar eine schwerere Verbindung auf der Oberseite verwenden, um die Höhe des Massenschwerpunkts noch weiter zu erhöhen. Im Gegensatz zur vertikalen Position des Massenmittelpunkts sollte die horizontale Position des Massenmittelpunkts jedoch so weit wie möglich über der Radachse gehalten werden, da die Codierung des Codes für den Bewegungschip ziemlich schwierig werden würde, wenn der horizontale Mittelpunkt der Masse verdrängt.

Jetzt können Sie den Code hochladen und den Controller abstimmen.

Schritt 6: Hochladen und Optimieren des Codes

Um den Code hochzuladen, benötigen Sie einen Computer mit der Arduino IDE. Laden Sie die.ino-Datei unten herunter und öffnen Sie sie mit der Arduino IDE. Das Hochladen auf den Controller erfolgt auf die gleiche Weise wie mit dem Code aus dem Bluetooth-Setup.

Damit der Roboter funktioniert, müssen Sie die App „Joystick Bluetooth Commander“aus dem Play Store herunterladen. Schalten Sie den Roboter ein und legen Sie ihn entweder auf der Vorder- oder Rückseite auf den Boden. Starten Sie die App und verbinden Sie sich mit dem Bluetooth-Chip. Datenfeld 1 wechselt von XXX auf READY, sobald der Roboter sich selbst kalibriert hat (5 Sekunden, um ihn auf die Seite zu legen, gefolgt von 10 Sekunden Kalibrierung). Sie können den Roboter einschalten, indem Sie die Taste 1 in der App umschalten. Stellen Sie den Roboter nun senkrecht auf den Boden und lassen Sie ihn los, sobald Sie das Einschalten der Motoren spüren. Zu diesem Zeitpunkt beginnt der Roboter, sich selbst auszubalancieren.

Der Roboter ist nun bereit zum Tunen, da seine Stabilität wahrscheinlich nicht so groß ist. Sie können versuchen, ob es ohne zusätzliches Tuning funktioniert, aber Sie müssen den Roboter ziemlich identisch mit unserem machen, damit er richtig funktioniert. In den meisten Fällen sollten Sie den Controller also so einstellen, dass er am besten mit Ihrem Roboter funktioniert. Es ist ganz einfach, obwohl es ziemlich zeitaufwändig ist. So geht's:

Abstimmen des Controllers

Irgendwo im Code finden Sie 4 Variablen, beginnend mit einem k. Dies sind kp, kd, kc und kv. Beginnen Sie damit, alle Werte auf Null zu setzen. Der erste einzustellende Wert ist kp. Der Standard-kp-Wert ist 0,17. Versuchen Sie, es auf einen viel niedrigeren Wert wie 0,05 einzustellen. Schalten Sie den Roboter aus, laden Sie den Code hoch und sehen Sie, wie er versucht, das Gleichgewicht zu halten. Wenn es nach vorne fällt, erhöhen Sie den Wert. Der klügste Weg, dies zu tun, ist die Interpolation:

  1. Stellen Sie den Wert auf einen niedrigen Wert ein und probieren Sie es aus
  2. Stellen Sie den Wert etwas hoch ein und probieren Sie es aus
  3. Stellen Sie den Wert auf den Durchschnitt der beiden und probieren Sie es aus
  4. Versuchen Sie nun herauszufinden, ob es beim niedrigen oder hohen Wert besser ausbalanciert ist, und mitteln Sie den aktuellen Wert und den Wert, bei dem es besser funktioniert hat.
  5. Fahren Sie fort, bis Sie einen Sweet Spot gefunden haben

Der Sweet Spot für den kp-Wert liegt am Rande der Unter- und Überkompensation. Manchmal fällt es also nach vorne, weil es mit seiner Fallgeschwindigkeit nicht mithalten kann, und manchmal fällt es nach hinten, weil es in eine andere Richtung überschießt.

Nachdem Sie den kp-Wert eingestellt haben, stellen Sie den kd ein. Dies kann auf die gleiche Weise wie bei kp erfolgen. Erhöhen Sie diesen Wert, bis der Roboter fast im Gleichgewicht ist, sodass er hin und her schwingt, bis er umfällt. Wenn Sie es zu hoch einstellen, können Sie es schon ziemlich ordentlich balancieren, aber wenn das Gleichgewicht zu sehr gestört wird, fällt es um (wie wenn Sie es drücken). Versuchen Sie also, die Stelle zu finden, an der es nicht ganz ausgewogen ist, aber ziemlich nahe.

Wie Sie sich vorstellen können, kann die Abstimmung des Controllers mehrere Versuche erfordern, da es mit jeder neu eingeführten Variablen schwieriger wird. Wenn Sie also denken, dass es nicht funktionieren wird, beginnen Sie von vorne.

Jetzt ist es an der Zeit, den kv einzustellen. Interpolieren Sie dies, bis Sie einen Wert finden, bei dem der Roboter aufhört zu schwingen, im Gleichgewicht bleibt und einen leichten Stoß bewältigen kann. Eine zu hohe Einstellung beeinträchtigt die Stabilität. Versuchen Sie, mit kv und kp herumzuspielen, um einen Punkt zu finden, an dem es am stabilsten ist. Dies ist der zeitaufwendigste Schritt der Abstimmung.

Der letzte Wert ist kc. Dieser Wert lässt den Roboter in seine letzte Position zurückkehren, nachdem er einen Schub oder etwas anderes kompensiert hat. Sie können hier dieselbe Interpolationsmethode ausprobieren, aber 0,0002 sollte in den meisten Fällen ziemlich gut funktionieren.

Das ist es! Ihr Roboter ist jetzt bereit. Verwenden Sie den Joystick Ihres Smartphones, um den Roboter zu steuern. Beachten Sie jedoch, dass der Roboter beim Vorwärtsfahren mit maximaler Geschwindigkeit immer noch umfallen kann. Spielen Sie mit den Controller-Variablen herum, um dies so gut wie möglich auszugleichen. Der logischste Schritt wäre, sich dafür den kp-Wert anzusehen, da dieser den aktuellen Winkel des Roboters direkt kompensiert.

Wichtiger Hinweis zu LiPo-Akkus

Es wird empfohlen, die Spannung Ihres LiPo-Akkus regelmäßig zu überprüfen. LiPo-Akkus sollten nicht unter 3 Volt pro Zelle entladen werden – bei einem 3S LiPo sind es 9 Volt. Sinkt die Spannung unter 3 Volt pro Zelle, kommt es zu einem dauerhaften Kapazitätsverlust der Batterie. Sinkt die Spannung unter 2,5 Volt pro Zelle, entsorgen Sie den Akku und kaufen Sie einen neuen. Das Laden einer LiPo-Zelle mit weniger als 2,5 Volt ist gefährlich, da der Innenwiderstand sehr hoch wird, was zu einer heißen Batterie und einer möglichen Brandgefahr beim Laden führt.

Empfohlen: