Forum: Mikrocontroller und Digitale Elektronik Schaltregler in Software AVR


von Ich (Gast)


Lesenswert?

Hi

Ich brauche einen  Reglelbaren Step-Down-Konverter so weit so gut. In HW 
schon X mal aufgebaut. Allerdings würde ich in dem Projekt gerne mal 
einen Softwaregeregelten machen. Und jetzt komme ich nicht so in auf den 
Trichter wie ich aus den ADC werten dann auf den passenden PWM Wert 
komme.
Ich habe ja einen Istwert aus dem ADC und Sollwert als Variable und zihl 
ist es natürlich auf den Sollwert zu regeln.

Nur wie macht mann so eine Regelung? Ich komme nur auf PWM Duty hoch 
wenn ADC < Soll und PWM aus wenn ADC > Soll...

von Test (Gast)


Lesenswert?

Zu langsam...

von holger (Gast)


Lesenswert?

>Ich brauche einen  Reglelbaren Step-Down-Konverter so weit so gut. In HW
>schon X mal aufgebaut.

Dann bleib dabei.

>Allerdings würde ich in dem Projekt gerne mal
>einen Softwaregeregelten machen.

Ein Softwarefehler und die Schaltung raucht ab?

Also wenn dann gibst du per PWM einen Sollwert vor
und die Regelung würde ich trotzdem analog machen.
Das ist viel effizienter.

von Ich (Gast)


Lesenswert?

Test schrieb:
> Zu langsam...

In vielen Modellbauladegeräten funktionieret das schon seit Jahren.

holger schrieb:
> Also wenn dann gibst du per PWM einen Sollwert vor
> und die Regelung würde ich trotzdem analog machen.
> Das ist viel effizienter.

Erklär mal bitte genaue wie du das meinst?

Ich wollte das halt in Software machen da der Atmega eh vorhanden ist 
und weil wenig  Platz vorhanden ist.

von Stephan B. (matrixstorm)


Lesenswert?

An sowas bastel ich auch derzeit...
(... plane bei ATmega8 zu bleiben, da dieser voellig aussreichen 
muesste)

Aber ADC ist aber in der Tat zu langsam.
Daher ist mein Ansatz folgender:

(Beide) Timer1 generieren ein Signal fuer Spulenansteuerung.
Zur Strombegrenzung will ich,mittels des eingebauten Comparators die an 
einem Shuntwiderstand abfallende Spannung mit einer am Poti 
eingestellten vergleichen.
Ein Optokoppler gibt Feedback ob Zielspannung erreicht ist, wie folgt:
Timer2 produziert ein 50:50 Signal (mit 1/6 fclock). Dieses ist per 
Begrenzerwiderstand mit T0 (externer Trigger Timer0) verbunden. Das 
Signal des Optokopplers zieht T0 gegen GND im Falle von Feedback...

Da dein Einsatz scheinbar NICHT galv. getrennt sein muss/soll, kannst du 
Timer2 per RC-Glied in einen einfachen DAC verwandeln - der Quasi deine 
Referenzspannung einstellt. Per Comparator vergleichst du dann ob diese 
erreicht ist - das geht schneller als ADC.

von flo (Gast)


Lesenswert?

Ich schrieb:
> Nur wie macht mann so eine Regelung? Ich komme nur auf PWM Duty hoch
> wenn ADC < Soll und PWM aus wenn ADC > Soll...

Gibt viele Varianten. In SW kann man ja alles mögliche ausprobieren 
(zunächst mal mit ner unsensiblen Last :-)

Kannst dir die Regelalgorithmen verschiedener integrierter Schaltregler 
anschauen, in den Datenblättern ist das meist gut beschrieben.
Z.B. bei TI die Constant-On-Time Regelung, eine definierte Zeit an und 
angeschalten wird erst wieder unter einem Schwellwert. Das kriegt man 
recht gut mit dem Komparator und dem Timer hin.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

AVR mit Fast PWM sollte schnell genug sein, evtl. AVR BC100 als 
Inspirationsquelle.

von Detlef K. (adenin)


Lesenswert?

http://edoc.sub.uni-hamburg.de/haw/volltexte/2008/527/pdf/thesis.pdf
Ich denke, das sollte deine Probleme lösen.

