Hallo C-Freunde und Elektroniker-Kollegen,
als erstes: ich möchte mir ein Schaltnetzteil bauen
das ganze besteht aus 2 seperaten Schaltstufen.
------------------------------------------------
1. Stufe: PWM-Regelung:
Hier wird die Versorgungs-Spannung (ca. 40V aus Trafo) nur grob
herabgeregelt, um in der folgenden Stufe keine zu großen
Verlustleistungen zu bekommen.
Controller: AT90Can128 mit PWM, Sprache: C
------------------------------------------------
2. Stufe: Netzteilstufe mit OPs
hier befindet sich eine Analoge OP-Regelschaltung, die von 2 DACs per
Controller die SOLL-Werte für SOLL-Spannung und SOLL-Strombegrenzung
vorgegeben bekommt.
------------------------------------------------
Die Spannung am Ausgang der PWM-Stufe soll immer um 3V höher sein als
der vorgegebene Sollwert an der Ausgangsklemme.
also z.B. wenn ich 5V haben möchte soll die PWM auf 8V hinregeln.
Soweit funktioniert auch alles bereits, aber ich glaube dass mein PWM
nicht linear läuft, d.h. in den kleinen Leistungsbereichen, spinnt die
PWM Regelung, weil ich in meiner Software davon ausgehe, dass ein
PWM-Step (40V:256=0,156V) entspricht. Das ist scheinbar nicht so.
1
vergleich=(spannung+3)-upwm;
2
3
//***************PWM-Regelung**************
4
{
5
vergleich=vergleich/0,156;
6
vergleich=vergleich/2;
7
8
if(vergleich>0.0)//Runden wenn vergleich = positiv
9
differenz=vergleich+0.5;
10
11
if(vergleich<0.0)//Runden wenn vergleich = negativ
//# ACHTUNG: PWM-Signal wird auf Platine INVERTIERT! #
23
24
OCR0A=pwm_wert;//PWM-Wert von 0-255
Solche Probleme haben doch bestimmt mehrere, ich würde das Problem gerne
softwaretechnisch lösen. Gibt es da Möglichkeiten?????
bin dankbar für jede Antwort und hilfestellung!!!!
Martin!!!
Dir ist klar, dass die PWM-Regelung von der Verlustleistung keinen
Vorteil gegenüber einer linearen hat?
Statt dem Längs-Transistor wird halt der Elko und die Drähte heiss...
=> Induktivität mit einbauen, Diode dazu, und Step-Down Drosselwandler
bauen.
ausserdem ist
1
vergleich=vergleich/0,156;
eine Division durch Null, vermutlich ein Tippfehler.
Ich seh da schon einen Vorteil, da ja der längstransistor in der
netzteilstufe nicht soviel verbraten muss.
ich habe ja eine Drossel mit diode drin.
hier ein schematischer plan der PWM-STUFE: :)
>>>>>>>>>>>
+40V IRF 9530 Drossel 91µH/4A
Analog-Stufe
O------------------S D --------------------|==|----------------------O
| ----- | |
| |G | |
| | ----- |
=== | / \ ===
__ pwm-signal --- Diode SB560 __
120µF| von BS170 | |240µF
| | |
| | |
O----------------------------------------------------------------------O
GND
so ist der Grundaufbau der PWM-STUFE, und wenn ich das linear regeln
könnte wäre mein Problem gelöst, aber es sind nicht 0.156V pro Step.
Ich seh da schon einen Vorteil, da ja der längstransistor in der
netzteilstufe nicht soviel verbraten muss.
ich habe ja eine Drossel mit diode drin.
hier ein schematischer plan der PWM-STUFE: :)
>>>>>>>>>>>
+40V IRF 9530 Drossel 91µH/4A
Analog-Stufe
O------------------S D --------------------|==|----------------------O
| ----- | |
| |G | |
| | ----- |
=== | / \ ===
--- pwm-signal --- Diode SB560 ---
120µF| von BS170 | |240µF
| | |
| | |
O----------------------------------------------------------------------O
GND
so ist der Grundaufbau der PWM-STUFE, und wenn ich das linear regeln
könnte wäre mein Problem gelöst, aber es sind nicht 0.156V pro Step.
Hi
Du hast zwar keine PWM-Frequenz und keinen Strom genannt, aber ich würde
erst mal behaupten das deine Filterung 91µH/240µF nicht ausreichend ist.
MfG Spess
Martin 567 schrieb:> Die Spannung am Ausgang der PWM-Stufe soll immer um 3V höher sein als> der vorgegebene Sollwert an der Ausgangsklemme.> also z.B. wenn ich 5V haben möchte soll die PWM auf 8V hinregeln.> Soweit funktioniert auch alles bereits, aber ich glaube dass mein PWM> nicht linear läuft, d.h. in den kleinen Leistungsbereichen, spinnt die> PWM Regelung, weil ich in meiner Software davon ausgehe, dass ein> PWM-Step (40V:256=0,156V) entspricht. Das ist scheinbar nicht so.
Linearität ist nur gegeben, solange der Drosselstrom nicht lückt.
Lückenlosen Drosselstrom in allen Betriebslagen erreicht man nur mit
einer Push-Pull-Schaltstufe. Du arbeitest aber nur mit einem
High-Side-Schalter, d.h. bei Unterschreitung einer Mindestlast beginnt
der Drosselstrom gegen Ende der Sperrphase abzureisen. In dieser
Betriebsart ist die tatsächliche Ausgangsspannung immer mehr oder
weniger deutlich höher als dies nach dem eingestellten PWM-Wert zu
erwarten wäre. Im Leerlauf steigt die Ausgangsspannung sogar bis auf den
Wert der Eingangsspannung an, unabhängig vom vorgegebenen PWM-Wert. Das
ist aber nicht so schlimm, weil die Spannung wieder den vorgegebenen
Wert annimmt, sobald sie ausreichend belastet wird und bei geringer
Belastung ist die Verlustleistung im Linearregler ohnehin nicht so groß.
Evtl. mußt Du eine größere Drossel nehmen, damit sich die vorgegebene
Ausgangsspannung bereits bei geringerer Last einstellt.
Jörg
die PwmFrequenz ist 20khz
und der maximal strom der fließen sollte wären max. 4A
das ganze problem hab ich ja nur wenn ich mit sehr kleinen Strömen
arbeite wie z.B. von 50mA-700mA
es funktioniert ja mit kleinen Spannungen (1-10V) ab strömen ab ca. 1A
oder
immer mit großen Spannungen (z.B. ab 18V)
nur bei geringer Leistung fängt mir die PWM-Stufe zu schwingen an, und
ich vermute eben dass der Spannungsanstieg am ausgang der pwmstufe
irgendwie logarithmisch oder sowas geht, sie steigt zuerst sehr steil an
(pro step um ca. 3V) und nach 10Steps nimmt der anstieg sehr stark ab
(ca. 0,5V pro step)
das muss man doch umgehen können!!??
> das muss man doch umgehen können!!??
Du mußt erst mal erkennen, dass du keine "PWM-Stufe" gebaut hast,
sondern einen ordinären Abwärts-Schaltregler. Bei diesem geht es in
erster Linie um den Strom, der in die SPule eingespeichert und
ausgelagert wird. Als Abfallprodukt stellt sich dann am Ausgangs-C
irgendeine Spannung ein.
Wenn dir das mal klar ist, dann kannst du dir die Literatur und die
Regelschleifen zu diesem Thema ansehen...
Übrigens:
20kHz und 91uH passen für einen Schaltregler irgendwie nicht zusammen.
Wie bist du auf diese Werte gekommen?
hallo jörg
deine erklärung trifft fast ganz genau zu, da es in kleinen
Leistungsbereichen auch zu schwingen beginnt.
ich werde mal das mit der drossel versuchen,
aber wie kann ich so einen Push-Pull-schaltstufe aufbauen.
danke dir!!!
hallo lothar
dazu muss sagen ich habe das nicht allein aufgebaut, mir hat dabei ein
elektroniker-kollege geholfen, ich wäre eigentlich hauptsächlich für die
Software zuständig, aber wie er auf diese werte kam weis ich auch nicht.
Martin 567 schrieb:> dazu muss sagen ich habe das nicht allein aufgebaut, mir hat dabei ein> elektroniker-kollege geholfen, ich wäre eigentlich hauptsächlich für die> Software zuständig, aber wie er auf diese werte kam weis ich auch nicht.
Zumindest hat dein Kollege dann schon meinen Ratschlag aus der ersten
Antwort vorrauseilend berücksichtigt ;)
Nächster Ratschlag:
Den AVR weglassen und durch einen OpAmp (oder Schaltregler-IC + OpAmp)
ersetzen.
Ach ja: Hilfe zu Berechnung Spule/Frequenz etc gibts hier:
http://schmidt-walter.eit.h-da.de/smps/smps.html
Martin 567 schrieb:> ich werde mal das mit der drossel versuchen,> aber wie kann ich so einen Push-Pull-schaltstufe aufbauen.
Schau mal hier:
http://www.joretronik.de/Web_NT_Buch/Kap6/Kapitel6.html
In Bild 6.1K findest Du ein Beispiel. Die Diode wird durch einen zweiten
Leistungsschalter ersetzt, der bis auf eine kurze Totzeit genau im
Gegentakt zum "Hauptschalter" eingeschaltet wird. Dadurch wird eine
definierte PWM-Rechteckspannung erzeugt, deren arithmetischer Mittelwert
( =Ausgangsspannung am Elko) lastunabhängig proportional zum
Tastverhältnis ist.
Jörg
Hat jemand eine Idee wie ich von meiner Leistung auf PWM-STEPS umrechnen
kann.
Da müsste man doch eine Formel aufstellen können mit:
U = Spannung
I = Strom
P = Leistung
STEPS = PWM-Schritte
eben so dass ich mir die Schritte jedes mal neu berechnen kann, dann
glaub i hauts hin.
hmm.. mir will nix einfalln
Könntest du etwas klar stellen:
Hast du eine echte Regelung oder ist das ein Steller?
Du benutzt zwar immer den Begriff 'Regelung', deie Beschreibung der
Details hört sich aber eher nach einem Stellglied an.
Regelung: Du misst am Ausgang der ersten Stufe die Spannung und stellst
den PWM Parameter so nach, dass sich die gewünschte Ausgangsspannung
ergibt.
Soweit wäre das ok. Nur: Wozu brauchst du dann die Formel, die du so
verzweifelt suchst. Die Regelung gleicht von sich aus, nur durch die
Abweichung zur Vorgabe eine Regelabweichung aus.
Daher denke ich, dass du eigentlich ein Stellglied hast: Du gehst davon
aus, dass du durch eine Formel mit Eingangswerten die PWM Parameter
berechnen kannst und dann auch tatsächlich diese Spannung am Ausgang
erzeugt wird.
also es ist schon eine Regelung:
zuerst habe ich immer die differenz zwischen PWM-Spannung und
SOLL-Spannung berechnet (und in der Strombegrenzung gewechselt auf
PWM-Spannung und IST-Spannung)
aus dieser differenz hab ich dann den PWM-wert errechnet, was aber
anscheinend nicht geht, da ich davon ausgegangen bin, dass jeder Step
die selbe spannungsänderung zur folge hat.
deswegen möchte ich es jetzt leistungsabhängig machen, ich benutze also
den gemessenen Strom, den ich am ausgang erhalte und möchte dann so die
PWM-schritte errechnen.
Was ist denn die "PWM-Spannung"? Die Ausgangsspannung deines
Schaltreglers am Ausgangskondensator?
Mal doch mal ein Bild und bezeichne die Sachen.
Zur Erinnerung: Mit ner PWM (dem was man gewöhnlich drunter versteht)
hat das alles nichts zu tun.
Der Strom interessiert dich zunächst gar nicht. Du musst auch keine
PWM-Schritte errechnen.
Du musst die Regelabweichung Ausgangsspannung - SOLL ermitteln und dann
das Tastverhältnis deiner PWM anpassen.
Das kann z.B. so aussehen:
- Prüfung alle 50ms
- Spannung 1V zu niedrig
- Einschaltdauer (vorsichtig) um 1% erhöhen
Kein wirklich guter Regler, aber funktioniert erst mal.
Bei zu niedriger Spannung darfst Du die Einschaltdauer nicht zu schnell
erhöhen, sonst gibts heftige Überschwinger, bzw. einen viel zu großen
Drosselstrom...
Dann kannst du anfangen die Regelung schneller zu machen, Überschwinger
zu vermeiden, bei Änderungen des SOLL-Werts sinnvolle Start-Werte zu
verwenden (z.B. Spannungx2=Einschaltdauerx2), ...
Den Strom kennst Du eigentlich aus dem Modell der Strecke (L-C),
Einschaltdauer und Ausgangsspannungsverlauf.
Und ganz am Ende kannst Du dann den gemessenen Strom verwenden um den
Beobachter in deinem Regler zu verbessern. Z.B. für eine geringere
Regelabweichung oder schnellere Reaktion.
Hallo,
ich hatte ein ähnliches Problem bei einem Netzteil mit
Phasenanschnittsteuerung im Brückengleichrichter zur "Vor-Regelung" bzw.
Steuerung.
Ich habe das Problem mittels Kennfeld gelöst. D.H. für 11 Werte
Ausgangsspannung und 9 Werte Ausgangsstrom habe ich jeweils den
nominalen Phasenanschnittwinkel (per Simulation berechnet) in einer
Tabelle hinterlegt. Zwischen den Tabellenwerten wird dann linear
interpoliert.
Der additive "Regler" in der Software braucht dann nur noch die
langsamen Abweichungen der Temperatur sowie die
Eingangsspannungsschwankungen vom Netz her auszugleichen um die
Verlustleistung zu regeln.
Gruß Anja
Ach ja einen Erfahrungswert hätte ich noch:
Der Worst Case für so ein Netzteil ist eine Last die bei maximaler
Ausgangsspannung relativ häufig niederohmig (Ausgangsspannung nahe 0V)
in die Strombegrenzung hinein fährt.
In diesem Betriebszustand brauchst Du dann doch nahezu die maximale
Verlustleistung am Linear-Transistor weil du den Elko am Ausgang des
Schaltreglers nicht schnell genug entladen und auch wieder aufladen
kannst.
Ist natürlich bei einem Phasenanschnittregler mit >10ms Reaktionszeit
noch schlimmer als bei einem Schaltregler. Aber Du solltest Dir Gedanken
über Eine mittlere Verlustleistungsregelung in diesem Betriebszustand
machen.
Gruß Anja