-
Ein neg. Integrator sollte ein "invertierender Integrator" bei mir sein ;-)
Ich hab heute mal nur einen reinen P-Regler implementiert. So sieht das bei einer Rechteckspannung aus:
Bitte nicht an den Beschriftungen stören.
Blau ist Sollsignal
Rot ist Istsignal
Gelb ist die Regelgröße was aus dem DAC rauskommt
http://www.imgbox.de/users/public/images/g53951d137.jpg
Hier sieht man deutlich die Regelabweichung, die bleibt, obwohl die Regelstrecke in Integrator ist. Keine Ahnung wieso. Was auch extrem komisch ist, sind die extremen Stellgrößen Peaks immer an der selben Stelle. Was passiert hier? Die verbiegen auch mein Ist-Signal, was plötzlich zu springen scheint.
Jetzt nochmal ein Sinus
Blau ist Sollsignal
Rot ist Istsignal
Gelb wieder Regelgrößte
Grün Differenz Soll-Ist
http://www.imgbox.de/users/public/images/d6495u137.jpg
Wenn man bedenkt dass bei Soll und Istsignal (Blau und Rot) eine DIV 100mV sind, sind die beiden Kurven ja echt ziemlich gut geregelt (paar mV Unterschied)
Aber hier sieht man wieder die Ausraster auch in der Differenz. Wo zum Henker kommen diese Sprünge her?
Grüße,
hacker
Edit von BastiUniversal: Bilder zu breit, bitte die Links anklicken!
-
Die Störungen sehen wirklich recht stark aus. Es sieht ein bischen so aus, als kommen die Störungen dann wenn ein bestimmter Wert am DAC ausgegeben wird. Es ist aber nicht so richtig zu erkennen wo die Störungen herkommen, und was nur Folgen davon sind. Da fehlt noch etwas mehr Zeitauflösung um zu erkennen ob der Regler das System anstößt oder andersherum.
Mögliche Ursachen könnte ein Fehler beim DAC, ein Fehler bei der Umwandlung signed / unsigned sein. Möglich wäre auch irgrndwo eine Umwandlung foat in Integer, wo die Nachkommastellen abgeschnitten werden und es dann bei 0 zu einem größernen Sprung kommt.
-
Mehr Zeitauflösung ist bei dem Oszi leider verdammt schwierig (das im Bild einzufangen)
Dafür gibt es ein neues Bild:
Bild hier
BLAU - Sollsignal 500mV/DIV
ROT - Istsignal 500mV/DIV
GRÜN - Differenz Soll-Ist 20mV/DIV
ORANGE - Stellgröße DAC Ausgang 100mV/DIV
Hier sieht man eine Störung recht gut. So wie das aussieht, ist das Differenzsignal aber sauber und trotzdem bricht die Stellgröße plötzlich aus.
Was meint ihr?
Ich gehe momentan akribisch meinen Code durch bezüglich Casts oder dergleichen. Bis jetzt scheint mir aber alles ok zu sein.
-
Die letzte Störung hab ich beseitigen können. Da kam der ADC wohl nicht mehr ganz so hinterher, sodass die oberen 4 Bits immer hops gingen. Ist jetzt behoben.
Heute hab ich dann auch gemerkt, dass eine Hydraulik so ziemlich das Hässlichste ist, was man regeln könnte...
Parameter Einstellen ging teilweise. Jedoch konnte ich keine "allgemeinen" Parameter finden, die für jede Amplitude, jede Kurvenform und jede Frequenz gepasst haben.
-
So der Regler läuft jetzt wunderbar. Ich werde bei fertiger Platine nochmals ein Bild einstellen.