: Bearbeitet durch User
von Jobst M. (jobstens-de)


Lesenswert?

Stephan B. schrieb:
> Aber ADC ist aber in der Tat zu langsam.

Verdammt, hätte man mir das nicht vorher sagen können? Jetzt 
funktionieren meine Schaltregler schon einwandfrei, obwohl das ja gar 
nicht geht ...

... die sind nicht zu langsam. Und die PWM auch nicht.


Gruß

Jobst

von Marius S. (lupin) Benutzerseite


Lesenswert?

Stephan B. schrieb:
> Aber ADC ist aber in der Tat zu langsam.

Kommt das nicht eher darauf an, wie schnell du regeln willst?

Da war doch was mit Verstärkung und Phase...
Stichwort Phasenreserve und Nyquist-Stabilität.

Wie man das berechnet und dann in einen AVR presst ist eine andere 
Frage..

von Stephan B. (matrixstorm)


Lesenswert?

Naja, fuer MHz ist der ADC zu lahm - wie wenig kS/sec macht der doch 
gleich?

Wenn du mit kurzen Ueberspannungen leben kannst, dann ok.

MfG

Nachtrag: Vermutlich 15kS/sec ADC. Deine PWM kann bis 8MHz ...

: Bearbeitet durch User
von Marius S. (lupin) Benutzerseite


Lesenswert?

Zur Not gibt es ja noch den Analog-Komparator.

Wenn der AVR noch mehr als schalten und regeln soll, dann kann man 
sowieso nicht auf volle Geschwindigkeit gehen. Außerdem bekommt man dann 
evtl. andere Probleme (z.B. andere Interrupts die Vorrang haben müssen).

Ein ARM erledigt das nebenbei mit vernachlässigbarer CPU Auslastung.
Und der ADC wäre auch noch schneller.

von Stephan B. (matrixstorm)


Lesenswert?

Marius S. schrieb:
> Außerdem bekommt man dann
> evtl. andere Probleme (z.B. andere Interrupts die Vorrang haben müssen).

Man darf nur den Comparator Interrupt verwenden. Diesen dann auch direkt 
in der vector-table ohne extra 3 Takte fuer RJMP zu verschwenden.
Das erste Kommando in dieser ISR muss dann immer zunaechst ein OUT sein, 
welcher die PWM abschaltet.

Das restliche Regeln passiert im polling mode mit kooperativen Tasks.

MfG

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Stephan B. schrieb:

> Man darf nur den Comparator Interrupt verwenden.

Nö. Man muß nur dafür sorgen, daß jederzeit die Echtzeitbedingung 
eingehalten wird, dann kann man natürlich auch andere Interrupts 
benutzen.

Die Echtzeitbedingung setzt sich aus zwei Komponenten zusammen:

1) Rechenzeit

Die Regler-ISR muß weniger Rechenzeit verbrauchen als eine PWM-Periode 
dauert. Am besten deutlich weniger, denn das schafft Reserven für die 
zweite Komponente, die

2) variable Latenz

Die gerade abgearbeitete Instruktion, cli/sei-Blöcke und konkurrierende 
Interrupts.

a)
Der Einfluß der gerade abgearbeiteten Instruktion ist einfach zu 
bestimmen, der worst case ist hier die am längsten dauernde Instruktion, 
die es auf dem Zielsystem gibt.

b)
Ähnlich einfach ist es bei den cli/sei-Blöcken. Die wirken jeweils in 
ihrer Gesamtheit schlicht wie überlange Instruktionen. Man braucht also 
nur für alle diese Blöcke die Dauer der enthaltenen Instruktionen 
zusammen zu zählen und den längsten rauszupicken. Ist der länger als der 
unter a) festgestellte worst case, hat man einen neuen worst case 
gefunden. D.h.: a) und b) brauchen nicht addiert werden.

c)1)
Interrupts geringerer Priorität. Die wirken im Prinzip genauso wie die 
unter a) und b) aufgeführten Sachen, allerdings zusätzlich zu denen. 
Also Laufzeit all dieser ISRs bestimmen, die längste herauspicken und 
den Wert zu dem unter a) und b) gefundenen worst case addieren. Das ist 
der neue worst case.

