Hallo.
Ich drehe mich gerade im Kreis... Nur ein proportional Regler. Der hat
ja die Gleichung y=kp * e mit der regelabweichung e=w-x.
Ich habe einen Motor der als sollgröße w 1000 Ticks pro s drehen soll.
Wenn der Motor steht habe ich maximale Abweichung, d.h. Als regelgröße
gibt es einen maximalen Wert. Dann dreht der Motor hoch. Angenommen die
Drehzahl wird auch erreicht, dann ist e null und nach der Regelgleichung
wäre die eingangsgröße dann 0. der Motor geht aus.
Ist es so, dass der proportionalteil wie ein zweipunkt Regler gemacht
wird, oder wird der proportionalteil immer zu der letzten Ansteuerung
addiert, so dass bei e=0 keine Änderung an y passiert? Das wäre so wie
ich verstand aber i Anteil.
Frage: falls der p Anteil wie ein zweipunkt Regler wirkt, kann der dann
einfentluch einen Motor regeln? Schwingen hin oder her.
Vielen dank
Drwho schrieb:> Der hat ja die Gleichung y=kp * e mit der regelabweichung e=w-x.
... jedenfalls, wenn y die Bezeichnung für den Stellwert, kp die für die
Verstärkung des Proportionalanteils, w die für den Sollwert und x die
für den Istwert ist.
> Angenommen die Drehzahl wird auch erreicht, dann ist e null und nach> der Regelgleichung wäre die eingangsgröße dann 0. der Motor geht aus.
Dagegen hilft der Integralanteil. Ohne bleibt ein Regelfehler und der
Motor erreicht nie den Sollwert, weil die Verstärkung endlich ist.
@ Drwho (Gast)
>Ich drehe mich gerade im Kreis... Nur ein proportional Regler. Der hat>ja die Gleichung y=kp * e mit der regelabweichung e=w-x.
OK.
>Ich habe einen Motor der als sollgröße w 1000 Ticks pro s drehen soll.>Wenn der Motor steht habe ich maximale Abweichung, d.h. Als regelgröße>gibt es einen maximalen Wert. Dann dreht der Motor hoch.
Ja.
> Angenommen die>Drehzahl wird auch erreicht, dann ist e null und nach der Regelgleichung>wäre die eingangsgröße dann 0. der Motor geht aus.
Den Puinkt erreicht ein reiner P-Regler aber nie ;-)
>Ist es so, dass der proportionalteil wie ein zweipunkt Regler gemacht>wird,
Nein.
> oder wird der proportionalteil immer zu der letzten Ansteuerung>addiert, so dass bei e=0 keine Änderung an y passiert?
Nein.
>Das wäre so wie ich verstand aber i Anteil.
Eben.
>Frage: falls der p Anteil wie ein zweipunkt Regler wirkt,
Tut er nicht.
> kann der dann einfentluch einen Motor regeln? Schwingen hin oder her.
Er kann schon, aber ein P-Regler hat eine bleibende Regelabweichung,
wenn die Regelstrecke KEINEN I-Anteil hat.
Die Regelabweicgung steigt mit dem Sollwert.
Hi,
Wenn das k klein ist hast du eine Regelabweichung. Mit steigendem k
kommst du näher ran . Wenn das k zu groß wird , dann schwingt das
System.
Ein ausgeregeltes System bekommst du mit einem PI oder PID Regler. Der P
Regler allein kann seinen Sollwert nicht erreichen.
Gruß JackFrost
Hi,
Das meine ich gar nicht. Angenommen der Regler HAT die Drehzahl
erreicht. Dann ist y=0. gebe ich dann 0 als Anregung auf den Motor oder
bezieht sich die 0 auf eine Änderung.
Das Gefühl sagt ja letzteres. Wenn ich erreicht habe, nichts mehr an der
Anregung ändern. Aber so wie ich immer lese wird die stellgröße y als
kp*e errechnet und das wäre ja dann Motor aus.
Ist mein Problem klar geworden?
Wenn ein P Regler seinen Sollwert erreichen würde , dann ist der
Stellgrad Null und somit wird keine Energie zugeführt. Der Motor bekommt
also keinen Strom. Bei einer PWM währen es 0 %. Bei einem 4-20 mA Signal
gibt der Regler 4 mA aus.
Gruß JackFrost
Wenn bei erreichen des Sollwertes keine Änderung des Stellgrades erfolgt
und dieser gehalten wird ist das ein I Regler bzw. der I Anteil.
Gruß JackFrost
@Drwho (Gast)
>Das meine ich gar nicht. Angenommen der Regler HAT die Drehzahl>erreicht. Dann ist y=0.
Ja.
>gebe ich dann 0 als Anregung auf den Motor oder
Ja.
>bezieht sich die 0 auf eine Änderung.
Nein.
>Das Gefühl sagt ja letzteres.
Falsch.
> Wenn ich erreicht habe, nichts mehr an der>Anregung ändern.
Das wäre ein I-Regler, den du aber nicht hast.
>Aber so wie ich immer lese wird die stellgröße y als>kp*e errechnet und das wäre ja dann Motor aus.
Richtig.
Ein reiner P-Regler wäre z.B. bei einem Raumschiff im Weltraum geeignet,
die Geschwindigkeit zu regeln, denn dort ist die Reibung Null. Wenn die
gewünschte Geschwindigkeit erreicht ist, kann man die Raktenmotoren auf
0 drehen, das Raumschiff fliegt mit konstanter Geschwindigkeit weiter.
Eben weil die Regelstrecke Raumschiff hier eine nahezu reine
I-Regelstrecke ist.
Es soll die Drehzahl geregelt werden. Bei einem PID Regler muss am
Anfang der P Anteil den Fehler verstaerken und das Stellglied ansteuern.
Nach einiger Zeit ist der I Anteil dann auch da, dass er uebernimmt, der
Fehler wird Null, und der P Anteil somit auch. Dh der I Anteil macht die
ganze Arbeit.
Das kann man nun verbessern indem man noch einen direkten Pfad
hinzuddiert, den Vorwaertspfad, bei welchen einfach den etwa-Wert des
Stellgliedes aus einer Tabelle von der Solldrehzahl ableitet.
Dh beim Einschalten wird das Stellglied gleich mit dem etwa passenden
Stellwert beaufschlagt, und dann darf der P und der I noch das
Feintuning machen.
Eine Frage hat sich noch ergeben.
Als faustformel für einen möglichen regelgerecht. Angenommen mein Motor
gibt bei Vollgas 1500 Ticks/s...
Ich würde denken, dass dann als maximale regelgröße nicht 1500 sondern
etwas weniger zu wählen ist? Z.b 1200 Ticks/s? Man muss ja Reserven
haben für Exemplar oder lastvariationen.
Wenn ich aus dem Stand beschleunige habe ich eine Abweichung von sagen
wir den 1000. wähle ich kp dann so dass ich auf eine pwm von ziemlich 1
komme? Also ich suche faustwerte damit das Abenteuer wenigstens
funktionieren KANN.
Besten dank
Das währe dann ein k von 0,08. Aber wenn der Motor sich dann dreht wird
Stellgrad schon abgebaut. Bei 0,2 hast du 100 % Stellgrad bis 500
Ticks/s.
Wenn du auf 1200 Ticks reduzierst dann hast du ja nicht mehr 100 %
Stellgrad. Sondern Begrenzt den Stellgrad. Für Laständerungen hast du ja
den Regler das das ausgeregelt wird. Das geht halt nur nicht mit einem P
Regler
Hast du den Regler selbst geschrieben ?
Was ist das für ein Motor ?
Du hast ja eine schnelle Strecke da kannst du doch alles ausprobieren
ohne das du lange warten musst.
Gruß JackFrost
Das sind die Motoren von einem pololu zumo Roboter.
Geschrieben habe ich noch nichts. Habe erst zur Theorie gesucht, aber wo
jetzt Code Editor und Papier vor mir liegen fange ich an zu schwimmen.
Also wo es konkret wird.
Ich will aber gerne den Regler selber machen und versuche fertigen Code
zu meiden. Habe zwar nicht eure Ausbildung aber irgendwie macht das den
Reiz aus es zu schaffen.... Ist zumindest mein Ziel.
Träge ist so ein Mini Motor ja gar nicht. Daher vielleicht auch meine
Blockade. P Anteil anlegen und der dreht ja quasi auf Ziel
Geschwindigkeit...dann ist im nächsten Zyklus e schon nahe 0.... So ging
die Überlegung vorne los.
@Drwho (Gast)
>Träge ist so ein Mini Motor ja gar nicht. Daher vielleicht auch meine>Blockade. P Anteil anlegen und der dreht ja quasi auf Ziel>Geschwindigkeit...dann ist im nächsten Zyklus e schon nahe 0.... So ging>die Überlegung vorne los.
Dein mentaler Regler ist instabil ;-)
Dein Denkfehler (unabhängig von P oder PI Regler) ist m.E., das du den
Reglerausgang betrachtest, der dich nur insoweit interessiert, als das
er die Drehzahl des Motors bestimmt (PWM oder wasauchimmer).
Als Stellgrösse jedoch fütterst du den Regler mit z.B. einem Wert vom
Poti und als Regelgrösse brauchst du eine Drehzahlmessung. Wenn der
Regler dann Regelgrösse = Stellgrösse erreicht (Beim PI geht das, nicht
beim P - wie oben erklärt), hält er seinen Ausgang und dreht ihn nicht
etwa auf Null. Er gibt bloss nicht mehr Gas und bremst auch nicht.
Der Trick besteht also darin, als Regelgrösse die zu nehmen, die du auch
regeln willst. Du wirst also eine Drehzahl-Mess-Routine benötigen, die
du auf die Grössenordnung des Stellwertes skalierst. Das fütterst du
dann in den PI Regler.
Drwho schrieb:> Ich will aber gerne den Regler selber machen und versuche fertigen Code> zu meiden. Habe zwar nicht eure Ausbildung aber irgendwie macht das den> Reiz aus es zu schaffen.... Ist zumindest mein Ziel.
Servus,
du wirst dafür eine Ewigkeit brauchen, weil du nichtmal verstehen
willst, dass P-Regler nichtmal auf dem Mond was taugt.
Ein PI-Regler ist in ein paar Zeilen aufgeschrieben:
1
uk=uk-1+K1*ek-K2*ek-1;//Ki: Euler Vorwaerts
2
uk-1=uk;//uk = Spannung in U
3
ek-1=ek;//ek = e Regelabweichung
Wobei K1 und K2 zwei Konstante sind, die vor der Regelung ausgerechnen
werden.
Ja, jetzt kommen die ganzen unschönen nebeneffekte wie Windup usw. Wenn
du Fachkundige Literatur willst, dann frag danach. Aber erzähl nicht so
einen Stuß hier:
Drwho schrieb:> Träge ist so ein Mini Motor ja gar nicht. Daher vielleicht auch meine> Blockade. P Anteil anlegen und der dreht ja quasi auf Ziel> Geschwindigkeit...dann ist im nächsten Zyklus e schon nahe 0.... So ging> die Überlegung vorne los.
Du brauchst erstmal einen richtigen DC Motor (Faulhaber, Escape, Maxon),
sonst hast du mit anderen Problemen ein paar Monate zu tun.
Ohne Fachwissen über Simulation und/oder nur mit herumprobieren:
viel Spaß. In 3 Jahren guck ich wieder in den Thread rein.
mfg
Vielleicht bekommen wir mein kleines Hirn ja noch auf Kurs und stabil.
:-( Könnte sein, dass ich konkret werden muss.
Also:
Führungsgröße w ist mal fiktiv 800 ticks/s. (bei Vollgas schafft der
Motor mehr)
Stellgröße y ist -400...400 bei den Motoren. 400 Ist Vollgas.
Regelgröße x ist der Ausgang der Encoder. Die will ich auf Sekunden
normieren. Also als ticks/s annehmen.
Jetzt soll der aus dem Stand losfahren Regelabweichung e = w - x; e =
800-0, also 800.
Jetzt kommt der Proportionalteil der Regelung. Als einzige Komponente
der Stellgröße. y = kp * e;
Bin ich bis jetzt begrifflich auf Kurs?
das y wird durch das kp so skaliert, dass es hoffentlich einer Drezahl
von 800 ticks/s entpricht. Wenn ich experimentell ermittelt habe, dass
das bei 50% pwm anliegt, mache ich kp = 0.25. y= 0.5 * e = 0.25 * 800 =
200.
Und dann dreht der Motor ungefähr wie er soll. Wenn die Regelung dann
wieder ausgerechnet wird, ist e ziemlich klein und y wird fast 0.... So
hatte ich die Aussagen aller anderen verstanden. Irgendwie immer noch
nciht begriffen, aber mit deiner Aussage bin ich wieder verwirrter....
Versuch ein Prozent zu denken.
Solldrehzahl = 100%
Istdrehzahl prozentual dazu berechnen.
Ausgangsleistung P Anteil Soll - Ist = Ausgang.
Ein P Regler alleine kann nicht auf null Abweichung ausregeln.
>Ein P Regler alleine kann nicht auf null Abweichung ausregeln.
Das ist mir klar. Ich habe versucht die Regelgleichungen so simpel wie
möglich zu halten, weil da das Problem irgendwie ist. Das Ergebnis(!)
der Regelung liegt mir gar nicht am Herzen in dem Post.
Drwho schrieb:> das y wird durch das kp so skaliert, dass es hoffentlich einer Drezahl> von 800 ticks/s entpricht. Wenn ich experimentell ermittelt habe, dass> das bei 50% pwm anliegt, mache ich kp = 0.25. y= 0.5 * e = 0.25 * 800 => 200.
Das gilt bei einer Regelabweichung von 800 Ticks/s wenn die Drezahl
steigt fällt das y. Und dann hast du weniger al deine 200.
Es ist wirklich einfacher in Prozent zu rechnen.
Wenn du e nicht misst dann hast du keine Regelung sondern eine
Steuerung.
Lad dir Winfact Boris 8 und simulier das in der Demoversion. Da siehst
du das es nicht geht.
Wobei der I Regler auch nicht so schwer ist. Das mim AntiWindup wird
dann schon schwerer.
Feste Zykluszeit, I berechnen und zum letzten I addieren bzw
subtrahieren, speichern und zum P addieren. Du musst nur Das I über min.
und max begrenzen. Für einen einfachen Regler sollte das reichen.
Gruß JackFrost
Eine einfache Formel für einen I-Regler dürfte das sein :
Wobei tc die Zykluszeit vom Regler ist, TN die Nachstellzeit und e die
Regelabweichung.
Das y musst du halt nun noch begrenzen damit der Regler nicht
aufintegriert wenn er schon am maximum bzw minimum ist. Und die Summe
von P und I musst du natürlich auch begrenzen.
Gruß JackFrost
Ich glaube mein Problem war, dass ich dem Regler nicht mehrere
Zykluszeiten gegeben habe...
Das werde ich überschlafen und dann recht kleines Kp annehmen - ich
glaube das könnte mir einen AHA Moment bescheren.
Danke! Also größtes Problem (glaube) ich, nicht über eine größere
Zykluszahl nachgedacht zu haben, bis der Stellwert erreicht ist!
Ich hab mal schnell ein schwingfähiges System mit einem P-Regler
simuliert.
Mit kp = 0,25 , kp = 0,5 und kp=2. Einer Streckenverstärkung von 16, was
bei 100 % 1600 Ticks/s eintspricht, und aus dem Bauch gegriffene Werte
für Dämpfung und Frequenz.
Blau ist der Sollwert.
Grün ist der Istwert.
Rot ist der Stellgrad.
Die Dateien haben die Namen der kp-Werte.
Gruß JackFrost