www.mikrocontroller.net

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


Autor: Marius S. (lupin) Benutzerseite
Datum:
Angehängte Dateien:

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

Autor: Marius S. (lupin) Benutzerseite
Datum:

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

Autor: Marius S. (lupin) Benutzerseite
Datum:

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

Autor: eProfi (Gast)
Datum:

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

Autor: Marius S. (lupin) Benutzerseite
Datum:

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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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:
    dSum = dSum + d;          // Aufsummieren (Integrieren) des I Anteils
    Stell = ( Kp * d ) +      // der P Regler
            ( 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/Regelun...

> 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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Daniel (Gast)
Datum:

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

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.