AM 11: PID-Regler: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 49: Zeile 49:
Laut Ardumower Wiki soll die OpenSource Software direkt auf den bestellten Arduino Mega geladen werden können und lauffähig sein.
Laut Ardumower Wiki soll die OpenSource Software direkt auf den bestellten Arduino Mega geladen werden können und lauffähig sein.


== Reglersimulation ==
== Funktionsweise des Reglers ==
 
Das nachfolgende Simulink-Modell soll die Funktionsweise des PID-Reglers verdeutlichen. Die Eingangsgröße in den PID-Regler ist der Gierwinkel.


Die Reglersimulation wird über Matlab Simulink vorgenommen. Dabei wird zunächst die Ansteuerung der Motoren umgesetzt und anschließend werden die idealen Werte für den Regler ermittelt. Auch eine geschmeidige Geschwindigkeitsregelung wird mit diesem Modell optimiert.
Die Reglersimulation wird über Matlab Simulink vorgenommen. Dabei wird zunächst die Ansteuerung der Motoren umgesetzt und anschließend werden die idealen Werte für den Regler ermittelt. Auch eine geschmeidige Geschwindigkeitsregelung wird mit diesem Modell optimiert.

Version vom 10. Januar 2017, 11:11 Uhr

Dieser Wiki-Beitrag ist Teil eines Projektes, welches im Rahmen vom Fachpraktikum Elektrotechnik im 5. Semester Mechatronik absolviert wurde. Ziel des Beitrags ist es, eine nachhaltige Dokumentation zu schaffen, welche die Ergebnisse festhält und das weitere Arbeiten am Projekt ermöglicht.

Autoren: Simon Kohfeld, Marcel Kreuer

Betreuer: Prof. Schneider


Aufgabe

Regelung des Motors


Erwartungen an die Projektlösung

  • Einarbeitung in die bestehenden Ardumowers-Unterlagen
  • Implementierung des PID-Reglers zur Regelung der Antriebe.
  • Reglersimulation
  • Realisieren Sie eine geschmeidige Geschwindigkeitsregelung
  • Realisieren Sie ein schwingungsfreies Folgen der Induktionsschleife zur Ladestation
  • Mitwirkung bei der Inbetriebnahme und an der Schnittstelle Motor
  • Darstellung und Bewertung der Ergebnisse im Vergleich zur Referenz und Simulation
  • Erstellen Sie ein faszinierendes Video, welches die Funktion visualisiert.
  • Test und wiss. Dokumentation

Schwierigkeitsgrad

  • Mechanik:
  • Elektrotechnik: *
  • Informatik: **

Einleitung

Das Ardumowerprojekt des 5. Semesters Mechatronik in Kooperation mit dem Masterstudiengang Business and System Design Engineering an der Hochschule Hamm-Lippstadt hat zum Ziel, einen voll funktionsfähigen autonomen Rasenmähroboter in Betrieb zu nehmen. Dazu werden die notwendigen Aufgaben für die Erfüllung des Projektes auf einzelne Gruppen aufgeteilt. Der PID-Regler ist ein Bestandteil des Ardumower-Projektes und wird von einer Gruppe mit zwei Personen bearbeitet. Er soll für ein möglichst genaues Einhalten der vorgegebenen Richtung sorgen und somit Störeinflüsse auf die Fahrtrichtung herausregeln. Dazu ist es notwendig eine Hardware auszuwählen, die für den Regler relevante Messgrößen liefert. Anschließend muss der Regler mit einer Software impementiert werden und der ausgewählte Sensor dort eingebunden werden. In diesem Artikel werden begleitend zum Projekt des Ardumower der Projektverlauf und die erarbeiteten Aufgaben sowie die erreichten Ziele des Bereichs PID-Regler dokumentiert.

Projektdurchführung

In einem Kick-Off Meeting teilen die Projektleiter des BSE-Masterstudiengangs die einzelnen Themen in größere Bereiche auf, um die Projektkoordination zu vereinfachen. Der PID-Regler wird in die Gruppe Sensorik eingeordnet. Zusätzlich wird bekannt gegeben, dass im Rhytmus von zwei Wochen ein Wochenbericht jeder Gruppe im SVN hochzuladen ist, um den aktuellen Projektfortschritt überwachen zu können und um mögliche Probleme möglichst früh erkennen zu können.

Projektplan

Das Gesamtprojekt wird in drei Meilensteine aufgeteilt. Zunächst soll die Beschaffung stattfinden, dann schließt sich ein Funktionstest an, gefolgt von einem Integrationstest. Am 14.01.2017 soll das Gesamtprojekt vorgestellt werden können.

Benötigte Komponenten

