Inhaltsverzeichnis:

Arduino Line Follower Wallrides Classroom Whiteboard - Gunook
Arduino Line Follower Wallrides Classroom Whiteboard - Gunook

Video: Arduino Line Follower Wallrides Classroom Whiteboard - Gunook

Video: Arduino Line Follower Wallrides Classroom Whiteboard - Gunook
Video: Tony Hawk Skates First Downward Spiral Loop - BTS 2024, November
Anonim
Image
Image

Der Linie am Boden zu folgen ist zu langweilig!

Wir haben versucht, Linienfolger aus einem anderen Blickwinkel zu betrachten und sie auf eine andere Ebene zu bringen - zum Schul-Whiteboard.

Schau, was dabei herausgekommen ist!

Schritt 1: Was brauchen Sie?

Wie zusammenbauen? Fahrgestell zusammenbauen
Wie zusammenbauen? Fahrgestell zusammenbauen

Für einen Rennroboter:

Mechanik:

1 x 2WD miniQ Roboter-Chassis; Es ist eine multifunktionale Plattform zum Erstellen einfacher zweirädriger Roboter

2 x 6V Micro-Getriebemotor mit Untersetzung 1:150; Die in der miniQ-Roboterplattform enthaltenen Getriebemotoren haben ein Übersetzungsverhältnis von 1:50 und sind zu schnell. Sie sollten durch stärkere Motoren zum Beispiel mit der Übersetzung von 1:150 oder höher ersetzt werden. Je höher das Übersetzungsverhältnis, desto langsamer fährt der Roboter auf dem Whiteboard, aber desto geringer ist die Wahrscheinlichkeit, dass die Räder durchrutschen

4 x Neodym-Magnet; Sie benötigen kleine Magnete von 3 mm Dicke mit 12 mm Durchmesser (für runde Form) oder mit 12 mm Seite (für eckige Form). Außerdem sollten Magnete ein Loch für die Maschinenschraube mit einem Senkkopf haben, normalerweise für M3. Manchmal geben Hersteller die Stärke der Magnetkupplung an. Es sollte im Bereich von 2 kg bis 2,4 kg liegen

Elektronik:

1 x Arduino-UNO; Der Bordcomputer. Die beliebteste Prototyping-Plattform

1 x Octoliner-Modul; Augen und Scheinwerfer Ihres Rennbots. Octoliner ist ein Cool-Line-Sensor bestehend aus 8 separaten Infrarot-Sensoren, die über eine I2C-Schnittstelle gesteuert werden

1 x Motorschild; Fast jedes Modul passt zu Ihnen. Ich habe dieses analoge auf Basis des L298p-Chips verwendet

1 x 2-zelliger 7,4V LiPo-Akku; Es kann einen großen Strom liefern, den Motoren benötigen, um die Anziehungskraft der Magnete zu überwinden. Der 2-Zellen-Akku hat eine Spannung im Bereich von 7,4V bis 8,4V. Es reicht für 6V Motoren und den eingebauten Spannungsregler auf dem Arduino Board. Jede Kapazität kann gewählt werden. Je größer der Akku, desto länger fährt der Roboter, aber beachten Sie, dass ein zu großer Akku schwer sein kann. Die Kapazität im Bereich von 800mAh bis 1300mAh ist optimal

Sonstig:

4 x männlich-weiblicher Draht;

4 x M3-Abstandshalter oder männlich-weiblicher Abstandshalter mit einer Länge von 10 mm;

3 x M3-Abstandshalter oder männlich-weiblicher Abstandshalter mit einer Länge von 25 mm oder mehr;

4 x M3x8 Senkkopfschraube;

1 x M3 Nylonschraube;

1 x M3 Nylon-Sechskantmutter;

Alle M3-Schrauben und Sechskantmuttern

Für ein Klassenzimmer:

Magnetisches Whiteboard, das an der Wand hängt;

Dicke schwarze magnetische Boardmarker;

Spezielles LiPo-Ladegerät oder mehrere Ladegeräte, wenn Sie viele Roboter herstellen und separat aufladen möchten

Schritt 2: Wie zusammenbauen? Fahrgestell zusammenbauen

Zuerst müssen Sie die miniQ-Chassisplattform zusammenbauen und die Motoren aus dem Bausatz durch leistungsstärkere mit der Übersetzung von 1:150 ersetzen. Vergessen Sie nicht, die Drähte an die Motorkontakte zu löten!

