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
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
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
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.
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
> 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.
@ 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
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?
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
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.