mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zwischen 0V und einer 5%-1% genauen Spannung schalten


Autor: Bitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mit einem AVR einen analogen Ausgang zwischen 0V und einer 
Spannung von 3,75V schalten. Die 3,75V sollten etwa auf 5% oder besser 
eingehalten werden. Ein Poti-Abgleich wäre möglich. Die Schaltung wird 
insgesamt aus 5V versorgt. Das ganze sollte schnell gehen. D.h. 
Schaltzeit kleiner als 100ns. Aber der Rythmus ist wesentlich langsamer. 
So alle 100ms wird geschaltet.

Ich habe natürlich schon an DA-Wandler gedacht. Das ist eigentlich mit 
Spatzen auf Kanonen geschossen, aber naja.
Aber ich finde keine mit 8 Bit (oder auch ander Bits) parallel-Eingang 
mit interner Referenz und Rail-to-Rail die auch erhältlich sind. D.h. 
Maxim/Dallas gibt es 503 oder 530. Kriege ich aber nirgends.
Bei TI oder LT gibt es nichts passendes.

Ich meine ich hätte mal hier gelesen, das man die interne 
Referenzspannung auf einen Ausgang schalten kann. Finde das aber nicht 
mehr und weiss aber auch nicht ob das nur bei bestimmten Typen geht. 
Beim 644 anscheinend nicht.
Falls das aber geht, wäre es ja möglich die Ref-Spannung über einen OP 
entsprechend zu verstärken. Weiss da jemand was? Dann könnte ich über 
einen Subtrahierer zwischen Null und der Ref-Spannung umschalten.

Also in Kürze:
1. Kennt jemand einen kaufbaren 8 Bit parallel DA-Wandler mit interner 
Referenz und Rail-To-Rail Ausgang?
2. Weiss jemand ob und wie man die interne Referenz vom AVR nach aussen 
geben kann?
3. Hat jemand eine andere Idee?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>2. Weiss jemand ob und wie man die interne Referenz vom AVR nach aussen
>geben kann?

Pruust. Die liegt doch am AREF Pin.

Autor: Bitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, habe ich auch gerade gelesen.
Aber das "Pruust" hättest Du Dir sparen können.

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entweder 0V oder 3,75V aufm Ausgang?
Wie wärs mit normalen Output-Pin und Spannungsteiler?

Autor: Bitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Entweder 0V oder 3,75V aufm Ausgang?
>Wie wärs mit normalen Output-Pin und Spannungsteiler?

Die Idee hatte ich natürlich auch. Wie ich in der Zwischenzeit 
festgestellt habe sind die 7805 mit Spannungen zwischen 4.8V und 5.2V 
spezifiziert, was etwas weniger als 5% ist. Da könnte es dann doch etwas 
genauer sein. Aber die Spannung wird natürlich wegen der Schaltvorgänge 
auf der Platine doch schwanken. Das ist eigentlich auch von Übel, da die 
Spannung stabil bleiben soll. Daher die Variante mit einer extra 
Referenz.

Autor: MWS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach' einen Spannungsteiler an einen Portpin, mit zusätzlich einem R2R 
Netzwerk dran, das die Ausgangsspannung noch um vielleicht 0.4 Volt 
ziehen kann. Damit kann die Ausgangsspannung fein einstellt werden, es 
muss nur ein geringer Spannungsbereich überstrichen werden. Ein ADC 
Eingang des AVR misst einen zweiten immer auf High gesetzten und mit 
gleicher Widerstandslast versehenen Portpin und regelt das R2R laufend 
nach.

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitzer schrieb:
> Die 3,75V sollten etwa auf 5% oder besser eingehalten werden.

Einfach. Braucht ja nur ein Digitalen IC der mit 3,75V klarkommt (viele 
3,3V Teile sind so einsetzbar) und den Ausgang ein und ausschaltet.
Als Spannungsregler zum Beispiel den guten alten LM317.


> Schaltzeit kleiner als 100ns.

1/100ns =10MHz (geht noch ganz gut)
Wenn innerhalb von 100ns auf 5% ein geschwungen sein muss bedeutet dies 
etwa:
10Mhz *5 =50MHz (Nicht mehr ganz so einfach. Ein AVR schafft das nicht 
mehr.)

