Forum: Analoge Elektronik und Schaltungstechnik Regelung für einen AVR-Schaltregler


von Marius S. (lupin) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich habe mir heute/gestern ein kleines Modul mit den ATtiny15 
zusammengelötet

http://lupin.shizzle.it/images/modul.jpg
http://lupin.shizzle.it/images/leuchtet2.jpg

Dabei handelt es sich um einen Aufwärtswandler mit FET (sitzt unter den 
dicken blauen ausgangs-C), chip spule, diode und einen 4,7µF C am 
Ausgang. Die Spannung soll auf irgendwas um die 170 bis 180 volt 
geregelt werden.

Nach ein bischen Rumprobieren konnte ich dem Modul ungefähr 1,6mA bei 
150 Volt entlocken. Leider nur grob geschätzt (dank schlechten 
Messgeräten).


Soweit so gut, eigentlich eine leichte Aufgabe dachte ich. Einfach, wenn 
die Spannung einbricht den duty cycle erhöhen um mehr Energie zu pumpen, 
wenn die Spannung zu hoch wird wieder Energie weg nehmen.

Leider spielt da aber der Kondensator mit rein. Die Regelung pumpt beim 
Einschalten ohne Last ordentlich und lädt den Kondensator zu hoch auf 
(overshoot) dann nimmt sie wieder zuviel weg und schwingt dann eine 
ganze weile hin und her. Wenn man glück hat hört das irgendwann auf :)

Also ganz schön scheisse das ganze. Wenn man eine Last ran hängt (und 
dazu reicht schon mein ultra billig Multimeter im Hochvolt-Modus) dann 
bricht die Spannung tief ein geht wieder hoch und es kommt erneut zum 
overhoot. Nimmt man das Multimeter weg geht die Spannung sehr schnell 
nach oben dann wieder zu weit nach unten.

Jetzt sollte jeden klar sein wovon ich rede - die Regelung ist einfach 
nur mist!

Also wie macht man sowas normalerweise? Was für techniken gibt es damit 
ich schnell regeln kann aber trotzdem nicht übers Ziel hinaus schieße 
oder gar drunter?

von Marius S. (lupin) Benutzerseite


Lesenswert?

ach im Anhang ist der code den ich bisher benutze, ganz vergessen zu 
erwähnen :)

von Marius S. (lupin) Benutzerseite


Lesenswert?

Nochmal allgemein zu Schaltreglern: Wenn die Eingangsspannung kleiner 
wird dann fließt in der gleichen zeit ja weniger Strom in die Spule also 
muss ich den duty cycle erhöhen, bis jetzt ist der maximale duty cycle 
fest im Programm - wie find ich am besten raus wie lang der für 
Eingangsspannung X sein darf? Oder messe ich über einen Shunt am Drain 
des FETs wieviel Strom in die Spule fließt? Mit dem tiny wär das ja dank 
integrierten Verstärker kein riesen Problem.

von eProfi (Gast)


Lesenswert?

So wie ich das sehe hast Du einen I-Regler programmiert, der meist 
instabil ist.
Versuch's mal mit einem PI- oder PID-Regler

http://de.wikipedia.org/wiki/Regelungstechnik
http://de.wikipedia.org/wiki/Regelung_%28Regelungstechnik%29
http://de.wikipedia.org/wiki/Regelkreis
http://de.wikipedia.org/wiki/Regler

von Marius S. (lupin) Benutzerseite


Lesenswert?

okay und wo bekommt man als Dummie sowas etwas verständlicher erklärt? 
Da steht irgendwas von aufsummieren - ich glaube da würde ich 
Überlaufprobleme bekommen (oder wird die Summe irgendwann wieder auf 0 
gesetzt)?

von Karl H. (kbuchegg)


Lesenswert?

Es geht im Grunde immer um die Auswertung der Differenz
von Sollwert und Istwert

P: Der Propertionalanteil

   Du nimmst die Differenz und multiplizierst sie mit einem
   Faktor. Das Ergebnis ist die neue Stellgröße

I: Der Integralanteil

   Du summierst ständig die Differenzen auf. Die Summe wird mit
   einem konstanten Faktor multipliziert und bildet die neue
   Stellgröße

D: Der Differentialanteil

   Du bildest die Differenz von der jetzigen Regelabweichung
   zur Regelabweichung im Schritt davor. Diese Differenz wird
   wieder mit einem konstanten Faktor multipliziert und bildet
   die neue Stellgröße


Für einen PI Regler kombinierst die einen P und einen I Regler.
Die Stellgröße ist also die Summe aus P Anteil und I Anteil

Sei zb. d die Differenz aus Sollwert und Istwert, dann
berechnet sich die Stellgröße zu:
1
    dSum = dSum + d;          // Aufsummieren (Integrieren) des I Anteils
2
    Stell = ( Kp * d ) +      // der P Regler
3
            ( Ki * dSum );    // der I Regler

Die Kunst besteht in der Bestimmung der Kp und Ki. Das sind die
konstanten Faktoren.

http://www.roboternetz.de/wissen/index.php/Regelungstechnik#Digitaler_Regler

> Da steht irgendwas von aufsummieren - ich glaube da würde ich
> Überlaufprobleme bekommen (oder wird die Summe irgendwann wieder auf 0
> gesetzt)?

Die Summe pendelt sich beim I Anteil auf 0 ein. Die Differenz zwischen
Soll und Istwert wechselt ja beim Überschwingen das Vorzeichen.

von Uhu U. (uhu)


Lesenswert?


von Daniel (Gast)


Lesenswert?

hab ich jetzt noch nie selbst probiert, aber wär mal ein interessanter 
versuche einen motor mit einem rheinen I-Regler zu betreiben...

kurz als anmerkung: wenn du die reglerkoefinzienten des P und des I 
anteils bestimmst, musst du dies unter last machen, es ist extrem 
schwirige einen motor ohne jegliche last GENAU zu regeln... ziel beim 
einstellen des reglers ist, das ist- und sollwert möglichst 
gleichaussehen...

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.