mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Reglertiming?


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.
 if (u_ist<u_soll){PWM++;}
 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

Autor: Oliver (Gast)
Datum:

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

Oliver

Autor: mh (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: mh (Gast)
Datum:

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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also einen P-Regler draus machen?

Autor: U.R. Schmitt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und evtl. noch ein Bisschen I-Anteil dazugeben?



Markus

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.