c)2)
Interrupts höherer Priorität. Erst hier wird es wirklich kompliziert, 
denn hier spielt nicht nur die Laufzeit eine Rolle, sondern auch die 
Häufigkeit ihres Aufrufs.

von Stephan B. (matrixstorm)


Lesenswert?

c-hater schrieb:
> Nö. Man muß nur dafür sorgen, daß jederzeit die Echtzeitbedingung
> eingehalten wird, dann kann man natürlich auch andere Interrupts
> benutzen.

Kommt darauf an, was die Interrupts regeln sollen.
Da aber Last dynamisch schwankt, die Induktivitaet von so ziemlich allem 
abhaengig ist (u.A. Temperatur und Strom), die Bauteile (Kondensatoren) 
altern und der Takt nie 100% stabil ist, bezweifel ich einfach mal das 
das machbar ist.
Um also das kritischste Ereignis (overcurrent/overvoltage) zu fangen 
sollte man sicherstellen das dieser Interrupt niemals unnoetig 
bloeckiert ist und moeglichst schnell aktiv wird. Vermutlich auch, weil 
solche Ereignisse nicht direkt planbar/vorhersehbar sind.

Also nicht kostbare Reaktionszeit fuer andere ISRs "vertroedeln", die 
man auch in der Programmhauptschleife abarbeiten kann. Auf diese Weise 
erreicht man eine Art Priorisierung der Nebenlaeufigkeiten, mit dem ISR 
als top priority.

Was anderes ist es, wenn man AVRs mit Interruptprioritaeten verwendet - 
XMEgas z.B.

Meine Meinung.

MfG

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

c-hater schrieb:
> Die Regler-ISR muß weniger Rechenzeit verbrauchen als eine PWM-Periode
> dauert.

Man muß nicht immer gleich mit dem 64Bit-4GHz-Vorschlaghammer auf alles 
draufhauen.
Es geht auch wesentlich gemütlicher.

Man läßt die PWM einfach laufen, z.B. mit 50kHz und mißt die 
Gleichspannung. Ist sie zu klein, dreht man das Tastverhältnis hoch und 
umgekehrt.
Beim Step-Down ist die Spannung ziemlich gut vom Tastverhältnis abhängig 
und schnelle Lastsprünge puffert der Siebelko.

von Falk B. (falk)


Lesenswert?

@ Peter Dannegger (peda)

>> Die Regler-ISR muß weniger Rechenzeit verbrauchen als eine PWM-Periode
>> dauert.

>Man muß nicht immer gleich mit dem 64Bit-4GHz-Vorschlaghammer auf alles
>draufhauen.
>Es geht auch wesentlich gemütlicher.

>Man läßt die PWM einfach laufen, z.B. mit 50kHz und mißt die
>Gleichspannung. Ist sie zu klein, dreht man das Tastverhältnis hoch und
>umgekehrt.

Wenn es denn sooo einfach wäre, wären alle analogen Schaltregler-ICs 
schon lange ausgestorben. So eine einfachste, LANGSAME Regleung, geht 
bestenfalls für einen sehr kleine Gruppe von Netzteilen, die in einem 
eher eingeschränkten Last- und Anwendungsbereich arbeitet. Die große 
Masse funktioniert anders!

Überstromerkennung am Schalttransistor arbeitet bei so ziemlich allen 
Schaltregler-ICs mit der gleichen Taktfrequenz wie die PWM und reagiert 
in us und weniger. Sowas machen alle digitalen Schaltregler-ICs rein in 
Hardware.

Reglerbandbreite ist immer ein Thema, denn der Regler muss und soll 
lastsprünge schnell ausreglen können. Dazu MUSS die digitale Reglung mit 
einer eher hohen Frequenz arbeiten, im Idealfall der gleichen wie die 
PWM. Für sowas gibt es schon Dutzende DSPs bzw. ASICs.

Beispiel sind der PICCOLO und andere ICs von TI.

Digital Power ist das Zauberwort.

http://www.ti.com/lsds/ti/power-management/digital-power-control-solutions-products.page

Dort gibt es ICs, wo der digitale Regler komplett in Hardware läuft, 
Null Software bzw,. nur für langsame, administrative Dinge. Und dabei 
PWM-Frequenzen bis 2,5 MHz!!!

