Forum: Analoge Elektronik und Schaltungstechnik Spannung berechnen bei einer PWM


von dieter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe vor, mir ein Netzteil mit einem Mikrokontroller zu bauen.

Dazu soll die Eingangsspannung von 15VDC mit Hilfe einer PWM
variabel heruntergesetzt werden.

Weil sowohl die Last an dem Ausgang variabel sein kann als auch die 
Spannung einstellbar sein soll, weiß ich nicht wie man das Verhältnis 
der ON/OFF-Time der PWM berechnen soll.


Mfg Dieter

von Basti (Gast)


Lesenswert?


von Tommy (Gast)


Lesenswert?

Richtig.

Aber das weiß wohl keiner so genau wie das off on verhältnis bei ner PWM 
die eine variable Spannung an einer variablen last erzeugen soll zu 
berechnen ist. Ich denke so x/42 sollte aber hinkommen.

Allgemein ist beim lückenlosen betrieb die ausgangsspannung von der last 
unabhängig und ist ua=(t1/T)*Ue

von dieter (Gast)


Lesenswert?

jaa das klingt gut ...

Aber demnach wird die angeschlossene Last vernachlässigt:

Wenn ich nur die Spannung messe mit nem Multimeter, dann fließt so gut 
wie gar kein Strom, also wird die Spannung bis zur Uin ansteigen ...

Wenn aber 3A oder so gezogen werden, muss man schon aufpassen


Mfg dieter

von Stefan D. (endrox)


Lesenswert?

Allgemein berechnet man die Ausgangsspannung bei einer PWM:

U_a = (t_leitend / t_gesamt) * U_e

U_a : Ausgangsspannung
U_e : Eingangsspannung
t_leitend : Leitdauer des Transistors
t_gesamt : Periodendauer der PWM, also t_leitend + t_sperrend


Dies gilt jedoch nur für den Fall, dass deine Last am Ausgang konstant 
bleibt.

Für eine variable Last musst du eine Regelung implementieren, damit der 
µC immer den vorgegebenen Spannungswert am Ausgang einstellt.
Mein Vorschlag wäre hier ein PI-Regler, der dafür sorgt, dass keine 
bleibende Regelabweichung entsteht.

Mein erster Vorschlag wäre mal, nach Regelungstechnik zu googlen bzw. 
bei Wikipedia zu schauen.
Weiter gibt es bei ATMEL Application Sheets die dem Entwickler 
weiterhelfen. Im AVR221 Dokument ist beschrieben, wie man einen 
PID-Regler implementiert.

von Tommy (Gast)


Lesenswert?


von dieter (Gast)


Lesenswert?

Ich meine man könnte auch den Strom messen,
indem man hinter den Ausgang einen Shuntwiderstand setzt,
um dann daran einen Spannungsabfall zu messen zu können.

Geht das?

Danach kann man so rechnen: Uin*Iin=Uaus*Iaus
Davon gegeben: Uin, Uaus(wird im uC definiert), und gemessen dann Iaus

dann ist Iin=Uaus/Uin *Iaus

und jetzt müsste noch ein Zusammenhang zwischen
Iin und dem Tastverhältnis bestehen?

Mfg Dieter

von Tommy (Gast)


Lesenswert?

ja, Iaus

von Karl H. (kbuchegg)


Lesenswert?

> und jetzt müsste noch ein Zusammenhang zwischen
> Iin und dem Tastverhältnis bestehen?

Schon, aber wozu.

> Uaus(wird im uC definiert),

Du musst unterscheiden zwischen dem Uaus, dass vorgegeben
wird und dem Uaus das sich durch die tatsächliche Last
einstellt. Wenn das Uaus in deiner Schaltung sich nicht
durch unterschiedliche Last ändern würde, bräuchtest du
ja nicht nachregeln.

Siehs mal so:
Der Benutzer gibt sein Wunsch Uaus vor.
Durch die Last stellt sich jetzt aber bei einer bestimmten
PWM ein bestimmtes Uaus ein. Aufgabe der Regelung ist es
nun, die PWm so nachzuregeln, dass sich Uaus_tatsaechlich
an Uaus_wunsch angleicht. Also ich würde dazu ganz einfach
Uaus_tatsaechlich messen und nicht den Umweg über irgendwelche
I gehen.



von dieter (Gast)


Lesenswert?

@ Karl heinz Buchegger
Das stimmt!
Soweit habe ich das jetzt verstanden.


Außer den Fall des lückenden Betriebes.
Der tritt doch bei sehr kleinen Lasten auf, oder?
Also z.B. Messen mitm Multimeter ...

Die Frequenz wollte ich constant bei 10kHz halten,
sodass bei zu kleinen Lasten ein lückender Betreib entsteht.

Mfg Dieter


von Marius S. (lupin) Benutzerseite


Lesenswert?

wenn du schon nen controller da drin hast warum nicht per ADC die 
spannung am ausgang messen und dann nachregeln bis du die gewünschte 
spannung erreicht hast?

von dieter (Gast)


Lesenswert?

ja im Grunde wollte ich das genau so machen, aber ich wusste halt nicht,

wie ich die Ausgangsspannung berechnen sollte

aber das kriege ich hin, denke ich

g

Danke an Alle, die mir geholfen haben .

Dieter

von Matthias (Gast)


Angehängte Dateien:

Lesenswert?

Die Ausgangsspannung brauchst du auch nicht (direkt) berechnen. Die 
musst du dir festlegen, wie groß die sein soll. Der Atmel hat dann die 
Differenz zwischen Soll- und Istwert zu bilden, und abhängig davon das 
Tastverhältnis (t_leitend zu T_gesamt) zu ändern. Diese Berechnung (von 
Regeldifferenz zun Tastverhältnis) erfolgt ( da im ATMEL realisiert) 
mittels einer sogenannten Differenzengleichung!! Dazu ist eine konstante 
Abtastfrequenz (Takt für den ADC zum Messen der Ausgangsistspannung) 
notwendig.
Somit wird mit jedem neuen (Abtastwert) ein neues Tastverhältnis für den 
Transistor mittels der Differenzengleichung errechnet. Die 
Differenzengleichung hat in etwa folgende Form:
d(n) = k1*e(n) + k2*e(n-1) + k3*d(n-1)  (...)
Das ermitteln der Koeffizienten erfolgt über eine Transformation...

Im Anhang ist das Problem mal regelungstechnisch aufgemalt..

regelungstechnische Grüße...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Beim Messen mit ADC muß der ADC zum PWM synchronisiert werden, um nicht 
durch den verbleibenden Ripple am Puffer-C einen stetig wabernden 
Meßfehler zu haben. Alternative wäre ein 3- oder mehrstufiger 
R/C-Tiefpaß mit nachgeschaltetem OV oder Leistungs-OV.

von Matthias (Gast)


Lesenswert?

nicht zwingend. es ist sinnvoll die "phase and frequency correct pwm" zu 
nutzen und immer beim timerüberlauf (genau in der mitte der pwm) den 
adc-wandler zu starten.. somit sind weitere filtermassnahmen nicht 
wzingend notwendig..

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.