Forum: Mikrocontroller und Digitale Elektronik Reglertiming?


von Markus (Gast)


Lesenswert?

Hallo,

ich habe ein Problem mit meiner Regelung, die ist nicht schnell genug 
bzw. liefert keine guten Ergebnisse.

Ich habe einen Synchron-Inverterconverter der von 40 auf -40V 
invertieren soll (vorläufig zum Testen), später dann von 350V auf -350V.

Beim Regler handelt es sich um einen I-Regler.
Den I-Regler steuere ich mittels ADC.
1
 if (u_ist<u_soll){PWM++;}
2
 if (u_ist>u_soll){PWM--;}

meine Messwerte erhalte ich alle 800µs (1,25kHz) vom ADC sodass nach 
Beendigung der AD-Wandlung obiger Code ausgeführt wird (hier nur 
Schema!). Also Regelt mein Regler ca. alle 800µs die PWM (Wertebereich 
0-1699) ein hoch oder runter.

schneller regeln macht keinen Sinn, da erst 800µs später der nächste 
Messwert reinkommt und hier erst geguckt werden sollte.

Dummerweise ist meine Ausgangsspannung aber mit ca. 1Vss Ripple (nicht 
konstant!) verseucht. Wie bekomme ich das am geschicktesten ausgeregelt? 
Die Welligkeit ist auch deutlich niederfrequenter als die Regelfrequenz.

Schneller messen und regeln erscheint wenig sinnvoll, ich glaube eher 
das der Reglertyp nicht so gut geeignet ist.

Ich verwende einen ATXmega128A3.


Markus

von Oliver (Gast)


Lesenswert?

Keine Ahnung, wie deine Regelstrecke aussieht, aber ein reiner I-Regler 
ist selten sinnvoll.

Oliver

von mh (Gast)


Lesenswert?

Bei deiner Regelzeit hast du doch genug zeit für ein paar Ausgaben.
Logge einfach mal uist und usoll über ein paar Sekunden, dann wirst du 
sehen dass es so nicht funktioniert...

von Markus (Gast)


Lesenswert?

mh schrieb:
> Logge einfach mal uist und usoll über ein paar Sekunden, dann wirst du
> sehen dass es so nicht funktioniert...

Hab ich schon, das die Werte schwanken is klar, aber das soll der Regler 
ja ausgleichen, ich seh das Problem grad nicht bzw. wie gehts besser?


Markus

von mh (Gast)


Lesenswert?

Indem du z.B. PWM++ in PWM+=X änderst, wobei du X aus uist und usoll 
berechnest.

von Markus (Gast)


Lesenswert?

Also einen P-Regler draus machen?

von U.R. Schmitt (Gast)


Lesenswert?

Besser einen PI, Dein Regler ist so ziemlich maximal schlecht. Überlege 
mal, um von dem minimalen PWM-Wert zum maximalen zu kommen brauchst du 
1700 Schritte mal 0,8ms. Das ist weit über eine Sekunde!
Wie schnell ist denn der zu regelnde Konverter bzw. wie schnell ändert 
sich die Last dahinter?

von Markus (Gast)


Lesenswert?

und evtl. noch ein Bisschen I-Anteil dazugeben?



Markus

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Hi Markus

Markus schrieb:
> meine Messwerte erhalte ich alle 800µs (1,25kHz) vom ADC sodass nach
> Beendigung der AD-Wandlung obiger Code ausgeführt wird (hier nur
> Schema!). Also Regelt mein Regler ca. alle 800µs die PWM (Wertebereich
> 0-1699) ein hoch oder runter.

welche Frequenz hat der Ripple. Vllt solltest du einen PI Regler nehmen 
und deinen ADC Wert noch etwas filtern. Wie sieht dein Eingangssignal 
aus?
Durch deine PWM die wahrscheinlich viel höher als 1,25kHz ist holst du 
dir Störungen rein die deinen Regler aufschaukeln. Setzt mal vor den Adc 
einen Filter der deine PWM Frequenz raus filtert. Dieses zusätliche PT1 
Glied musst du in der Regler Auslegung natürlich beachten.

MfG

Tec

von Markus (Gast)


Lesenswert?

U.R. Schmitt schrieb:
> Wie schnell ist denn der zu regelnde Konverter bzw. wie schnell ändert
> sich die Last dahinter?
>

Er soll 100Hz ausregeln können. Stimmt natürlich, jetzt wo du es sagst, 
der is verdammt langsam!

Wenn ich mal grob nachrechne, braucht er dann für 1V 34ms (40V = 100% = 
1700*800us => 1V = 2,5% => 34ms)! Ui ui ui

Besten Dank

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.