Ergo. Zum Spielen und lernen kann man mit dem AVR vielleicht ein 
EINFACHES, digital geregeltes Netzteil bauen. Aber man sollte keine 
Wunder erwarten. Jedes normale Netzteil wird bessere Eigenschaften haben 
als das AVR-Netzteil.

Mal als Abschätzung. Ein AVR @ 20 MHz und 20kHz PWM-Frequenz, macht 1000 
Takte / PWM Zyklus. Damit könnte man hinkommen. Mit viel Tricks und ggf. 
Assembler kommt man vielleicht auf 40kHz. Viel mehr aber eher nicht.

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


Lesenswert?

Peter Dannegger schrieb:
> Man läßt die PWM einfach laufen, z.B. mit 50kHz und mißt die
> Gleichspannung. Ist sie zu klein, dreht man das Tastverhältnis hoch und
> umgekehrt.
> Beim Step-Down ist die Spannung ziemlich gut vom Tastverhältnis abhängig
> und schnelle Lastsprünge puffert der Siebelko.

Genau. Außerdem kann man die PWM auch aussetzen (2-Punkt-Regelung), um 
effizient zu arbeiten. Dadurch wird der Ripple etwas höher, aber dafür 
die Regelung sehr schnell.

Stephan B. schrieb:
> Was anderes ist es, wenn man AVRs mit Interruptprioritaeten verwendet -
> XMEgas z.B.

Blubb. Man muss einfach Code schreiben, der mit der angeschlossenen 
Hardware funktioniert. Es gibt von ATMEL Appnotes zu 
AVR-Spannungsreglern und Ladeschaltungen nach dem Buck-Regler-Prinzip.

von Peter D. (peda)


Lesenswert?

Falk Brunner schrieb:
> So eine einfachste, LANGSAME Regleung, geht
> bestenfalls für einen sehr kleine Gruppe von Netzteilen, die in einem
> eher eingeschränkten Last- und Anwendungsbereich arbeitet. Die große
> Masse funktioniert anders!

Ich würde sagen, genau umgekehrt. Nur ein geringer Anteil muß wirklich 
super-duper Präzision sein, die Masse braucht diesen Aufwand nicht.
Z.B. als LED-Konstantstromer reicht die einfache Lösung dicke. Oder als 
Lüftersteuerung, Heizungssteuerung usw. usw..

Aber auch für ein präzisions Labornetzteil kann man es problemlos als 
digitale Vorregelung nehmen, die restlichen 1..3V macht dann der analoge 
Hauptregler.

von Carsten R. (kaffeetante)


Lesenswert?

Der ADC ist nicht zu langsam wenn man weiß wofür man ihn einsetzt.

Der Komparator trägt wie schon beschrieben die Hauptlast und überwacht 
den Spulenstrom und der ADC schaut sich den Ausgang für die 
Regelschleife an. Für die Regelschleife ist der ADC schnell genug. Die 
läuft nämlich langsamer als die PWM-Frequenz, deutlich langsamer. Und 
wenn man nicht die vollen 10 Bit braucht, kann der ADC auch schneller 
laufen.

Bauen kann man so etwas schon, auch funktionstüchtig. Aber die PWM-ICs 
sind aufgrund ihrer Spezialisierung schneller, billiger, zäher was 
Störungen betrifft (Latch-up etc.) oder haben einige Funktionen 
integriert die man beim AVR extern nachrüsten müßte. Oftmals sind diese 
Eigenschaften auch kombiniert vorhanden. Aber ein AVR kann man halt 
programmieren. Für besondere Ziele oder aus Prinzip kann man das schon 
mal machen.

von c-hater (Gast)


Lesenswert?

Marius S. schrieb:

> Kommt das nicht eher darauf an, wie schnell du regeln willst?
>
> Da war doch was mit Verstärkung und Phase...
> Stichwort Phasenreserve und Nyquist-Stabilität.

