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
Bei den ganzen Fließkommazahlen wird dem Mikroprozessor ja übel ;) Hast du auch die float-libs "aktiviert" ?
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
Hi. Mich interessiert sehr der gesamte Versuchsaufbau. Gibt es irgendwo ein Schaltbild und Fotos Beschreibung etc. pH
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.