www.mikrocontroller.net

Forum: Projekte & Code PID-Regelung eines Versuchsaufbaus


Autor: Uli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich poste hiermit mein erstes Mikrocontrollerprojekt und bin dankbar
für Anregungen und andere Vorschläge.
Das Programm (geschrieben für Atmel Mega32 mit AVR Studio, GCC) dient
der PID-Regelung eines Versuchsaufbaus. Geregelt wird die Stellung
einer Art kleiner Katzenklappe, die in Ruhe vertikal hängt. Diese wird
nun von einem davor montierten EMotor angeblasen, wodurch sie sich
schief stellt, und möglichst genau und stationär bestimmte Positionen,
d.h. Drehwinkel, einnehmen soll. Regelgrösse ist ein Messwert des ADC,
der die Position der Klappe angibt (an deren Drehachse ist ein Poti
angebracht). Gesteuert wird der Motor mittels eines PWM-Signals.
Der ADC liest neben der Stellung der Klappe der Reihe nach noch die
Führungsgrösse (also den gewünschten Sollwert für die Klappe) sowie die
drei Faktoren für die PID-Regelung ein - mittels 3er Potis lassen sich
somit die Eigenschaften der Regelung zur Laufzeit variieren (das ganze
ist als Demonstrationsmodell gedacht, um verschiedene Regelauslegungen
anschaulich machen zu können).
Das ganze Programm ist interruptbasiert, da die Vorgänge zeitlich exakt
sein müssen. Interessierende Werte können mit USART (ich verwende die
Lib. von Peter Fleury) ausgelesen werden.

Schönen Abend,
Uli

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den ganzen Fließkommazahlen wird dem Mikroprozessor ja übel ;) Hast
du auch die float-libs "aktiviert" ?

Autor: Uli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, float-libs habe ich nicht verwendet... Sollte ich das denn machen
und wofür, bzw. wo finde ich Infos dazu? Ich bin wie gesagt mit der
Problematik Mikrocontroller zum ersten Mal konfrontiert.
Die Variablen die ich verwende sind ja alles integers; bei den
Fließkommazahlen auf die Du anspielst vermute ich handelt es sich um
die Parameterskalierungen ganz am Ende des Programmes?

Danke,
Uli

Autor: P.H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Mich interessiert sehr der gesamte Versuchsaufbau.
Gibt es irgendwo ein Schaltbild und Fotos Beschreibung etc.

pH

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hoch ist eigentlich die Auslastung des uC ?

Funktioniert der D Anteil stabil ? Ich hatte öfters das Problem, dass
durch den Quantisierungsfehler des ADCs der D Anteil zwischen 0, -1 und
1 herumspringt, der dann noch mit dem Kd Faktor Multipliziert wird, und
so das Ergebnis ziemlich stark versaut.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.