Für den PID-Regler selbst werden keine Bauteile benötigt, da er auf die Daten der Gruppe Inertialnavigation zurückgreift und die geregelten Werte an die Motoren weitergibt, für welche es ebenfalls eine Gruppe gibt. Um in der Testphase eine zeitliche Unabhängigkeit zu gewärleisten, wird ein Ardumower Mini mit einem 3-Achsen Gyroskop bestellt. Dadurch können unabhängige Funktionstests durchgeführt werden. Die Aufgabe lautet also, den Ardumower Mini in Betrieb zu nehmen, um den Sourcecode für den PID-Regler testen zu können, damit die Läuffähigkeit für das Hauptprojekt garantiert werden kann.

Einarbeitung in bestehende Ardumower-Unterlagen

Da Ardumower ein OpenSource Projekt ist, gibt es den Sourcecode online zum Download. Dieser beinhaltet auch eine .cpp-Datei für den PID-Regler. Die notwendigen Einstellungen sind im Header dieser Datei beschrieben. Der P-Anteil soll erhöht werden, bis ein Signal vorhanden ist. Der I-Anteil kann dann auf 0,6*P und der D-Anteil kann auf 0,125*p eingestellt werden.
Laut Ardumower Wiki soll die OpenSource Software direkt auf den bestellten Arduino Mega geladen werden können und lauffähig sein.

Funktionsweise des Reglers

Das nachfolgende Simulink-Modell soll die Funktionsweise des PID-Reglers verdeutlichen. Die Eingangsgröße in den PID-Regler ist der Gierwinkel.

Die Reglersimulation wird über Matlab Simulink vorgenommen. Dabei wird zunächst die Ansteuerung der Motoren umgesetzt und anschließend werden die idealen Werte für den Regler ermittelt. Auch eine geschmeidige Geschwindigkeitsregelung wird mit diesem Modell optimiert. Abbildung

Projektverlauf

Nach dem Kick-Off Termin wird damit begonnen eine BOM zu erstellen, welche in der Abbildung zu sehen ist.

Abbildung

Es werden ein Ardumower Mini mit den empfohlenen Komponenten und ein 3-Achsen Gyroskop bestellt.

Nachdem die Komponenten eingetroffen sind, wird mit dem Aufbau des Ardumower Mini begonnen. Es fällt auf, dass dieser einige vorgebohrte Löcher hat, diese aber für die wenigsten Komponententen passend sind. Aus diesem Grund ragen einige Komponenten über den Ardumower Mini hinaus. Der Zusammenbau gelingt schließlich und ist in der Abbildung zu sehen.
Abbildung

Bei der Einarbeitung in den OpenSource Quellcode für den Ardumower fällt auf, dass dieser von ziemlich schlechter Qualität ist. So fehlt eine hinteichende Kommentierung des Codes und die im Funktionsheader beschriebenen Einstellungen bezüglich der P-, I- und D-Werte sind nicht sichtbar zugänglich, was eine möglichst schnellen Inbetriebnahme unmöglich macht. Der gesamte Ardumower-Quellcode ist zusammenhängend und kann in dieser Gesamtheit nicht auf den AduinoMega gespielt werden, da es bei der Kompilierung zu Fehlern kommt, die im Umfang des Codes nicht gefunden werden können.
Ein neuer Ansatz wird gewählt und ein PID-Regler selbsständig implementiert. Dazu erfolgt zunächst eine Absprache mit der zuständigen Gruppe für die Inertialnavigation, um sich auf eindeutige Schnittstellen einigen zu können.

Ergebnis

Bei Ablauf des Projektzeitplans kann der PID-Regler auf Basis der Daten der Inertialnavigation die Geradeausfahrt des ArdumowerMini regeln. Da die Ansteuerung der Motoren des ArdumowerMini identisch zu der Ansteuerung der Motoren des Ardumower ist, wird diese geregelte Geradeausfahrt auch für den Ardumower funktionieren. Ein Test dieser Geradeausfahrt war im Rahmen des Projektes nicht mehr möglich.

Zusammenfasung

Insgesamt ist das Teilprojekt PID-Regler erfolgreich bearbeitet worden, da der Funktionstst des Reglers an der Testhardware erfolgreich war. Endgültig abgeschlossen werden konnte das Projekt nicht, da der Abschlusstest an der Originialhardware nicht vorgenommen wurde.

Ausblick

Um das Teilprojekt PID-Regler abzuschließen,sollte die erstellte Software auf der Originalhardware zum Einsatz kommen. Außerdem bezieht der PID-Regler sich lediglich auf die Daten der Inertialnavigation, sodass zusätzlich ein Einbezug der Daten des Perimeter-Schleifen-Sensors möglich ist, um auch ein geregeltes Fahren entlang der Schleife zu ermöglichen.

Weiterführende Links

Unterlagen

YouTube-Video


→ zurück zum Hauptartikel: Fachpraktikum Elektrotechnik (WS 16/17)