Richtig. Nur ist PWM halt so ein Konzept, wo von vornherein feststeht, 
daß man auf keinen Fall schneller regeln kann, als ein PWM-Zyklus 
dauert. Der Aktor gibt hier eindeutig die Grenze vor. Damit genügt es 
auch, wenn man pro PWM-Zyklus einen Meßwert als Eingangsgröße für eine 
eventuelle Regelung gewinnt. (Oft genügt sogar deutlich weniger)

Die AVR-ADC kann nun bei 15kHz mit 10 Bit Auflösung samplen, bei 75kHz 
immerhin noch mit ca. 8 Bit.

Das genügt für sehr viele Schaltwandler-Anwendungen vollauf.

> Wie man das berechnet und dann in einen AVR presst ist eine andere
> Frage..

Aber eine lösbare. Oft muß es nichtmal ein ausgewachsener Regler sein, 
den braucht man eigentlich nur, wenn mit extremen Lastwechseln am 
Ausgang zu rechnen ist, von denen der Controller vorher nix weiß.

Genau das ist ein wichtiger Vorteil sozusagen "integrierter" 
Schaltwandler für die Versorgung von ohnehin vom Controller gesteuerten 
Baugruppen. Da weiß er ja oft schon vorher von jedem bevorstehenden 
größeren Lastwechsel. Eine Regelung ist in solchen Anwendungen entweder 
gleich ganz verzichtbar oder nur dazu da, vergleichsweise langsame, 
thermisch bedingte Änderungen auszugleichen.
Dazu kommt noch, daß die Abschaltung der Baugruppen zwecks Energiesparen 
ein Kinderspiel ist. Das ist sozusagen implizit und erfordert dann 
keinerlei extra Bauteile mehr.

Ein weiterer Vorteil ist die mögliche Synchronität. Schönes Beispiel: 
Ansteuerung eines "klassischen" graphischen LC-Displays, also eines ohne 
eigenen Controller. Hier erspart die "integrierte" Erzeugung der 
LCD-Spannung und des Stromes für die Hintergrundbeleuchtung lästige 
Schwebungseffekte, mit denen man sich herumschlagen müßte, wenn man 
dafür externe "asynchrone" Schaltwandler benutzt. Sehr schön läßt sich 
hier der Timer, über den man die Ausgabe timed (Zeilenfrequenz), 
gleichzeitig auch als PWM-Quelle nutzen und obendrein als Trigger für 
die AD-Wandlung. Übrigens, ganz typisch auch bei dieser Anwendung: die 
sich oftmals ergebende Möglichkeit für stark vereinfachte und deswegen 
völlig unkritische Regelungen. Hier genügen simple Zweipunktregler 
völlig.

Also, es gibt schon reichlich sinnvolle Anwendungen für 
softwaregesteuerte Schaltwandler.

Aber natürlich sollte man immer die Vor- und Nachteile gegeneinander 
abwägen. Je enger der Verbraucher mit der Funktion des µC verzahnt ist, 
desto attraktiver ist es i.d.R., auch eine eventuell von diesem 
Verbraucher benötigte Spannung (oder Strom) per Software-Schaltwandler 
bereitzustellen.

Bei großen Leistungen und inbesondere bei vom Controller unabhängig 
erfolgenden Lastwechseln hingegen spricht vieles dagegen, das mittels 
Controller zu erledigen, denn hier wird es schnell sehr kompliziert (bis 
unmöglich), alle Anforderungen unter einen Hut zu bringen.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Carsten R. schrieb:
> zäher was Störungen betrifft (Latch-up etc.)

Erkläre doch mal bitte, wie bei einem Schaltregler Latch-up Effekte 
zustande kommen. Oder was Latch-up Effekte deiner Meinung nach sind. :-)


Falk Brunner schrieb:
> Dort gibt es ICs, wo der digitale Regler komplett in Hardware läuft,
> Null Software bzw,. nur für langsame, administrative Dinge. Und dabei
> PWM-Frequenzen bis 2,5 MHz!!!

Meinst du die Regelung läuft auch mit 2,5 MHz?


Ich habe seit 2007 einen Step-Up für Nixie Röhren am laufen, erzeugt aus 
9 Volt so ca. 170 Volt. Das ganze ohne geniale Regel-Schleife und trotz 
Multiplexing ist die Ausgangsspannung relativ stabil, dank großzügig 
dimensionierten Stütz-Kondensator am Ausgang.