Schritt 3: Wie zusammenbauen? Magnete installieren

Wie zusammenbauen? Magnete installieren
Wie zusammenbauen? Magnete installieren

Installieren Sie die Magnete auf der miniQ-Plattform. Verwenden Sie M3x10-Abstandshalter, M3x8- oder M3x6-Senkkopfschrauben und M3-Muttern. Erforderliche Montagelöcher sind im Bild dargestellt.

Das ist wichtig!

Die Länge der Abstandshalter sollte genau 10 mm betragen. Testen Sie nach der Installation der Magnete die Plattform auf dem Whiteboard. Alle vier Magnete sollten sich neben der Magnettafel befinden und die Gummireifen auf den Rädern der miniQ-Plattform sollten vorgespannt sein und für eine gewisse Reibung mit der Tafeloberfläche sorgen.

Bewegen Sie den Roboter manuell über das Spielfeld. Während der Fahrt dürfen sich die Magnete nicht vom Board lösen. Wenn sich ein Magnet löst, bedeutet dies, dass die Gummireifen der Räder maximal belastet werden. Erhöhen Sie in diesem Fall den 10 mm Abstand aller Abstandshalter um 1 oder 2 mm, indem Sie ein Paar M3-Unterlegscheiben hinzufügen und versuchen Sie es erneut.

Schritt 4: Wie zusammenbauen? Elektronik hinzufügen

Wie zusammenbauen? Elektronik hinzufügen
Wie zusammenbauen? Elektronik hinzufügen

Montieren Sie das Arduino UNO Board auf der Plattform mit M3x25 Abstandshaltern, M3-Schrauben und M3-Muttern. Verwenden Sie keine kurzen Abstandshalter, lassen Sie etwas Platz unter der Arduino-Platine für Drähte und Batterie.

Installieren Sie das Motorschild auf dem Arduino UNO Board.

Installieren Sie das Octoliner-Modul. Drücken Sie es mit einer Nylon-M3-Schraube und -Mutter gegen die Plattform.

Das ist wichtig!

Verwenden Sie keine Metallbefestigungen, um den Octoliner zu montieren. Einige Befestigungslöcher auf der Breakout-Platine werden gelötet und als IO-Pins verwendet. Um Kurzschlüsse zu vermeiden, verwenden Sie Kunststoffbefestigungen, z. B. Nylon.

Schritt 5: Wie zusammenbauen? Verdrahtung

Wie zusammenbauen? Verdrahtung
Wie zusammenbauen? Verdrahtung

Verknüpfen Sie alle elektronischen Komponenten wie in der Abbildung gezeigt. Das Octoliner-Modul wird über 4 Drähte (GND, 5V, SDA, SCL) mit dem Arduino UNO verbunden. Schließen Sie Motoren an den Motorschirm an. Der LiPo-Akku ist mit den Kontaktpads der externen Stromversorgung am Motorschild sowie mit dem VIN-Pin auf dem Arduino-Board verbunden. Anstatt den VIN-Pin zu verwenden, können Sie den 5,5 mm x 2,1 mm großen Netzstecker auf der Platine verwenden.

Das ist wichtig!

Bei Verwendung des Motorschirms werden keine Drähte benötigt. Zwei Motorkanäle werden über 4 Pins angesteuert. 2 PWM-Pins sind für die Drehzahl zuständig, 2 DIR-Pins für die Drehrichtung. Normalerweise sind sie bereits mit bestimmten Arduino Board-Pins verknüpft und ihre Indexnummern können sich je nach Hersteller des Shields unterscheiden. Für mein Motorschild sind die Zahlen beispielsweise D4 D5 (DIR und PWM für den ersten Kanal) und D7 D6 (DIR und PWM für den zweiten Kanal). Für das ursprüngliche Arduino-Motorschild entsprechen die Pinnummern D12 D3 (DIR und PWM für den ersten Kanal) und D13 D11 (DIR und PWM für den zweiten Kanal).

Das ist wichtig!

Hobby LiPo Akkus haben keine Verpolschutzplatine! Ein versehentliches Kurzschließen der Plus- und Minuskontakte führt zu einem dauerhaften Batterieausfall oder einem Brand.

Schritt 6: Wie programmiere ich? XOD

