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?
>2. Weiss jemand ob und wie man die interne Referenz vom AVR nach aussen >geben kann? Pruust. Die liegt doch am AREF Pin.
Ja, habe ich auch gerade gelesen. Aber das "Pruust" hättest Du Dir sparen können.
Entweder 0V oder 3,75V aufm Ausgang? Wie wärs mit normalen Output-Pin und Spannungsteiler?
>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.
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.
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.)
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.
>Alles noch Fragen, die erst mal geklärt sein müssen, um überhaupt an >eine Lösung zu denken. Genau so ist es.
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.
Sorry, bei der Skizze ist was danebengegangen.
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
@ 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.
>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
>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.
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
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.