www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Gleichspannungsquelle mit µC genau steuern


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

zu Begin möchte ich für meine letzten beiden Theards um entschuldigung 
bitte, war uneinsichtig, arrogant und habe eure Vorschläge nicht weiter 
durchdacht.

Jetzt zur Beschreibung:
Ich möchte für ein Test/Kalibriergerät eine regelbare/ einstellbare 
Spannungsquelle realisieren.
Für die Steuerung soll ein Atmega168 verwendet werden.
Dies Spannungsquelle versorgt einen µC, also ist die Belastung eher 
gering.
Es soll eine Spannung von 1V-5V einstellbar sein.
Ich habe eine ideen dazu:

Über den Timer ein PWM ausgeben und übereinen RC-Tiefpass eine Spannung 
erzeugen. Diese Spannung auf einen OPAMP  oder/und dann vll auf einen 
Spannungsregler an Masse, für die Leistung. Kann man das so machen?
Die eigestellte Spannung soll dan über den ADC des µC gemessen und ggf. 
nach geregelt werden.


Einen DAC hat der Atmega168 ja leider nicht, sonst hätte ich dazu noch 
eine Idee
Ich hab mir die anderen Beitärge dazu durch gelesen find aber, dass das 
nicht dazu passt oder zu ungenau ist.

Hat einer ne bessere Idee dazu oder wie man die Welligkeit aus der PWM 
gestereuten rausbekommt?

Autor: HansWurst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
G. Matthias schrieb:
> Hat einer ne bessere Idee dazu oder wie man die Welligkeit aus der PWM
> gestereuten rausbekommt?

Unterschätz die Genauigkeit einer PWM nicht! Damit kann man wirklich 
sehr brauchbare Ergebnisse erzielen. In der Firma produzieren wir u.a. 
Messtechnik mit diesem 1-Bit-D/A-Wandler. Wenn du danach 2 RCs, zur Not 
auch 3 machst, dann siehst du nichts mehr von der Welligkeit. Wir 
benutzen die PWM ebenfalls, um beispielsweise einen Ausgangsstrom zu 
regeln. Bei einem 16-Bit-Timer, von dem man vielleicht 14-Bit, also 
16384 diskrete Werte benutzt, kannst du eine Stromschleife schon auf 1uA 
genau ausregeln. Und glaube mir: Der Wert ist stabil! Das benutzen wir 
zwar nur für die Low-Cost-Geräte, aber es ist definitiv ausreichend.

Der Vorteil bei einer PWM ist ja auch noch, dass wenn sich der 
Oszillator durch z.B. Temperaturdrift verschiebt, dann bleibt das 
Endergebnis trotzdem gleich, da sich sowohl ON, wie auch die OFF-Zeit 
gleichrmaßen ändert.

Autor: маленький шумный зомби (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Test/Kalibriergerät

Was waeren denn die Anforderungen an die Stabilitaet ?

Ein 16Bit DAC ist auch nicht teuer. Dahinter ein OpAmp. Die Referenz des 
DAC sollte dann auch in den Anforderungen hinkommen.

Desgleichen die Speisung des PWM. Ich wuerd die Controllerspeisung als 
nicht genuegend betrachten, Denn die Kommunikation haengt auch noch 
dran.

Autor: Ben ___ (burning_silicon)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Billig-DAC kannste vergessen, und das mit der PWM auch.

Sowas gehört analog aufgebaut mit guten DACs, die nicht so schnell 
wegdriften.

Nächstes Problem ist, daß sowas nicht genauer wird als die verwendete 
Spannungsreferenz. Umso mehr Teile, umso größer wird der Fehler. Ich 
würd sowas mit einer extra darauf ausgelegten Spannungsreferenz 
aufbauen, bzw. solche Spannungsreferenzen verwenden und fertig. 
Irgendein Bastelpatent mit µC zum Kalibrieren zu verwenden kommt mir vor 
wie ein schlechter Witz.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es soll eine Spannung von 1V-5V einstellbar sein.
> Einen DAC hat der Atmega168 ja leider nicht

Dann nimm einen externen DAC, eine Treiber brauchst du soieso.

         +7Vmin
           |
uC==DAC---|+\ LM8272
          |  >--+-- Spannung
       +--|-/   |
       |        |
       +--------+
                |
              100nF
                |
               GND

Da du NATÜRLICH nicht angegeben hast, WIE genau genau sein soll,
kann man nicht sagen welcher DAC, ob ein MCP4716 von Reichelt reicht,
und WIE viel Strom deine Last zieht, kann man nur sagen, daß sie
mit einem Stützkondenstaor entkoppelt sein sollte, also der
Treiber stabil für kapazitive Last sein soll und etwas Strom
liefern können sollte, ich sag mal 50mA, daher der LM8272,
der allerdings unnötig schnell ist und gut mit eigenen
Stützkondensatoren gestützt werden muß, sonst schwingt's.

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verstehe ich das jetzt richtig einen angemessenen (guten) DAC verwenden 
und eine extra Spannungsreferenz für den aufbauen sagen wir 0,7V?
Der DAC bekommte dan eine Variable vom µC übermittelt uns setzt die in 
eine Spannung um ?

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:
> WIE genau genau sein soll

auf 0,05V Genau da die meisten µC eine Toleranz der Eingangspannung von 
+/-5% haben wäre bei 1 V 0,05V.
Also von sagen wir 1V-5V wären das 4V /0,05=80 schritte
Danke für die Vielen Antworten

Autor: Patrick C. (pcrom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade eine schaltung gemacht mit Nanodacs (AD5664RBRMZ-5) von 
Analog Devices, eingebauter VRef, 4-kanaele in 10-pin gehause, 16bit, 
gute specs (natuerlich abhangich von was mann gut nennt). Analog hat 
dafuer sowieso viele dokumenten und movies ueber DACs. Und auch fuer 
verschiedene DACs gibt es preiswerte testboards mit PC-testsoftware. Ist 
meiner meinung einfacher und kleiner als PWM via einen opamp schaltung*

Patrick
*=Bitte Buchstabierung dabei denken

Autor: маленький шумный зомби (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Referenz zB 2.5V, 3.0V, 3.3V...

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Patrick

cool Danke werde mir gleich mal das Datenblatt durchlesen

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde mir auch gerne das PWM verfahren anschauen, da ich die 
Temperaturunabhängigkeit für sehr wichtig halte.

Die Funktion ist doch wie folgt PWM ausgeben, Mittelwert bestimmen und 
diesen über RC filter glätten . Diesen glatten Mittelwert über einen 
Verstärker jagen. Ist das im groben und ganzen so richtig ?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  G. Matthias (knut89)

>auf 0,05V Genau da die meisten µC eine Toleranz der Eingangspannung von
>+/-5% haben wäre bei 1 V 0,05V.
>Also von sagen wir 1V-5V wären das 4V /0,05=80 schritte

Das erreicht man mit jedem 0815 8-Bit DAC oder auch per PWM 
problemlos.

http://www.mikrocontroller.net/articles/Pulsweiten...

Autor: HansWurst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
G. Matthias schrieb:
> Ich würde mir auch gerne das PWM verfahren anschauen, da ich die
> Temperaturunabhängigkeit für sehr wichtig halte.

Moment! Versteh mich nicht falsch. Die PWM-Variante ist auf jeden Fall 
schlechter als ein richtiger DAC. Nur du fingst damit an, daher wollte 
ich dir nur sagen, dass du damit ziemlich gute Ergebnisse erzielen 
kannst. Die Temperatur wirkt sich auf diskrete DACs mit Sicherheit 
weniger aus! Also die PWM-Variante ist die billig-Lösung für dein 
Anliegen, was dieses aber durchaus erfüllen kann.

Dennoch wäre es die zweite Wahl, wenn auch ein richtiger DAC zu Hand 
ist.

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk

danke für den Link.

@ Hanswurst

Ich wollte Trotzdem beide Varianten betrachten , nur so kann ich ja das 
richtige finden.
Es kann ja sein das ich mit einem DAC das Ganze überdimensioniere.

Ich werde beides aufgreifen und mal schauen was für ein DAC mir reicht 
oder ob ich es doch mit PWM durchführe.

Danke an alle für die gute Hilfe

Autor: Jan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das funktioniert schon mit der PWM.
Nur sollte die Spannung mit der das PWM-Signal erzeugt wird recht genau 
sein.
Ich hab so etwas mal (siehe Anhang) mit Ref.Quellen und einem 
Analogschalter aufgebaut.
Dabei ist die Genauigkeit maßgeblich von den Ref.Quellen abhängig.

Gruß
Jan

Autor: Patrick C. (pcrom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stell mal das diagram und kalkuliere mal die genauigkeit wenn man ein 
NanoDac mit eingebauter referenz und ausgangsbuffer benutzt, vergleiche 
es mit das diagram das du jetzt hier beigeliegt hast. Meiner meinung ist 
ein NanoDac oder ahnliches von andere Fabrikanten viel einfacher. Wollst 
du mit R15 handmassig kalibrieren ? Dann nimm besser einen 
higher-resolution schaltung und mach die calibrierung softwaremassig.
Patrick

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Regelung kann ich dich durch das rückführen des Ausgangssignales auf 
den ADC des µC realisiern oder?

Dieser misst dan periodisch die Spannung und ändert sie gegebenenfalls 
durch korrektur des PWM oder neu beschreiben des DAC.
Griegt man das auch in ner richtigen Regelung hin so das die Spannung 
ständiggemessen wird  ohne das der µC nur in der ADC Schleife Hängt?
Will ja auch noch was anderes mit dem machen.

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn der ADC umgewandelt hat (braucht ja auch seine Zeit), 
vergleichen(in einem gewissen bereich +/-1%) wenn das Ergebnis noch 
passt nächste Messung wenn es nicht mehr passt über Interrupt (oder wie 
auch immer) eine Routine auslösen die das dann nachregelt.

Autor: Siebzehn Zu Fuenfzehn (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uaaaaaahhhhhh. nee lass das mal. Es muss von anfang an passen. Tut es 
auch wenn der PWM von einer Referenz her generiert wird. Dazu sollte die 
Referenz, rep. deren Buffer die Bandbreite bringen und sich vom Hacken 
nicht aus der Fassung bringen lassen.

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem Timer des ATMEGAs kann ich ja auch ein PWM erzeugen ist das 
genau genung wenn die Spannungsversorgung des µC sehr genau ist ?

bekomme ich da irgendwie eine Regelschleife rein?

Autor: маленький шумный зомби (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll die Regelschlaufe? Der timer des ATMega ... Lassen wir den an 
16MHz laufen. Dann sind 16 bit Aufloesung mit 256Hz erreicht. Das gibt 
dann ein eher grosses RC zum filtern.

Nimm einen DAC. Das Layout ist dann noch schwierig genug, um die 
Genauigkeit auch zu erreichen.

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
маленький шумный зомби schrieb:
> Das Layout ist dann noch schwierig genug, um die
> Genauigkeit auch zu erreichen.

Du meinst wegen Reflexion und Übersprechen?

Beitrag #3085789 wurde vom Autor gelöscht.
Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mit meinen Verstärker, nach dem DAC, einen Strom von 200mA 
erzeugen will kann ich das mit einem OP+Emitterfolger als 
Spannungsfolger umsetzten oder?

AUf was muss ich da den achten ?

Autor: Siebzehn Zu Fuenfzehn (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Das Layout ist dann noch schwierig genug, um die
>> Genauigkeit auch zu erreichen.
>
>Du meinst wegen Reflexion und Übersprechen?

Nee, wegen Offsetspannungen. Bei 16 bit ist ein Bit weniger als 100uV.

Wegen mehr Strom .. es gibt eine Boost-OpAmp Schaltung. Etwas wie ein 
Emitterfolger aber nicht ganz. Mit Rueckfuehrung. Sollte aber auffindbar 
sein.

Autor: G. Matthias (knut89)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Meinst du sowas?

LM7372

Autor: Siebzehn Zu Fuenfzehn (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, der ist ja +-5V gespiesen als Minimum. Einen Emitterfolger mit 
Ausgang als Feedback auf den minus-Eingang

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der hat doch ne Versorgungsspannung von v+-v- 36V dann kann ich den doch 
von 0-12V betreiben oder nicht ?

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So?
     |\            12V
     |  \           |
DAC  |+   \         C
     |     +----- B
     |    /         E
   +-|- /           |
   | |/             |
   |                |
   +----------------+----> Last
                    |
                    R
                    |
                   GND

Autor: Siebzehn Zu Fuenfzehn (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du denn +-12V versorgungsspannung ?

Autor: knut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein nur 0V-12V

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
knut schrieb:
> nein nur 0V-12V

also 0V-+12V

sry hab vergessen mich einzulogen.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der timer des ATMega ... Lassen wir den an 16MHz laufen.
> Dann sind 16 bit Aufloesung mit 256Hz erreicht.
> Das gibt dann ein eher grosses RC zum filtern.

Wenn man die 16 bit nutzen will, muss das RC Filter eine
Dämpfung der 256Hz von -96dB, also auf 0.000016 erreichen,
was bei schon nach 5 Dekaden der Fall ist,
also einer Grenzfrequenz des RC-Tiefpasses von 0.00256 Hz,
oder RC-Werten von 100uF und 1MOhm. Man muss dann bloss
60 Sekunden warten bis sich der neue Wert eingestellt hat.

Autor: knut (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn ich einen D/A verwennden will könne ich das dann, natürlich 
abhänig von der Dimensionierung so machen ?

Der D/A Wandler gibt 0V-5V aus der Op leifert mehr strom bei gleicher 
Spg.
Falls der Strom nicht ausreichen sollte noch einen Emmiterfolger davor. 
Dann muss der D/A Wandler allerdings 0V-(UR2+UµC+Ube) ausgeben. Der 
Widerstand zum testobjekt ist nur für die Strombegrenzung gedacht. Kann 
ich das anders regeln da sonst wieder ne Ungenauigkeit dring habe mit 
steigendem Strom?
die Spg. muss ja noch mit Einberechnet werden.
Dann wäe UµC =UR1-UR2

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon wieder nicht eingelogt sry
der rückführungszweig des Op muss natürlich auf dessen Ausgang nicht 
unterhalb des Transistors.

Autor: horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
G. Matthias schrieb:
> der rückführungszweig des Op muss natürlich auf dessen Ausgang nicht
> unterhalb des Transistors.

Nee, ist schon richtig so. Nur der Strombegrenzungswiderstand ist 
natürlich blöde, da je nach Stromfluss nicht mehr die gewollte Spannung 
an deinem Testobjekt anliegt.

Autor: spontan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>der rückführungszweig des Op muss natürlich auf dessen Ausgang nicht
>unterhalb des Transistors.

Warum?

Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah jetzt dann  Brauch ich am D/A -Wandler nur 0V-5V ausgeben und Ube 
wird gleich mit erzeugt vom Op. Jetzt hab ich.
Man da hab ich ja aufn Schlauch gestanden.

horst schrieb:
> Nur der Strombegrenzungswiderstand ist
> natürlich blöde, da je nach Stromfluss nicht mehr die gewollte Spannung
> an deinem Testobjekt anliegt.

Das hab ich mir auch überlegt aber ich will ja nicht das meine Schaltung 
durchbrennt wenn ein Fehlerhaftes Testobjekt eingelegt wird.

oder kann ich den an den kollektor des Transistors hängen? Dann 
natürlich um den Gesamtstrom zu begrenzen

Beitrag #3087134 wurde vom Autor gelöscht.
Autor: G. Matthias (knut89)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich die Rückführung nicht nach dem Widerstand setzten dann 
verstärkt der OP solange bis dort die gewünschte Spg anliegt?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.