Forum: Mikrocontroller und Digitale Elektronik Positionsregelung


von Nobody 0. (nobody08)


Lesenswert?

Hallo Forengemeinde,

ich möchte auf Basis eines Atmel-µC (evtl. Atmega8) einen Regler für 
eine Positionsregelung realisieren.
Die Programmierung soll in C erfolgen.

Leider habe ich mit dieser Art von Regelung (digital) noch wenig bis gar 
keine Erfahrungen.
Mein Vorhaben sieht wie folgt aus:

Mit einem Modellbauservo möchte einen bestimmten Winkel verfahren. Den 
Sollwert gebe ich in Form einer Spannung von 2V - 5V vor (AI-µC). Ein 
induktiver Wegsensor gibt mir den Istwert auch wieder als Analogsignal 
(AI-µC) zurück.

Ich habe Wissen über die Theorie der Regelungstechnik, habe jedoch noch
nie einen realen Regler ausgelegt.

- Welche Fragen sollte man sich im Vorfeld stellen um ein gutes Ergebnis
  zu erreichen ?
- Kenne verschiedene Verfahren zur Auslegung diverser Regler, wie siehts
  mit der Methode - Sprungantwort aus ?? Ist sie Empfehlenswert ?
- Wie finde ich heraus welcher Regler der Beste für diese Anwendung ist 
?

Sowohl im Forum als auch im Netz bin ich durch die Suche nur Teilweise 
voran gekommen.

Hoffe jemand kann mir helfen!
Danke

von ... (Gast)


Lesenswert?

Modellbauservo hat schon die komplette Regelung drin...

von Manuel Stahl (Gast)


Lesenswert?

Und wenn das nicht reicht -> www.openservo.org

von Peter Diener (Gast)


Lesenswert?

Hallo,

wir haben mal versucht, einen defekten Analogregler eines 
Modellbauservos mit einem µC zu ersetzen. Alle konventionellen Regler 
laufen schlechter als der analoge, der vorher drin war. Wir haben 
letztenendes einen Regler programmiert, der viele Sonderfälle 
berücksichtigt und sich damit dynamisch parametriert.

Probleme waren unter anderem:

DC-Motor hat hohes Anlaufmoment.
Getriebespiel.
Poti hat Spiel und rauscht.
Versorgungsspannung ist nicht stabil, wird auch von anderen Servos 
beeinträchtigt.
Innenwiderstand der Akkus ändert sich mit dem Entladezustand.

Und und und...


Das Ding ist alles andere als ein lineares oder linearisierbares System 
und wir haben ein halbes Jahr immer Abends dran gebatelt, bis es 
zufriedenstellend funktioiert hat.

Also merke, wenn dein Servo nicht mehr geht, kauf einfach einen neuen...


Grüße,

Peter

von Bernd H. (bhallinger) Benutzerseite


Lesenswert?

Also das geht schon digital ich hab das gerade mit nem Atmel Arm 7 
gemacht. Aber auch schon mal mit nem Atmel Can Mikrocontroller (CC01) 
auf 8051 Basis.

Ich habe jeweils einen H-Brückenbaustein mit PWM und Richtungsignal 
verwendet.
Die Richtung hab ich mit nem Graycodegeber erfasst. Lochscheibe mit 2 
Gabellichtschranken.
Ne Positionsregelung mach man am besten mit 2 hintereinander 
geschalteten Reglern. Erstmal Geschwindigkeit regeln. Dann aus soll und 
ist position die Sollgeschwindigkeit machen.
Ich habs mit PID Reglern gemacht.
Ich leg mir die Regelabweichung in eine Variable. Daraus leite ich mir 
den P-Anteil (Faktor ab) Dann summiere ich den I-Anteil auf. Den Alten 
I-Anteil muss man halt immer in ner Globalen Variablen merken. Die alte 
Regelabweichung auch. zur Bildung des D-Anteil. Diff zwischen aktueller 
und alter Regelabweichung. Das ganze mit geeigneten Faktoren 
(Regelparametern) versehen und Summieren ergibt die Stellgröße.

Das ganze wird dann halt zyklisch (Timer ISR) aufgerufen.

Soweit die Theorie.....Das Optimieren heißt entweder viel probieren oder 
eben die regelstrecke analysieren und dann die Regelparameter berechnen 
(wers mag.....)


Gruß Bernd

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
Noch kein Account? Hier anmelden.