Ein Programm für einen solchen Rennroboter zu erstellen ist noch einfacher als es zusammenzubauen.

In all meinen Projekten verwende ich die visuelle Programmierumgebung XOD, die es mir ermöglicht, Arduino-Programme grafisch zu erstellen, ohne Code zu schreiben. Diese Umgebung ist ideal für das schnelle Prototyping von Geräten oder das Erlernen von Programmieralgorithmen. Folgen Sie der XOD-Dokumentationswebseite, um mehr zu erfahren.

Um diesen Roboter zu programmieren, müssen Sie Ihrem XOD-Arbeitsbereich nur eine Bibliothek Amperka/Octoliner hinzufügen. Sie ist für die Arbeit mit einem achtkanaligen Zeilensensor erforderlich.

Schritt 7: Wie programmiere ich? Patch

Wie programmiert man? Patch
Wie programmiert man? Patch

Das Programm basiert auf dem Prinzip eines PID-Reglerbetriebs. Wenn Sie wissen möchten, was der PID-Regler ist und wie er funktioniert, können Sie einen anderen Artikel zu diesem Thema lesen.

Schauen Sie sich den Patch mit dem Roboterprogramm an. Mal sehen, welche Knoten darauf vorhanden sind und wie das alles funktioniert.

Octoliner-Linie

Es ist ein Schnellstartknoten aus der amperka/octoliner XOD-Bibliothek, der das Octoliner-Modul darstellt, das die Linie verfolgt. Es gibt den "Linienverfolgungswert" aus, der im Bereich von -1 bis 1 liegt. Der Wert 0 zeigt an, dass sich die Linie relativ zu den Infrarotsensoren auf der Octoliner-Platine in der Mittelposition befindet (zwischen CH3 und CH4). Der Wert -1 entspricht der äußersten linken Position (CH0), während die 1 der äußersten rechten Position (CH1) entspricht. Initialisiert auf dem Boot-Knoten die Optokoppler-Sensoren und stellt ihre Standardhelligkeits- und Empfindlichkeitsparameter ein. Die Eingänge für diesen Knoten sind die I2C-Adresse des Geräts (ADDR für das Octoliner-Board ist es 0x1A) und die Aktualisierungsrate des Line-Tracking-Werts (UPD), ich habe sie kontinuierlich eingestellt.

Die Zeilenverfolgungswerte werden direkt dem pid-Controller-Knoten zugeführt.

pid-controller

Dieser Knoten implementiert die Arbeit des PID-Reglers in XOD. Der Zielwert (TARG) dafür ist 0. Dies ist der Zustand, in dem sich die Linie genau in der Mitte unter dem Roboter befindet. Wenn der Linienverfolgungswert 0 ist, wird der PID-Regler über den RST-Pin zurückgesetzt. Wenn der Linienverfolgungswert von 0 verschieden ist, wandelt der PID-Regler ihn mit den Koeffizienten Kp, Ki, Kd in die Motordrehzahlwerte um. Die Koeffizientenwerte wurden experimentell ausgewählt und waren gleich 1, 0,2 bzw. 0,5. Die Aktualisierungsrate (UPD) des PID-Reglers ist auf kontinuierlich eingestellt.

Der verarbeitete Wert des PID-Reglers wird von der 1 subtrahiert und zur 1 addiert. Er dient dazu, Motoren zu desynchronisieren, damit sie sich bei Leitungsverlust in entgegengesetzte Richtungen drehen. Der Wert 1 in diesen Knoten repräsentiert die maximale Drehzahl der Motoren. Sie können die Geschwindigkeit verringern, indem Sie den niedrigeren Wert eingeben.

h-Brücke-DC-Motor

Einige dieser Knoten sind für die Steuerung des linken und rechten Robotermotors verantwortlich. Stellen Sie hier die PWM- und DIR-Pin-Werte ein, über die Ihr Motorschild arbeitet.

Flashen Sie den Patch und testen Sie Ihren Rennbot. Wenn Sie die Montageanleitung genau befolgen, brauchen Sie weder den Patch zu ändern noch den PID-Regler anzupassen. Die angegebenen Einstellungen sind ganz optimal.

Das fertige Programm findet ihr in der Bibliothek gabbapeople/whiteboard-races

Schritt 8: Schaufenster und Tipps

Empfohlen: