|
|
Höhenreglung f. Quadrocopter, Simulinkmodell anpassen |
|
iDaniel |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 14.03.2016, 14:14
Titel: Höhenreglung f. Quadrocopter, Simulinkmodell anpassen
|
|
|
|
|
Hallo,
ich habe vor einen Quadrocopter mittels Ultraschall eine Höhe halten zu lassen. Dazu habe ich einen PID Regler programmiert. Um passende Regelwerte zu testen habe ich das ganze auch in Simulink stark vereinfacht nachgebildet. Da es nur um die Höhenreglung geht wird die Lagereglung natürlich vernachlässigt. Der Copter befindet sich dabei im Schwebezustand, also FMotoren = FG. Der Regler addiert dann den Gaswert auf bzw. zieht etwas ab um eine Änderung hervorzurufen. Mein bisheriges Modell sieht schonmal ganz gut aus, jedoch passen die Modellregelwerte noch nicht ganz zu den realen.
Zur Auswertung habe ich außerdem ein Blackbox die mir Messwerte des Copters aufnimmt. Damit hab ich z.b. schonmal Steigdiagramme aufgenommen oder eine erste Flugaufnahme mit viel zu hohem P Wert.
Noch ein par Infos zum Copter: -Gewicht 700g Abflugfertig -Max Schub ca 2400g laut Motordatenblatt -Messwert des Ultraschallsensor all 60ms -Datenaufnahme in Blackbox leider nur alle 160ms möglich
Wie kann ich das Modell noch verbessern?
Grüße
Daniel
Beschreibung: |
|
Download |
Dateiname: |
Hoehenregler.slx |
Dateigröße: |
17.83 KB |
Heruntergeladen: |
618 mal |
Beschreibung: |
Steigflug mit 1527 Gaswert, Gaswert geht von 1150-1850, ~1500 Schwebegas. Wert der von der Fernbedienung und dem Regler verändert wird. |
|
Download |
Dateiname: |
Steig 1527.PNG |
Dateigröße: |
76.82 KB |
Heruntergeladen: |
603 mal |
Beschreibung: |
Flugdaten mit zu hohem P Wert, I und D =0 Gelb: Gaswer, Blau: Höhe, Grau: Reglerausgang |
|
Download |
Dateiname: |
Regler mit P60 ID0.png |
Dateigröße: |
67.39 KB |
Heruntergeladen: |
597 mal |
|
|
|
|
|
BBecks |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 26.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.03.2016, 18:05
Titel:
|
|
|
|
|
Hey Daniel,
erst mal interessantes Projekt was du da hast, habe auch schon überlegt mir mal eine Drohne und dementsprechend die Regelungen zu entwerfen. Aber fangen wir mal ganz vorne an . Ist das eine selbst gebaute Drohne oder eine gekaufte bei der du den Höhen-Regler ein- und ausschalten kannst?
Wenn ich mir dein Simulink Modell, mit den zugehörigen Plots fällt mir erst mal auf, das du drei Sprungfunktionen nimmst, wo für das Gleiche Signal nur zwei nötig sind.
Weiterhin nimmt man am besten nur eine Sprungfunktion um Regler auszulegen. Wenn das erst mal gemacht ist, kannst du dir gerne die wildesten Sollwert-Änderungen überlegen. Ich habe jetzt mal die Sprungfunktion von 30 auf 100 drin gelassen.
Das heißt deine Drohne fliegt auf 30 (cm,m ?) und Soll auf 100 fliegen.
Diese hat zur folge, das du deinen Integrator1 mit einer Initial Condition von 30 parametrieren musst, da der ansonsten bei 0 anfängt.
In der Regelungstechnik ist es üblich, die Sprungfunktion (Änderung des Sollwertes) und die Sprungantwort (Änderung des Istwertes) in der gleichen Grafik anzuzeigen. Das habe ich hier mal mit Hilfe eines Mux realisiert. jetzt erkennt man gut die Abweichung.
Dein Differential-Anteil(D) ist extrem hoch, vor Allem im Gegensatz zu den anderen.
Am besten ließt du dich einmal in die Thematik ein, was jeder Anteil des PID-Reglers so für Effekte hervorruft.
Ich hoffe ich konnte dich schon mal etwas näher heranführen.
Beste Grüße
BBecks
Beschreibung: |
|
Download |
Dateiname: |
Hoehenregler.slx |
Dateigröße: |
19.24 KB |
Heruntergeladen: |
600 mal |
|
|
|
iDaniel |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2016, 10:21
Titel:
|
|
|
|
|
BBecks hat Folgendes geschrieben: |
Hey Daniel,
erst mal interessantes Projekt was du da hast, habe auch schon überlegt mir mal eine Drohne und dementsprechend die Regelungen zu entwerfen. Aber fangen wir mal ganz vorne an . Ist das eine selbst gebaute Drohne oder eine gekaufte bei der du den Höhen-Regler ein- und ausschalten kannst?
|
Es ist eine selbstgebaute, mit gekauften Komponenten Die Steuerung ist ein Arduino mit Multiwii und den Regler kann ich per Schalter ein und ausschalten. Das ist z.B. der Höhenregler von mir im Code:
Zitat: |
Wenn ich mir dein Simulink Modell, mit den zugehörigen Plots fällt mir erst mal auf, das du drei Sprungfunktionen nimmst, wo für das Gleiche Signal nur zwei nötig sind.
Weiterhin nimmt man am besten nur eine Sprungfunktion um Regler auszulegen. Wenn das erst mal gemacht ist, kannst du dir gerne die wildesten Sollwert-Änderungen überlegen. Ich habe jetzt mal die Sprungfunktion von 30 auf 100 drin gelassen.
Das heißt deine Drohne fliegt auf 30 (cm,m ?) und Soll auf 100 fliegen.
|
Genau sie soll z.B. von 30 cm auf 100 cm fliegen. Ausgangspunkt ist immer irgendeine Höhe in der sie schwebt und ich dann den Regler anschalte.
Zitat: |
Dein Differential-Anteil(D) ist extrem hoch, vor Allem im Gegensatz zu den anderen.
Am besten ließt du dich einmal in die Thematik ein, was jeder Anteil des PID-Reglers so für Effekte hervorruft. |
Ja das ist durch das "Auto Tune" des PID Bausteins so hoch
Danke schonmal für das Aufräumen des Modells
|
|
|
iDaniel |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.03.2016, 11:34
Titel:
|
|
Gibt es einen Baustein, er mit die Werte vom Kontinuierlichen ins Diskrete bringt?
habe durch die Laufzeitmessung des Ultraschall nur alle 65 ms einen neuen Messwert, dass möchte ich noch einbringen.
|
|
|
BBecks |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 26.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2016, 12:25
Titel:
|
|
Hey,
ja das ist eigentlich ganz einfach, du musst zunächst deinen Regler auf Diskret umstellen, das steht in der Maske knapp über den eigentlichen Parametern. Hier musst du dann noch die Sample-Time eingeben mit der dein System läuft.
Anschließend ersetzt du deine Integratoren noch durch diskrete Integratoren. Bei dem Integrator, der dir die Höhe liefert, setzt du die Sample-Time auf 0.065 sek.
Du bekommst dann auch ein höheres Überschwingen, da dein Regler ja nur zu diskreten Zeitpunkten eingreifen kann und Daten bekommt.
PS: kannst du mal bitte das Datenblatt deiner Motoren hochladen, oder mir sagen welche es sind?
Beste Grüße
BBecks
|
|
|
iDaniel |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 14.03.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.04.2016, 16:25
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|