von Falk B. (falk)


Lesenswert?

@ Marius S. (lupin) Benutzerseite

>> zäher was Störungen betrifft (Latch-up etc.)

>Erkläre doch mal bitte, wie bei einem Schaltregler Latch-up Effekte
>zustande kommen. Oder was Latch-up Effekte deiner Meinung nach sind. :-)

Er meint wohl eher, dass bei einem großen Fehler der Regler erstmal 
dicht macht, bis das Netzteil aus und wieder eingeschaltet wird. Error 
latching.


>> Dort gibt es ICs, wo der digitale Regler komplett in Hardware läuft,
>> Null Software bzw,. nur für langsame, administrative Dinge. Und dabei
>> PWM-Frequenzen bis 2,5 MHz!!!

>Meinst du die Regelung läuft auch mit 2,5 MHz?

Das meine ich nicht nur, das IST so. Zusammen mit der hochauflösenden 
PWM mit weniger als 150ps Zeitauflösung ist das ein VERDAMMT 
leistungsfähiges Gespann!

>Ich habe seit 2007 einen Step-Up für Nixie Röhren am laufen, erzeugt aus
>9 Volt so ca. 170 Volt. Das ganze ohne geniale Regel-Schleife und trotz
>Multiplexing ist die Ausgangsspannung relativ stabil, dank großzügig
>dimensionierten Stütz-Kondensator am Ausgang.

Eben DAS ist eine der genannten einfachen Anwendungen mit konstanter, 
gutmütiger Last.

von Carsten R. (kaffeetante)


Lesenswert?

c-hater schrieb:
> Da weiß er ja oft schon vorher von jedem bevorstehenden
> größeren Lastwechsel.

Genau das sehe ich auch als einen massiven Vorteil und ein gutes 
Beispiel. Allerdings wird oft modulweise entwickelt. Die 
Energieversorgung wird einfach hinzugekauft oder hineinkopiert in den 
Schaltplan. Eine so enge Verzahnung ist in der Entwicklung oft nicht 
gewünscht. Das ist einer der Hemmschuhe. Nicht weil es nicht ginge.

Aber es kann durchaus es machen. Manchmal kann der Vorteil das 
schlagende Argument sein. Beispielsweise gibt es im 
Telekommunikationsbereich sehr hochfrisierte Netzteile mit 
vergleichsweise hoher Intelligenz um das letzte bisschen Wirkungsgrad 
herauszuholen, auch wenn das keine AVRs sind.

Marius S. schrieb:
> Erkläre doch mal bitte, wie bei einem Schaltregler Latch-up Effekte
> zustande kommen. Oder was Latch-up Effekte deiner Meinung nach sind. :-)

Google mal oder schau bei wikipedia nach :) Da hängt einfach mal die 
Hardware. Das ist ein Zustand in dem sich ein I/O Pin nicht mehr 
schalten läßt, auch wenn man den Befehl dazu gibt. Das ist das 
Hardware-Pendant zu: "Die Sofware hängt."

Schon seit Ewigkeiten werden einige, wenn auch nicht alle, Regler-ICs 
damit beworben, daß sie besonders gegen diesen Effekt geschützt sind. Da 
man aber ohnehin Treiber für leistungsfähige Schaltregler braucht, denn 
dafür sind die I/Os zu schwach, kann man dieses Problem (teilweise) 
auslagern.

: Bearbeitet durch User
von Mr. T (Gast)


Lesenswert?

Mir fallen da noch zwei Ideen ein, die allerdings etwas gehackt sind.
In beiden fällen baust du zunächst einen Hardwareschaltregler wie 
gewohnt auf.

1.)
Man könnte die Wiederstände des Spannungsteilers, welcher die 
Feedbackspannung gibt durch digital einstellbare Widerstände ersetzten. 
Hab mich noch nicht richtig in die reingekniet und habe daher nicht auf 
der Pfanne, in welchen Auflösungen, Geschwindigkeiten diese verfügbar 
sind. Eventuell muss man auch einen Blick auf deren Frequenzverhalten 
werfen, obwohl ich das eher bezweifle. In vielen Schaltnetzteilen werden 
Trimemrpotis verwendet, um z.B. noch eine Feineinstellung zwischen 11 
und 14V zu machen. Zudem kommt der Feedbackabgriff erst nach dem 
Siebelko und soll möglichst wenig wellenbelastet sein. Dennoch währe zu 
evaluieren, wie sich die Digitalpotis auf den Regelkreis auswirken.

2.)
Du könntest am Masseanschluss des Feedback Spannungsteilers eine 
einstellbare Spannungsquelle anbringen. Entweder dein µC hat einen 
Analogausgang, du verwendest ein externes IC, oder du löst das mittels 
PWM-Tiefpass-Glättung. Dann liest du die Analogspannung am 
Stepperausgang ein und führst mittels PWM die Ausgangsspannung. 
Dazwischen stecken natürlich auch ein paar Überlegungen. Welchen 
Spannungsbereich kann man abfahren? Funktioniert der Regler des Steppers 
noch? Wie schnell kann und muss das System auf Laständerungen reagieren? 
Wie ist die Kennlinie der Ausgangsspannung in Abhängigkeit der PWM (wenn 
nicht linear, brauchst du ne LUT). Und du musst natürlich einen 
Regelkreis im Controller haben, ABER die eigentliche Regelung und PWM 
Erzeugung macht das Stepper IC. Im Grunde hast du also eine kaskadierte 
Reglerstruktur.

Letztlich könnte man auch mit beiden Lösungen einen SpannungsStepper in 
eine Stromquelle für einen bestimmten Spannungsbereich verwandeln, indem 
man via Shunt Strom, statt Spannung ermittelt.

Beide Lösungen führen sicher schneller zum Ziel, als wenn du komplett in 
das Thema SoftwareSchaltregler eintauchst, werden aber sicher beide 
nicht einen endlos großen Spannungsbereich abdecken.

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


Lesenswert?

Lösung 1 ist Sackstand.

Lösung 2 gibt es schon lange, beispielsweise auf dem STK500. Hier wird 
aber kein Schaltregler, sondern ein LM317 mit einer geglätteten PWM 
angesteuert, das Prinzip ist das selbe. Auf diese Weise werden 
Target-Spannung und AREF eingestellt. Der Regler hat immer die Hoheit 
über den Regelkreis, nur dass die Referenz (in Stufen) verändert werden 
kann.

von Mr. T (Gast)


Lesenswert?

Ich nehme an "Sackstand" ist ein anderer Ausdruck für "Murks"?
Würden sicher beide in der selben Umgangssprache.h definiert sein^^

Wenn meine Übersetzung richtig ist, erklär mir den Murks an der Idee - 
wie gesagt, das waren nur ungetestete Ideen von mir, die ich noch nicht 
durchdacht habe.
Vielleicht verhinderst du, dass ich eines Tage in die falsche Richtung 
laufe.

von Carsten R. (kaffeetante)


Lesenswert?

Knut Ballhause schrieb:
> Lösung 1 ist Sackstand.

Das stimme ich zu. Mit den Trimmpotis zum Abgleich verzerrt man den 
Feedback, bzw paßt ihn an, manipuliert ihn.

Wenn man

Mr. T schrieb:
> die
> Feedbackspannung gibt durch digital einstellbare Widerstände *ersetzt*

so ist das was Anderes. Die gesammte Information muß schnell genug durch 
die Datenverarbeitung. Damit wäre kaum was gewonnen. Das wäre schon sehr 
ähnlich zur direkten Regelung per Mikrocontroller. Da ist Variante 2 
sinnvoller. Als Dritte Alternative kann man per µC die Referenz steuern, 
manpuileren oder ersetzen.

: Bearbeitet durch User
von Carsten R. (kaffeetante)


Lesenswert?

Carsten R. schrieb:
> so ist das was Anderes. Die gesammte Information muß schnell genug durch
> die Datenverarbeitung. Damit wäre kaum was gewonnen. Das wäre schon sehr
> ähnlich zur direkten Regelung per Mikrocontroller. Da ist Variante 2
> sinnvoller.

Den Teil bitte streichen. Hatte da irgendwie einen Denkfehler und dem 
Poti DAC-Eigenschaften untergejubelt, was natürlich falsch ist.

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.