Hallo, ich soll einen digitalen programmierbare "Interleved Boost" DC/DC Boostwandler bauen (Vin ca. 12Vdc, Vout 24-36Vdc @ 100W). Von der "digitalen Seite" her ist mir frei gestellt ob ich einen kleinen FPGA oder einen DSPIC nehme (ich würde momentan einen DSPIC bevorzuge). Die Schaltfrequenz soll mindestens 250kHz sein - das geht schon einmal mit einem DSpic (einem PIC33EP64GP504 @ 120MHz). Jetzt ist aber die Frage, wie hoch die PWM Auflösung sein muss um Spannungen zu regeln. Reichen 6Bit oder müssten es eher 10/12 oder gar 16 Bit sein? Ich habe davon momentan leider noch keine Ahnung :-( Hat vielleicht jemand tiefere Kenntnis der DSPICs? Ich habe zwar den PTPER berechnen können, aber wie hoch die max. Auflösung sein kann habe ich nicht heraus bekommen. Danke für die Hilfe
Die Dinge stehen zwangsläufig in Zusammenhang, da von der Clockrate (hier 120 MHz) abgeleitet. Je höher die PWM Frequenz, desto weniger Schritte sind möglich. Siehe http%3A%2F%2Fww1.microchip.com%2Fdownloads%2Fen%2FDeviceDoc%2F70323B.pdf Kapitel 43.6 Table 43-1
Wie viele bits du für deinen DAC benötigst (dein Timer ist ja nichts anderes) hängt von der geforderten Bandbreite hab. Die erreichbare Auflösung ist nicht festgelegt durch die Anzahl Bits die dein timer hat. Durch dithern und filtern kannst du beliebige Auflösung erreichen. Durch filtern reduzierst du allerdings im Umkehrschluss dann die Bandbreite. Ein Extrembeispiel ist ein Delta Sigma Wandler. Hier wird nur ein einziges Bit im Frontend verwendet um einen bit stream zu erzeugen. Dieser wird gefiltert um auf die gewünschte Auflösung zu kommen. Die Bandbreite des Wandlers wird durch die Eckfrequenzen des Filters festgelegt. Diese wiederum wird durch die maximale Schaltfrequenz des Frontend vorgegeben. Thor
Die PWM Auflösung muss größer sein als die des ADC der die Spannung misst. DPC schrieb: > Ich habe zwar den PTPER berechnen können, aber wie hoch die max. > Auflösung sein kann habe ich nicht heraus bekommen. ? Wenn PTER zB 3000 ist, hast du auch 3000 mögliche Schritte und das ist dann deine Auflösung. Das wären dann ca. 11,5 Bit.
DPC schrieb: > Jetzt ist aber die Frage, wie hoch die PWM Auflösung sein muss um > Spannungen zu regeln Eigentlich egal. Geringere PWM Auflösung kann man durch einen grösseren Ausgangselko abpuffern, dann regelt der Regler eben langsamer nach, und da es dazu keine Vorgabe gibt, ist man dort frei. Wenn man nur 8 bit PWM hat und 10 bit haben wollte, dann macht man eben 4 Takte und verteilt die 2 bits darauf (dithering). Im Prinzip passiert das auch bei 24 bit PWM, das ist also kein plötzlicher Paradigmenwechsel. Stampede schrieb: > Die PWM Auflösung muss größer sein als die des ADC der die Spannung > misst. Nö.
Michael B. schrieb: > Stampede schrieb: >> Die PWM Auflösung muss größer sein als die des ADC der die Spannung >> misst. > > Nö. Doch. Denn sonst bekommst du Oszillationen am Ausgang. Du willst ja auf eine Quantisierungsstufe deines ADC regeln. Wenn die PWM nicht genügend Auflösung bietet, um diese auszugeben, wird die PWM immer um die geforderten Wert hin und her springen. Du siehst also die minimale Änderung deines Tastgrades (Auflösung der PWM) multipliziert mit der Übertragungsfuntkion der Regelstreck am Ausgang. Das willst du normalerweise nicht.
Stampede schrieb: >>> Die PWM Auflösung muss größer sein als die des ADC der die Spannung >>> misst. >> >> Nö. > > Doch. Nö. Eher andersrum: Wenn der ADC gar keine Änderung sieht, ist es sinnlos, die PWM feiner auflösend einstellen zu wollen. Aber wie schon geschrieben, gibt es zwischen PWM (Einschaltzeit) und Ausgangsspannung (ADC) einen Filter, das ist der Ausgangselko. Oszillationen um zumindest 1 ADC Digit bekommst du sowieso immer, denn was der ADC nicht als Fehlerwert sieht, kann nicht ausgeregelt werden.
Michael B. schrieb: > Oszillationen um zumindest 1 ADC Digit bekommst du sowieso immer, denn > was der ADC nicht als Fehlerwert sieht, kann nicht ausgeregelt werden. Ja, aber nur wenn die PWM besser auflöst als der ADC. Sonst ist es umgekehrt, und das sage ich ja. Michael B. schrieb: > Aber wie schon geschrieben, gibt es zwischen PWM (Einschaltzeit) und > Ausgangsspannung (ADC) einen Filter, das ist der Ausgangselko. Klar, ich schrieb ja auch "Übertragungsfunktion der Regelstrecke" oben. Nur viel Ausgangskapazität ist auch nicht immer sinnvoll möglich zu teuer. Michael B. schrieb: > Eher andersrum: Wenn der ADC gar keine Änderung sieht, ist es sinnlos, > die PWM feiner auflösend einstellen zu wollen. Doch. Es bringt ja nichts, einen 12BIT Adc zu nehmen und die PWM nur mit 8Bit zu stellen. Klar, die Sprünge kann man mit dem Ausgangselko (Übertragungsfunktion der Regelstrecke) irgendwie wegbügeln, ist von der Auslegung des Systems und dessen Dynamik ist das aber kacke. Lies doch mal die Appnote durch, Seite 13, Abschnitt D.: http://www.ti.com/lit/ml/slup232/slup232.pdf
Stampede schrieb: >> Eher andersrum: Wenn der ADC gar keine Änderung sieht, ist es sinnlos, >> die PWM feiner auflösend einstellen zu wollen. > > Doch. Es bringt ja nichts, einen 12BIT Adc zu nehmen und die PWM nur mit > 8Bit zu stellen. Nun, die Seiten 6-8..6-10 behandeln ausschliesslich den steady state, also Eingangsspannung und Last konstant, PWM Duty Cycle konstant, Betrachtung der asymptotischen Endwerte. Das ist aber uninteressant, weil es ja eine Regelung gibt, und da findet sich: "This means that the converter's output voltage can change as much as 14.6mV before it will become evident at the output of the analogto- digital converter and the duty cycle could be modified." Dazu spielt die reale PWM Auflösung keine Rolle, denn nach verändertem PWM braucht es einige Zeit (Ausgangselko) bis sich der Ausgangsspannungswert wieder dem asymptotischen Endewert annähert. Da kann eine höher auflösende ADC schon vorher wieder den PWM Duty Cycle ändern. Einfachstes Beispiel: Man könnte einen analogen Schaltregler, der die Ausgangsspannung nur mit einem Komparator vergleicht, als 1 bit A/D verstehen, und die PWM auch als 1 bit weil der Schalter nur ein oder aus sein kann. Beide Betrachtungsweisen ignorieren aber die Zeit. Man könnte den analogen Schaltregler auch über das Poti zur Einstellung dieser Komparatorspannung als mit unendlich vielen bits auflösend auffassen, ebenso wie man die analoge PWM als zeitlich mit unendlich vielen bits auflösend auffassen kann. Die Betrachtung ignoriert aber auch die Zeit, denn um sich auf unendlich viele bits einzupendeln braucht die Regelschleife unendlich viel Zeit. Was aber geht: Ein typischer Fernseher-Flyback transportiert pro Impuls einfach eine diskrete Menge an Energie in den Ausgang. Ist die Ausgangsspannung (Komparator) erreicht, lässt man einfach Impulse weg bis sie wieder abgesunken ist. Hier wäre die PWM immer mit fester Breite, und die ADC Auflösung 1 bit. Und es funktioniert. Man bekommt eine präzise (weit besser als 1 bit, sondern Komparatorauflösung) genaue Ausgangsspannung wenn die Ausgangskapazität gross genug ist um die Energieimpulse zu mitteln. Das ist fast die Regelung des MC34063, zumindest wenn er bei jedem Impuls in die Strombegrenzung geht. Zugegeben, der MC34063 gilt also nicht besonders gut regelnd, reicht aber für 90% aller Kleinspannungsregelungen. Natürlich kann man nun die Regelschleife verbessern, wenn man mehr Auskunft über die Ausgangsspannung hat und die Energiemenge pro Impuls regeln kann. Aber NOTWENDIG ist das nicht um einen step down zu bekommen. Stampede schrieb: > Lies doch mal die Appnote durch, Seite 13, Abschnitt D.: > http://www.ti.com/lit/ml/slup232/slup232.pdf Sagt auch aus, daß die ADC-Auflösung wichtiger ist als die PWM Auflösung. Im Diagramm die untere Kurve ist NICHT de PWM, sondern der Prozentwert der viel schnelleren PWM über die Dank Ausgangselko langsamere Schwankung der Ausgansspannung (obere Kurve). JEDE digitale Regelung muss so regeln, daß sie Schwankungen im OK Feld nicht sieht und erst bei high und low nachregeln kann. Einzig die zeitliche Länge der Schwankung hängt von PWM Auflösung und Ausgangselko ab.
:
Bearbeitet durch User
Hallo Michael, ich freue mich dass es hier mal eine sachliche Diskussion ohne das übliche Geflame gibt. :) Michael B. schrieb: > Was aber geht: Ein typischer Fernseher-Flyback transportiert pro Impuls > einfach eine diskrete Menge an Energie in den Ausgang. Ist die > Ausgangsspannung (Komparator) erreicht, lässt man einfach Impulse weg > bis sie wieder abgesunken ist. Hier wäre die PWM immer mit fester > Breite, und die ADC Auflösung 1 bit. Und es funktioniert. Man bekommt > eine präzise (weit besser als 1 bit, sondern Komparatorauflösung) genaue > Ausgangsspannung wenn die Ausgangskapazität gross genug ist um die > Energieimpulse zu mitteln. Das ist aber ein Vergleich von Äpfeln mit Birnen, denn hier ist die Frequenz veränderlich und nicht fix. Konstante Energiemenge entspricht ja einer fixen ON-Time bei variabler Frequenz. Und da die Frequenz (und damit virtuell der Tastgrad bei einer Frequenz) nur durch die Genauigkeit des Komparators gegeben ist, hast du defacto eine gigantische PWM Auflösung und somit eine sehr genaue Regelung. Das ist ja wiederum auch die analoge Welt und nicht die digitale Regelungstechnik. Michael B. schrieb: > "This means that the converter's output voltage can change as much as > 14.6mV before it will become evident at the output of the analogto- > digital converter and the duty cycle could be modified." Da sind wir uns einig. Michael B. schrieb: > Sagt auch aus, daß die ADC-Auflösung wichtiger ist als die PWM > Auflösung. Im Diagramm die untere Kurve ist NICHT de PWM, sondern der > Prozentwert der viel schnelleren PWM über die Dank Ausgangselko > langsamere Schwankung der Ausgansspannung (obere Kurve). JEDE digitale > Regelung muss so regeln, daß sie Schwankungen im OK Feld nicht sieht und > erst bei high und low nachregeln kann. Einzig die zeitliche Länge der > Schwankung hängt von PWM Auflösung und Ausgangselko ab. Nun gut, ohne ADC Auflösung ist klar dass das alles nicht richtig funktioniert, da denke ich sind wir uns einig :) Und die Bedeutung des Diagramm ist mir einleuchtend, es zeigt die Auswirkung eines Steps der PWM auf die Ausgangsspannung. Und das ist durch die Übertragungsfuntkion der Regelstrecke, inklusive der von dir erwähnten Kondensatoren zum Glätten, bestimmt. Das kann ausreichend sein, keine Frage. Aber sinnvoll ist es nicht. Auf was ich hinaus will ist, dass es nichts bringt, die Frequenz hochzusetzen, aber dann nur noch geringe Auflösung der PWM zu haben. Höhere Frequenz erlaubt kleinere Bauteile (L und C), und höhere Dynamik. Aber wenn ich mir diese wieder kaputt mache weil ich die Unzulänglichkeiten der PWM mit einem riesigen C am Ausgang wieder wettmache ist nichts gewonnen (außer höhere frequenzabhängige Verluste). Daher sollte man gucken, dass die Auflösung des ADC und die der PWM in einem sinnvollen Verhältnis stehen. Und da wird der Themenersteller mit 6 Bit defintiv nicht weit kommen. Michael B. schrieb: > Natürlich kann man nun die Regelschleife verbessern, wenn man mehr > Auskunft über die Ausgangsspannung hat und die Energiemenge pro Impuls > regeln kann. Aber NOTWENDIG ist das nicht um einen step down zu > bekommen. Zwingend notwendig vielleicht nicht, aber man macht sich das Leben ohne wildes Filtern einfacher. Grüße Stampede
Stampede schrieb: > Die PWM Auflösung muss größer sein als die des ADC der die Spannung > misst. Da hätte ich im Nachhinein lieber "Die PWM Auflösung sollte größer sein als die des ADC der die Spannung misst"
Nicht zwingend. Man rechnet mit mehr bits, als man effektiv hat. Ich rechne zB immer mit 32 bit. Skalierung irgendwie. Der ADC geht immer gerade rein, dh ich rechne in ADC Koordinaten. Am Schluss skaliert man irgendwie mit rightshift runter in einen sinnvollen Bereich, der auch ausgebbar ist. Dh auch wenn rechts ein paar bits beim Stellglied abgeschnitten werden, der Integrator laeuft weiter, und wenn das naechste ausgebbare bit angeschnitten wird, wird es eben ausgegeben. Das Stellglied springt dann eben bei Steady State mehr oder weniger periodisch um ein bit rum, das ist ok so. Dessen duty cycle zeigt dann an wie dann man zwischen den bits steht. Man kann durchaus mit einem 8Bit Stellglied 16bit genau sein.
:
Bearbeitet durch User
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.