Hallo, ich möchte gern eine Drehzahlregelung für einen Elektromotor in eine Mikrocontroller implementieren. Die Drehzahl wird über einen Drehgeber ermittelt. Ein PI-Regler wäre sicherlich richtig für diese Anwendung. Nun habe ich keinen Schimmer wie ich herangehen soll, bzw. wie ich sowas im Code umsetze. Wie programmiert man sowas? Habe bisher immer nur in Simulink mit Reglern zu tun gehabt. Gruß, Patrick
Patrick S. schrieb: > Nun habe ich keinen Schimmer wie ich herangehen soll Je nachdem, wo es klemmt: entweder mit den Grundlagen von Regelungstechnik oder Programmierung oder Schaltungstechnik oder ... Wo klemmt es denn?
Das Integral wird dann zur Summe? Es klemmt nur bei der Programmierung.
Du programmierst genau das, was du im Regelkreis hast. Zuerst misst du dein Istwert. Dann bestimmts du daraus mit Hilfe des Sollwertes die Regelabweichung. Für den P-Anteil nimmst du die Regelabweichung und multiplizierst sie mit einem Faktor. Für den I-Anteil multiplizierst du die Regelabweichung mit einem Faktor und addierst das Ergebnis zu dem I-Anteil aus der vorhergehenden Runde. Den P- und den I-Anteil addierst du und hast einen Wert für deine Stellgröße. Diese Stellgröße gibst du in irgendeiner Form in Richtung Motor. Das Ganze wiederholst du zyklisch und fertig.
Patrick S. schrieb: > Das Integral wird dann zur Summe? > Es klemmt nur bei der Programmierung. In Regelungstechnik nicht gelernt wie man ne Differenzengleichung aufstellt?
Patrick S. schrieb: > Es klemmt nur bei der Programmierung. Wobei solche µC-Regler oft zu langsam sind. Analoge Regler sind da oft besser geeignet.
1234567890 schrieb: > Du programmierst genau das, was du im Regelkreis hast. > Zuerst misst du dein Istwert. Dann bestimmts du daraus mit Hilfe des > Sollwertes die Regelabweichung. Für den P-Anteil nimmst du die > Regelabweichung und multiplizierst sie mit einem Faktor. Für den > I-Anteil multiplizierst du die Regelabweichung mit einem Faktor und > addierst das Ergebnis zu dem I-Anteil aus der vorhergehenden Runde. Den > P- und den I-Anteil addierst du und hast einen Wert für deine > Stellgröße. Diese Stellgröße gibst du in irgendeiner Form in Richtung > Motor. Das Ganze wiederholst du zyklisch und fertig. Vielen Dank, mehr wollte ich nicht wissen.
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.