Inhaltsverzeichnis:

Ball Balancer und PID Fiddler - Gunook
Ball Balancer und PID Fiddler - Gunook

Video: Ball Balancer und PID Fiddler - Gunook

Video: Ball Balancer und PID Fiddler - Gunook
Video: PID Balance+Ball | full explanation & tuning 2024, Juli
Anonim
Ball Balancer und PID Fiddler
Ball Balancer und PID Fiddler
Ball Balancer und PID Fiddler
Ball Balancer und PID Fiddler

Dieses Projekt richtet sich an Personen, die Erfahrung mit der Verwendung eines Arduino haben. Vorkenntnisse im Umgang mit Servos, OLED-Displays, Töpfen, Tasten, Löten sind hilfreich. Dieses Projekt verwendet 3D-gedruckte Teile.

Ball Balancer ist ein PID-Prüfstand zum Experimentieren mit PID-Tuning. PID Fiddler ist eine Fernbedienung zum Einstellen der PID-Abstimmung.

Eine PID wird verwendet, wenn Sie mehr Kontrolle über die Bewegung benötigen. Ein gutes Beispiel ist ein Auswuchtroboter. Der Roboter muss kleine Anpassungen vornehmen, um das Gleichgewicht zu halten und schnell reagieren, um sich selbst zu fangen, wenn er auf einen Stoß oder Stoß trifft. Ein PID kann verwendet werden, um die Reaktion der Radmotoren abzustimmen, um das Gleichgewicht zu halten.

Ein PID erfordert eine Rückmeldung von einem Sensor. Ein Auswuchtroboter verwendet Gyros und Beschleunigungsmesser, um den absoluten Winkel des Roboters zu messen. Der Ausgang des Sensors wird vom PID verwendet, um die Motoren zu steuern, um das Gleichgewicht zu halten.

Warum also habe ich einen langweiligen Ballbalancer entwickelt? Klar ist das cool, aber Balancierroboter kippen um, wenn sie nicht richtig gestimmt sind. Auswuchtroboter sind nicht das beste Gerät zum Experimentieren mit PID-Tuning. Der Ballbalancer ist viel stabiler und ein gutes visuelles Werkzeug, um die Auswirkungen des PID-Tunings zu sehen. Die Erkenntnisse aus dem Tuning des Ballbalancers können auf das Tuning eines Balancierroboters angewendet werden.

Der Ball Balancer ist eine Schiene an einem Drehpunkt. Auf der Schiene befindet sich eine Kugel, die sich beim Kippen der Schiene auf der Schiene hin und her bewegt. Die Schiene wird mit einem Servo gekippt. Am Ende der Schiene befindet sich ein Sensor, der den Abstand der Kugel vom Sensor misst. Der Eingang zum PID ist der Abstand der Kugel vom Sensor, und der Ausgang des PID ist das Servo, das die Schiene kippt und die Kugel bewegt.

Ich verwende die Arduino PID-Bibliothek.

Der PID Fiddler ist das, was ich verwende, um die PID-Werte abzustimmen. Sie brauchen keinen, aber es hilft. Der PID Fiddler ist vom Ball Balancer entfernt, er wird mit nur zwei Drähten verbunden und kann angeschlossen und getrennt werden, während der Ball Balancer läuft. Sobald Sie die besten Werte gefunden haben, können die Werte in Ihrer Projektskizze fest codiert werden.

Der zusätzliche Aufwand, den PID-Fiddler zu erstellen, zahlt sich in der Zeit aus, die erforderlich ist, um Tuning-Änderungen an der PID vorzunehmen. Sie können die Ergebnisse Ihrer Änderungen schnell sehen. Und es kann in zukünftigen Projekten wiederverwendet werden, die PIDs verwenden. Ganz zu schweigen davon, dass es Spaß macht zu bauen und cool aussieht!

Schritt 1: Ball Balancer - Teile

Ball Balancer - Teile
Ball Balancer - Teile
Ball Balancer - Teile
Ball Balancer - Teile
Ball Balancer - Teile
Ball Balancer - Teile

3D-gedruckte Teile finden Sie hier:

(Montageanleitung finden Sie in der Post-Printing-Anleitung im obigen Link)

1 - 1" x 1/8" Aluminiumwinkel, auf 500 mm Länge geschnitten.

1 - Adafruit VL53L0X Flugzeit-Entfernungssensor:

1 - Hobby Servo mit Ruderhorn

1 - Steifer Draht für Gestänge (ca. 7mm)

- Sonstiges Befestigungsschrauben

1- Arduino Uno

2 - LEDs (rot, grün)

3 - 330 Ohm Widerstände

- Sonstiges Überbrückungsdrähte und Steckbrett

- Flache schwarze Sprühfarbe

1 - Weißer Tischtennisball

Schritt 2: Ball Balancer - Montage

Ball Balancer - Montage
Ball Balancer - Montage

Montageanleitung für den Ball Balancer finden Sie hier:

Einige zusätzliche Tipps:

Sprühen Sie die Innenseite der Schiene flach schwarz, um Fehler vom Sensor zu reduzieren.

