Drehzahlregelung mit AVR

Gast #129340
Hallo allerseits

Ich möchte einen Drehzahlregler für einen Gleichstrommotor (nach)bauen.
Als Ausgang sollte der Regler ein PWM-Sinal für meinen Motor liefern,
als Einang würde er ein Tachosignal über eine Reflexlichtschranke
bekommen.

Ein nettes Gimmick wäre auch, wenn man die Soll- und/oder Ist-Drehzahl
anzeigen könnte. Wenn ich allerdings überhaupt einen Drehzahlregler
finden könnte, wäre mir schon sehr geholfen.

Deshalb meine Frage: Hat das schonmal jemand von Euch gemacht? Am
Besten mit einem AVR?

Gruß,
Jan
Gast #129342
Hallo Thomas

Ja, ich weiß von der Hardware-PWM vom AVR. Ist in der Application Node
eine richtige Regelun mit dabei? Mal schauen...

Eigentlich hatte ich schon gehofft, daß jemand sowas schon einmal
programmiert hat. Aber in Eurer Codesammlung konnte ich nichts
passendes finden. Eigentlich ist die Programmierung der
Drehzahlregelung trivial, aber ich hatte gehofft, mir überhaupt diese
Arbeit sparen zu können...

Gruß,
Jan
Gast #129344
Die Reglergleichung ist ja eigentlich trivial. In deinem Fall dürfte ein
IT1-System vorliegen (wenn du die Tachoimpulse in einer fixen Zeit
hochzählst). Ein PI-Regler sollte für deinen Zweck ausreichen.
Die Kunst ist das Anpassen der Parameter. Da diese bei jedem anders
sind, würde dir wahrscheinlich fremder Code recht wenig helfen.
Wenn du keine Systemidentifizierung durchführst und das Ganze durch
probieren heraus bekommen willst, dann wünsche ich viel Spaß :-)

Hilfe dürfte dir jeder Regelungstechnik-Skript einer beliebigen Uni
(->Google) geben.
Gast #129346
Stimmt, der eigentliche PI-Regler sind drei Zeilen Source. .-)

Aber wie schon jemand sagte, das Problem ist das festlegen der
Regelparameter und die kann man von niemanden abschreiben.
Das macht die Sache fuer Anfaenger leider SEHR kompliziert. Finde ich
aber gut da man vom abschreiben nichts lernt.

Zumals es da auch noch ein paar Tricks und Fiesslichkeiten gibt. Z.b
sollte man den Maximalwert von I begrenzen.

Aber die Ausgabe von Drehzahl oder Position auf ein LCD ist dann ganz
einfach. :-)

Olaf
Gast #129347
Ok, erstmal danke für die Hinweise.

Hab ich das richtig verstanden mit dem PI-Regler? Ändere ich die
Regelgröße, dann geht die Ausgangsgröße sofort auf den erwarteten Wert
(P-Teil) und regelt dann schrittweise höher (I-Teil), bis die
Soll-Drehzahl tatsächlich erreicht ist. Dann kommt es zum
Überschwingen, da der I-Anteil vermutlich zu groß ist und dieser Anteil
wird wieder schrittweise runtergeregelt usw. Oder wie funktioniert das?

Gruß,
Jan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.