Autor: kurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Deinen Vorgaben mit 100 nSec Schaltzeiten wird des wahrscheinlich 
nix mit Spannungsteiler am uP-Ausgang.

Wie sieht denn Deine Schaltung nach dem Ausgang aus. Was passiert mit 
den 3,75 Volt? Welche Leitung ist zu treiben, bei welcher Impedanz ? 
Welcher Stromverbrauch in der Senke? Kapazitive Lasten?

Alles noch Fragen, die erst mal geklärt sein müssen, um überhaupt an 
eine Lösung zu denken.

Ist die Forderung der kurzen Schaltzeit überhaupt sinnvoll? Wer macht 
diese Vorgaben? Was steckt technisch dahinter?

Auch wenn Du mich verfluchst: Mach Dir erst einmal Gedanken über die 
Aufagebenstellung. Und wenn das dann passiert ist, hast Du eh schon eine 
Lösung, oder wenn nicht, dann poste hier die korrekte Aufgabenstellung. 
Dann können sich ein paar schlaue Köpfe Gedanken machen.

Im Augenblick ist nur Raten möglich, und die Ergebnisse werden nicht zu 
Deiner Zufriedenheit ausfallen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Alles noch Fragen, die erst mal geklärt sein müssen, um überhaupt an
>eine Lösung zu denken.

Genau so ist es.

Autor: ?? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Analogschalter ?

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

Bewertung
0 lesenswert
nicht lesenswert
Ich füge hier mal eine Skizze hinzu, die die Verhältnisse etwas näher 
beschreibt.

Die Schaltzeiten sehe ich hier nicht als Problem, kann mich aber irren.
Der ATMega schaltet nach Messungen und dem IBIS-Modell unbelastet in ca. 
5ns, das ergibt so 1V/ns.
Umgekehrt, ergeben sich, wenn man davon ausgeht, das von 0V auf 5V 
geschaltet wird, eine max. Frequenz von ca. 1,6MHz. Das sollte 
eigentlich gehen.

Da ist ein Unterscheid zu den anderen Einschätzungen hier, die von 10MHz 
oder so ausgehen. Ich rechne so: Bei 5V in 100ns sind das 50E6V/s. Das 
sind aber nach SR = 2 pi f U, dann ca. 1,6MHz. Vielleicht habe ich da 
einen Denkfehler.

Daher habe ich das Problem eher im analogen Teil gesehen. Analogschalter 
sehe ich skeptisch, da zwischen zwei Pegeln umgeschaltet werden muss, 
diese aber nicht sicher simultan umschalten. Spitzen zwischendurch wären 
aber schlecht.

Das Signal moduliert einen FM-Sender. Offen oder 5V ergibt die maximale 
Frequenz. Eine Spannung zwischen 0V und 5V eine geringere, 0V die 
minimale Frequenz.

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

Bewertung
0 lesenswert
nicht lesenswert
Sorry, bei der Skizze ist was danebengegangen.

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

Bewertung
0 lesenswert
nicht lesenswert
Mist. Nochmal.

Autor: Kai Klaas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bitzer,

ich würde das so machen wie es Alexander wohl gemeint hat: Du nimmst 
beispielsweise einen 74VHC00 und speist ihn mit 3,75V, die du mit einem 
LM317 erzeugst. Den Eingang des 74VHC00 verbindest du direkt mit dem 
Ausgang des AVR. Der Ausgang des 74VHC00 schwingt dann blitzschnell von 
0V nach 3,75V und umgekehrt.

Allerdings komme ich beim Betrachten deiner Skizze etwas ins Grübeln. 
Hängt da ein 50 Ohm Koaxkabel am Ausgang und sind die 200pF die 
Kabelkapazität? Dann brauchst du in jedem eine 
Wellenwiderstandsanpassung, sonst wird das nichts mit dem schnellen 
Einschwingen. Da die Lastseite mit 10k relativ hochohmig aussieht, würde 
ich eine Serienanpassung vorschlagen. Dazu fügst du nur zwischen Ausgang 
des 74VHC00 und Eingang des Kabels einen Anpasswiderstand ein, der 
zusammen mit der Ausgangsimpedanz des 74VHC00 gerade 50 Ohm ergibt.

Statt des 74VHC00 kannst du auch einen 74HC00 nehmen, dann wird die 
Geschichte aber deutlich langsamer und du brauchst am Eingang des 74HC00 
einen Schutzwiderstand (z.B. 4k7).

Kai

Autor: Bitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Kai

>Hängt da ein 50 Ohm Koaxkabel am Ausgang und sind die 200pF die
>Kabelkapazität?

Ja. Ein RG58 Kabel mit 2m Länge verbindet die Last mit der Schaltung.

Das mit der Anpassung ist klar. Da aber die Ausgangsschaltung noch 
gesucht wird, habe ich da erstmal keine weiteren Widerstände 
eingezeichnet.

Das geht natürlich so, wie Du sagst.
Am liebsten wäre mir aber eine prinzipiellere Lösung, die zumindest von 
der Spannung unabhängig ist. Bei der also eine Mimik von Vcc gespeist 
wird und nicht von der "Referenzspannung", womit ich hier die 3,75V 
meine. Kann sein, das die nochmal geändert wird, so das sie dann nicht 
mehr als Versorgungsspannung taugt.

Autor: Kai Klaas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Am liebsten wäre mir aber eine prinzipiellere Lösung, die zumindest von
>der Spannung unabhängig ist. Bei der also eine Mimik von Vcc gespeist
>wird und nicht von der "Referenzspannung", womit ich hier die 3,75V
>meine.

Hhm, mir nicht ganz klar was du da meinst. Würde ein Low Drop Regler 
gehen, der die 3,75V von Vcc aus erzeugt? Oder meinst du etwas 
"Ratiometrisches"?

Kai

Autor: Bitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hhm, mir nicht ganz klar was du da meinst. Würde ein Low Drop Regler
>gehen, der die 3,75V von Vcc aus erzeugt? Oder meinst du etwas
>"Ratiometrisches"?

Ich bezog mich mit:
>Am liebsten wäre mir aber eine prinzipiellere Lösung, die zumindest von
>der Spannung unabhängig ist.

auf Deinen Vorschlag:

>Du nimmst beispielsweise einen 74VHC00 und speist ihn mit 3,75V, die du mit 
>einem LM317 erzeugst.

Wenn ich einen 74VHC00 nehme oder irgendeinen Baustein, bei dem dessen 
Spannungsversorgung das Signal zur Verfügung stellt, dann ist erstmal 
diese Lösung von einer bestimmten Mindesthöhe des Signal abhängig.
Das geht dann nicht mehr wenn die Spannung etwa 1V sein soll und nicht 
3,75V. Ausserdem geht die Störsicherheit runter.

Eine "prinzipielle" Lösung wäre, (mit sicherlich dennoch vorhandenen und 
anderen Einschränkungen)  unabhängig von der Höhe der fraglichen 
Spannung. Z.B. wäre ein Relais "unabhängiger" von der Höhe der Spannung, 
als Deine Lösung.

Ich habe in der Zwischenzeit weiter überlegt, und finde die Aufgabe 
eigentlich garnicht trivial ist.
Ich habe nur eine positive Versorung. Also kann ich keine invertierenden 
Verstärker benutzen. (Falls ja, könnte ich mit einem JFet und OPAmp 
schalten). Diskret aufgebaute Inverter haben, wie die integrierte Lösung 
den Nachteil das die Störsicherheit von der Spannung abhängt.

Merkwürdigerweise ist die Erzeugung der Spannung durch etwa einen 
integrierten DA-Wandler fast einfacher, wenn die interne Referenz 
vorhanden. Kann auf Null und auf X Volt eingestellt werden. Ein OP mit 
einfacher Spannungsversorgung würde dann noch reichen um die Anpassung 
zu machen.

Schade das mir noch keiner so einen nennen konnte.

Autor: Seppl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du bei den AVRs nicht fündig geworen bist:
bei Analog Devices mal die sogenannte ADUC-Baureihe ansehen.
(www.analog.com) Die haben i.d.R. ADCs und DACs auf einem Chip,
ebenso die Referenz. Die DACs mit 10Bit sollten wohl reichen.
Die CPU ist zwar eine von der 8051-Family sollte aber nicht weiter
tragisch sein.
Programmierst Du in C ist es noch weniger schlimm umzusteigen...
aber auch in ASM ist es machbar.

Schönen Sonntag


Seppl

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
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
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.