mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Positionsregelung


Autor: Nobody 08 (nobody08)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Modellbauservo hat schon die komplette Regelung drin...

Autor: Manuel Stahl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn das nicht reicht -> www.openservo.org

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bernd Hallinger (bhallinger) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

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.