Forum: Mikrocontroller und Digitale Elektronik Mit PID und PWM einen dc Motor regeln


von Michael S. (halber)


Lesenswert?

Hallo,
ich als Informatiker habe ein großes Problem. Ich muss zu Testzwecken 
einen DC-Motor mittels einem PWM-Signal Regeln. An dem Motor ist ein 
Poti, das mir die Stellung verrät. Die ganze Sache ist dem Elektrischem 
Gaszug am Auto sehr ähnlich. Jetzt habe ich das Problem, das ich mit 
Regelungstechnik wenig anfangen kann. Ich habe hier im Forum auch schon 
mal nachgesehen. Komme da aber gerade nicht so wirklich weiter. Die 
ganze Regelgeschichte sollte auch nur mit Integeren arbeiten. Mein 
erster Versuch die Formel für die PID-Regelung naive per copy-paste und 
ein paar int Deklarationen umzusetzen, war nicht sehr erfolgreich. 
Verstehe aber auch nicht sehr viel davon. Gibt es eventuell 
Referenzimplementierungen? Kann mir einer den Algorithmus in einem c 
ähnlichen Sprache nennen? Und wie erzeuge ich eigentlich mit der 
Regelung am besten mein PWM-Signal?

Im vorraus vielen Dank und bitte habt Rücksicht, ich bin ein einfacher 
Informatiker und verstehe von diesen Dingen nicht allzu viel.

von Profi (Gast)


Lesenswert?

Hallo Michael,
ich würde mal alles der Reihe nach machen: zuerst mal nur die PWM, dann 
einen P-Regler, dann sehen wir weiter.

Ein guter Regler muss auch bremsen und rückwarts fahren können (um 
Überschwinger zu korrigieren).

Du bekommst ja einen Error-Wert, den gibst Du auf das PWM-Register.
Bzw. wenn Du eine Vollbrücke hast, musst Du das Vorzeichen des 
Error-Wertes testen und an der Brücke die Drehrichtung entsprechend 
einstellen.

Steht die Hardware schon? Vollbrücke?

von Michael S. (halber)


Lesenswert?

Hallo Profi,
danke für die schnelle Antwort. Das PWM-Signal ist ja kein Akt. Um den 
P-Regler werde ich mich dann gleich mal kümmern. Zu deinen Fragen, ja 
die Hardware steht schon und was die Vollbrücke angeht muss ich mal 
nachsehen. Kann ich jetzt nicht mit Gewissheit sagen. Aber könntest du 
mir schon verraten, wie es dann weiter geht, bzw. gehen sollte?

von Gerhard (Gast)


Lesenswert?

Hallo Michael,

das was du da bauen willst ist in jedem Modellbauservo drinnen.
Du willst es aber selbst programmieren, da kann ich dir folgende Seite
empfehlen.

http://elm-chan.org/works/smc/report_e.html

Positionsrückmeldung wird hier zwar über einen Drehgeber gemacht,
würde ich auch so lassen.

Gruss Gerhard

von Profi (Gast)


Lesenswert?

"Aber könntest du mir schon verraten, wie es dann weiter geht, bzw. 
gehen sollte?"

Vom P zum PI-Regler ist es nur noch eine Kleinigkeit (eine Zeile Code), 
und ob es wirklich ein PID-Regler werden muss, wird sich zeigen. Dort 
sind die Regel-Konstanten oft sehr schwer zu bestimmen.

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.