Hallo, ich versuche mich gerade an einer Drehzahlregelung einer Bremse, die ich über den PWM-Ausgang eines AVRs steuere. Im Schaltplan eines etwas älteren Kompaktsteuergerätes von Siemens ist zu erkennen, dass die Drehzahlregelung ursprünglich mit einem PI-Regler realisiert wurde, dessen Eingangsgrößen aus dem Drehzahl-Sollwert und dem -Istwert des Inkrementalgebers bestehen. Im Roboternetz fand ich einen Beitrag zur Umsetzung eines digitalen PI-Reglers, dessen Stellgröße allerdings auf einen Motor gegeben wird. Kann ich diesen C-Code durch Abänderung (Kehrwertbildung???) auch für meine Bremse verwenden? e = w - x; //Vergleich esum = esum + e; //Integration I-Anteil if (esum < -400) {esum = -400;} //Begrenzung I-Anteil if (esum > 400) {esum = 400;} y = Kp*e + Ki*Ta*esum; //Reglergleichung if (y < 0) {y = 0;} //Begrenzung Stellgröße if (y > 255) {y = 255;} PWM = y; //Übergabe Stellgröße Zur Porgrammierung verwende ich das Pollin-Evaluationsboard mit einem Atmega16 und CodeVisionAVR zum Compilen.
Ja. Dem Regler ist es egal, was er regelt - so lange das Problem mit einem PI-Regler lösbar ist. Bei einem Regler kommt es auf die Parameter an, wie er reagiert. Du muß für deine Bremse passende Werte finden.
Das heißt also, ich kann den Quelltext eins zu eins übernehmen? Die Parameter, sprich Abtastzeit und Verstärkung, erhält man dann am besten durch Probieren?
Am besten erhält man die Parameter durch errechnen (falls möglich). Probieren kann ggf. sehr aufwendig werden.
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.