Gestänge (im Bild oben gezeigt):

- Verwenden Sie einen steifen Draht von etwa 7 mm Länge für die Verbindung zwischen dem Servosteuerhorn und der Sensorhalterung.

- Schiene nivellieren, Ruderhorn waagerecht in den Mittelpunkt der Servobewegung stellen (Servowert 90).

- Biegen Sie oben am Draht eine kleine Schlaufe und unten am Draht eine Z-förmige Biegung.

- Stecken Sie das Z-Ende in das Ruderhorn, markieren Sie den Punkt in der Mitte der Schlaufe am Sensorhalter.

- Bohren Sie ein kleines Loch und befestigen Sie das Kabel mit einer kleinen Schraube an der Sensorhalterung.

Schritt 3: Ball Balancer Verdrahtung & Arduino Sketch

Ball-Balancer-Verdrahtung & Arduino-Skizze
Ball-Balancer-Verdrahtung & Arduino-Skizze

Siehe das Bild oben für die Verkabelung.

Verwenden Sie eine separate Stromversorgung für das Servo. Dies kann ein Tischnetzteil oder ein Akku sein. Ich verwende ein Tischnetzteil mit 5V.

Der PID-Fiddler wird über zwei Drähte angeschlossen, einen an Pin 1 (serielles RX) und einen an Masse.

Die Skizze wird zur Verfügung gestellt.

Anmerkungen zur Skizze: Der Sollwert ändert sich alle 15 Sekunden von 200 mm auf 300 mm. Es ist hilfreich, den Serial Monitor auf der Arduino IDE zu verwenden, um die Sensorausgabe zu sehen.

Schritt 4: PID Fiddler 2 - Teile

PID-Geiger 2 - Teile
PID-Geiger 2 - Teile

3D-gedrucktes Schild und Knöpfe finden Sie hier:

4 - 10 Kohm-Töpfe

1- Momentane Kontakttasten:

1- Adafruit Monochrom 128x32 I2C OLED Grafikdisplay:

1- Arduino Uno

- versch. Header-Ping (0,1 Zoll), Klemmenblöcke, Anschlusskabel

Schritt 5: Pid Fiddler 2 - Verkabelung, Montage und Arduino Sketch

Pid Fiddler 2 - Verkabelung, Montage und Arduino-Skizze
Pid Fiddler 2 - Verkabelung, Montage und Arduino-Skizze
Pid Fiddler 2 - Verkabelung, Montage und Arduino-Skizze
Pid Fiddler 2 - Verkabelung, Montage und Arduino-Skizze

Verwenden Sie den Verdrahtungsplan für die Verdrahtung der Abschirmung.

Montagetipps:

- Tipps zur Herstellung von benutzerdefinierten Leiterplatten finden Sie in meinem anweisbaren:

- Superkleber-Header auf dem 3D-gedruckten Schild.

- Ich verwende Drahtwickeldraht.

- Verwenden Sie quadratische Bodentöpfe und schneiden Sie die Befestigungslaschen ab und kleben Sie sie mit Heißkleber fest.

- Komponenten sind gelötet. Verwenden Sie die Buchsenleiste für die OLED, und die OLED kann für die Verwendung in anderen Projekten einfach abgezogen und entfernt werden.

Skizzennotizen:

- Verbinden Sie ein Kabel vom Klemmenblock (verdrahtet mit Pin 2, TX) mit Pin 1 (seriellem RX) des Ball Balancer Arduino. Verbinden Sie einen Draht zwischen dem Klemmenblock (Masse) mit der Masse des Ball Balancer Arduino.

- Halten Sie die Taste gedrückt, stellen Sie die Knöpfe ein, um die PID-Einstellungen anzupassen, lassen Sie die Taste los, um die Werte an den Ball Balancer zu senden.

Schritt 6: Verwenden von Ball Balancer und PID Fiddler

Es bleibt nur noch, damit anzufangen!

- Legen Sie die Kugel auf die Schiene.

- Halten Sie die Taste am PID-Fiddler gedrückt, stellen Sie P, I und D auf Null, ST auf 200, um zu starten.

- Der Servo reagiert nicht mehr.

- Experimentieren Sie jetzt mit verschiedenen P-, I- und D-Werten, um zu sehen, wie sich dies auf die Reaktion und Bewegung des Balls auswirkt.

- Versuchen Sie, die Werte für Sample Time (ST) zu ändern. Die Abtastzeit ist die Zeit in Millisekunden, in der die Eingabe erfasst wird. Die Werte werden über die Abtastzeit gemittelt. Die Sensorausgabe eines stillstehenden Ziels wird um einen kleinen Betrag variieren. Wenn die Abtastzeit zu klein ist, "jittert" der Ausgang des PID. Der PID versucht, das Rauschen in den Sensormesswerten zu korrigieren. Die Verwendung längerer Sample-Zeiten glättet das Rauschen, aber die Ausgabe des PID wird ruckartig.

Schritt 7:

Nicht benutzt

Empfohlen: