Forum: Mikrocontroller und Digitale Elektronik µC geregelte Stromquelle


von Marvin N. (tigereye1337)


Angehängte Dateien:

Lesenswert?

Sehr geehrte Forengemeinde,

mein Kommilitone und ich sind dabei eine Stromquelle für einen relativ 
großen Strombereich zu entwerfen.

Strombereich:        10µA bis 100mA
Versorgungsspannung: 30V
Maximaler Fehler:    0,5%

Wir haben uns bereits einige Gedanken gemacht und haben einen ersten 
Entwurf gemacht.
Folgende Bauteile sind bisher ausgewählt:

Microcontroller  ATMEGA32M1-AU
Strom-Regel-FET  CSD18504KCS
Umschalt-FET  IRLR8743TRPBF
Offsetdiode  BAT46WJ
Zero-Offset-Amp  AD8676


Im Prinzip soll das ganze später so funktionieren:
1. µC den gewünschten Strom mitteilen
2. µC schaltet passenden Shunt Widerstand zu
3. ADC misst den Istwert vom Strom
4. Software Regler im µC regelt den Ausgang des DAC
5. durch den OP & FET stellt sich ein entsprechender Strom ein
6. ADC misst weiter den Istwert und µC regelt auf den Sollwert

-Die Diode am Eingang des OPs dient dazu den DAC Offset zu blocken.
-Der 22K Widerstand dient der Absicherung der Eingänge (mithilfe der 
internen clamping Dioden) ggf. sollte er etwas größer gewählt werden.
-Der Fehler durch die Messung am Stromknoten oberhalb der FETs sollte 
kaum Auswirkungen haben.
-Es sollen insgesamt 6 Shunt Widerstände verwendet werden!
-Der Atmega wurde ausgewählt da er über SPI programmiert werden kann & 1 
DAC besitzt. (Leider nur 10Bit)


Bevor wir mit dem bauen beginnen, wollten wir zunächst weitere Meinungen 
einholen.
Eventuell kann von euch ja mal jemand einen Blick auf das 
Prinzipschaltbild werfen. Evtl. fallen euch direkt grobe Fehler oder 
Probleme auf.

von Harald W. (wilhelms)


Lesenswert?

Marvin N. schrieb:

> µC geregelte Stromquelle

Eigentlich macht man eine solche Regelung besser analog.
Durch den µC bekommt man eine zusätzliche Totzeit, die
Regelung verschlechtert. Die Spannung für den Spannungs/
Stromwandler kann man allerdings schon per µC und DA-Wandler
zur Verfügung stellen. Anstatt eines umschaltbaren Shunts
würde ich eher drei verschiedene Stromquellen mit je einem
Shunt aufbauen und deren Ausgänge umschalten.

von M. K. (sylaina)


Lesenswert?

Marvin N. schrieb:
> 6. ADC misst weiter den Istwert und µC regelt auf den Sollwert

Aus Erfahrung empfehle ich hier: Lass den µC lediglich die Sollwerte 
vorgeben und übergebt die eigentliche Regelung einem analogen Regler. 
Der Atmega ist schlicht zu langsam, dass da was Vernüftiges bei rum 
kommt wenn man ihn als Regler benutzen will

von Axel S. (a-za-z0-9)


Lesenswert?

Marvin N. schrieb:
> mein Kommilitone und ich sind dabei eine Stromquelle für einen relativ
> großen Strombereich zu entwerfen.
> Folgende Bauteile sind bisher ausgewählt:
> Microcontroller  ATMEGA32M1-AU
> Strom-Regel-FET  CSD18504KCS
> Umschalt-FET  IRLR8743TRPBF
> Offsetdiode  BAT46WJ
> Zero-Offset-Amp  AD8676

Über die Sinnhaftigkeit des Projekts schweige ich lieber.

> Im Prinzip soll das ganze später so funktionieren:
> 1. µC den gewünschten Strom mitteilen
> 2. µC schaltet passenden Shunt Widerstand zu
> 3. ADC misst den Istwert vom Strom
> 4. Software Regler im µC regelt den Ausgang des DAC
> 5. durch den OP & FET stellt sich ein entsprechender Strom ein
> 6. ADC misst weiter den Istwert und µC regelt auf den Sollwert

Bis auf den Teil mit dem ADC ist das klar. Nur: was versprecht ihr euch 
davon, die Spannung über dem Shunt (das ist nicht das gleiche wie der 
Ausgangsstrom) zu messen? Wenn die Regelung mit dem OPV funktioniert, 
dann werdet ihr die gleiche Spannung messen wie die die ihr mit dem DAC 
ausgebt. Oder 0 wenn keine Last angeschlossen ist. Nachregeln ist da 
jedenfalls gar nicht.

> -Die Diode am Eingang des OPs dient dazu den DAC Offset zu blocken.

Verstehe ich nicht. Klingt falsch und sieht falsch aus. Überhaupt kann 
ein DAC, der mit GND und +5V versorgt wird, nicht wirklich GND oder +5V 
ausgeben. Rail-to-Rail Ausgänge sind eine Fiktion der Marketing- 
Abteilung.

> -Der 22K Widerstand dient der Absicherung der Eingänge (mithilfe der
> internen clamping Dioden) ggf. sollte er etwas größer gewählt werden.

Nein. Kleiner. Stichworte: parasitäre Kapazitäten, Phasenreserve, 
dynamische Stabilität der Regelschleife.

> -Der Fehler durch die Messung am Stromknoten oberhalb der FETs sollte
> kaum Auswirkungen haben.

Die FET gehören auf jeden Fall auf die GND-Seite der Shunt-Widerstände.

> -Es sollen insgesamt 6 Shunt Widerstände verwendet werden!

Ich habe die Zahlen jetzt nicht nachgesehen. Aber der R_ds_on der MOSFET 
geht direkt als Fehler ein. Für 20R Shunt und größer mag das gehen.

von Marvin N. (tigereye1337)


Lesenswert?

Axel S. schrieb:

> Bis auf den Teil mit dem ADC ist das klar. Nur: was versprecht ihr euch
> davon, die Spannung über dem Shunt (das ist nicht das gleiche wie der
> Ausgangsstrom) zu messen? Wenn die Regelung mit dem OPV funktioniert,
> dann werdet ihr die gleiche Spannung messen wie die die ihr mit dem DAC
> ausgebt. Oder 0 wenn keine Last angeschlossen ist. Nachregeln ist da
> jedenfalls gar nicht.

Ich sehe was du meinst, die eigentliche Regelung würde er wohl nicht 
machen.
Ein nutzen wäre das eine Messung des "Ist-Stroms" z.B. zur Anzeige 
möglich ist.


>> -Die Diode am Eingang des OPs dient dazu den DAC Offset zu blocken.
>
> Verstehe ich nicht. Klingt falsch und sieht falsch aus. Überhaupt kann
> ein DAC, der mit GND und +5V versorgt wird, nicht wirklich GND oder +5V
> ausgeben. Rail-to-Rail Ausgänge sind eine Fiktion der Marketing-
> Abteilung.

Nun, die Idee dahinter war (gedankliche µC-Regelung angenommen) den 
"Zero Voltage Offset" von z.B.: 50mV zu blocken.
Die µC-Regelung sollte das dann korrigieren.

> Nein. Kleiner. Stichworte: parasitäre Kapazitäten, Phasenreserve,
> dynamische Stabilität der Regelschleife.

Maximaler Strom der Dioden des µC sind nur 1mA oder irre ich mich da?
So könnten 30V den Eingang gefährden. Oder nicht?

> Die FET gehören auf jeden Fall auf die GND-Seite der Shunt-Widerstände.
Ja definitiv, war mein Fehler beim Zeichnen :D

> Ich habe die Zahlen jetzt nicht nachgesehen. Aber der R_ds_on der MOSFET
> geht direkt als Fehler ein. Für 20R Shunt und größer mag das gehen.

R_ds_on liegt laut Datenblatt bei 10mOhm

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Zu den Shunt-Umschalt-Fets:

Entweder gehören die FETs, wie von Axel Schwenke vorgeschlagen, auf die 
GND-Seite der Shunts, wobei man dann die Spannung über rds mitgemessen 
wird. (Es sei denn ihr messt die Differenzspannung an den Shunts)

Oder ihr lasst das so, das macht aber imho nur dann Sinn, wenn ihr die 
Shunt-Spannung direkt abnehmt und die Spannung der 3 Zweige addiert. 
Dann aber nochmal Ugs kontrollieren.

von MaWin (Gast)


Lesenswert?

0.5% von 10uA sind 50nA.

vergiss es, so gut sperrt der CSD18504KCS überhaupt nicht.

Deine iRLR sind 'über' den Shunts.

Schlecht, so ist deren Source-Spannung nicht 0 soindern stromabhängig 
hoch und die UGS-Spannung undefiniert.

Lege sie an Masse, die Shunts darüber. Man braucht einen 
Instrumentenverstärker, da man den unbekannten schwankenden 
Spannungsabfall am MOSFET ja nicht mitzählen will, wie ihr es mit eurer 
simplen 22k-Anzapfung macht. Für 0.5%/10nA muss man mehr auffahren als 
irgendein Hingepfusche.

Nehmen wir an, ihr regelt 100mA über 20 Ohm macht 2V und die restlichen 
28V werden im CSD18504KCS  verblasen weil die Last ein Kurzschluss ist.

Wie soll der winzige CSD18504KCS im SON Gehäuse die 2.8 Watt verbraten ? 
Laut Datenblatt schafft er 700mA, aber "single pulse". Bestenfalls führt 
er 50K/W ab, wird also 140 GradC heisser als die Umgebung, die zumindest 
25, eher 40 GradC hat, erreicht also 165-180 GradC bei 150 Tj erlaubten.

Baut eine ordentliche analogspannungsgesteuerte Konstantstromquelle die 
selber regelt, und schaltet meinetwegen die Shunts um, aber achtet 
darauf, daß der MOSFET die Leistung verbraten kann und nur minimalen 
Leckstrom bringt.

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Warum eigentlich kein Bipolartransistor in der Regelung?

Wir wissen natürlich nichts über eure Dynamikanforderungen. Aber wenn 
man sich beim FET den wenig linearen Zusammenhang zwischen Ugs und I 
anschaut, möchte man das eigentlich nicht zwingend in der Regelschleife 
haben.

Ein Bipolartransistor erscheint mir da um etliches gutmütiger, zumal man 
ja mit einem Widerstand im Emitterzweig noch gegenkoppeln kann.

von Matthias K. (kannichauch)


Lesenswert?

Hallo

Ich habe einen etwas anderen Vorschlag:
Nimm einen Controller für eine Pulsbreitenmodulation mit anschließender 
Glättung anstatt normaler D/A Wandlung, dann geht es billiger. Ist aber 
optional.

Die nachher analoge Ausgangsspannung muss dann in einem genauen 
Verhältnis zum gewünschtem Strom stehen(z.B. 0-1V für 0-1mA), was man 
mit Op-Amps gut regeln kann.
Darüber hinaus noch einen Regelkreis mit Controller zu verwenden, ist 
überflüssig. Op-Amps stellen genau genug, ist auch etwas typabhängig.
Der Stromwert wird als Spannung über die "von oben" geschalteten 
Widerstände gemessen, und diese Spannung muss evtl. skaliert werden(z.B. 
*10) um besser mit der Ausgangsspannung des Controller verglichen werden 
zu können.
Die zulässige Eingangsspannung für die 1-2 Op-Amps muss dann bis 0 V und 
am besten noch darunter gehen dürfen.

Dann Problem: Die Shunts sind keine 0,5%-tigen Messwiderstände!
Dieses Problem kann auch nicht durch einen zweiten Regelkreis an der 
produzierten Messspannung beseitigt werden.
Also das dann mit extra Potis oder mit Potis als Shunts genau 
einstellen.

MfG
Matthias

von MCUA (Gast)


Lesenswert?

>Bevor wir mit dem bauen beginnen, wollten wir zunächst weitere Meinungen
>einholen.
Sei froh, dass du diesen M?ll nicht gebaut hast.
Da sind mehr Fehler drin, als man zählen kann.

von Harald W. (wilhelms)


Lesenswert?

Tilo R. schrieb:

> Warum eigentlich kein Bipolartransistor in der Regelung?

Dann gibts Fehler durch den Basisstrom, der durch den Shunt fliesst,
aber nicht durch die Last.

: Bearbeitet durch User
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Harald W. schrieb:
> Tilo R. schrieb:
>
>> Warum eigentlich kein Bipolartransistor in der Regelung?
>
> Dann gibts Fehler durch den Basisstrom, der durch den Shunt fliesst,
> aber nicht durch die Last.

War so natürlich auch nicht gedacht. Der R unter dem Transistor ist nur 
für die bessere Regelung. Strom messen muss man natürlich extra. Drüber 
(oder oben) mit einem Differenzverstärker.

Den Basisstrom mit angenommen konstanter Stromverstärkung rausrechnen, 
keine Ahnung ob das klappt. Über 4 Dekaden und mit 0,5%? Schwer 
vorstellbar.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Marvin N. schrieb:
> Strombereich:        10µA bis 100mA
> Versorgungsspannung: 30V
> Maximaler Fehler:    0,5%

Gänge Lesart bei "Fehler %" ist "Fehler in Bezug auf Maximalwert"
0,5% von 100mA sind 500µA. ;)

Wenn digitale Kalibration zulässig ist, dann wäre das hier doch ein 
schöner Ansatz:

- Auslegung Shunt/Differenzverstärker auf den maximalen Strom, d.h. 
Ausgangsspannung ca. 90% maximaler ADC Eingangsspannung
- analoge Stromregelung über Opamp als unterlagerter Regelkreis
- Sollwertvorgabe durch 16bit DAC gemäß Kalibrationstabelle)
- Messwerterfassung durch 16bit ADC
(- ggf. digitale Nachführung des Sollwertes als überlagerter Regelkreis)

Damit bekommt Ihr Eure Genauigkeit zuverlässig mit Standardbauteilen 
hin.
Falls Ihr vom Mikrocontroller her noch frei seid, könnte man hier mal 
einen STM32F373xx probieren. Der 16bit SDADC muss sowieso kalibriert 
werden und der 12bit DAC könnte auch ohne Oversampling schon ausreichen.

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.