Hallo zusammen,
ich möchte das Prinzip eines R2R DA Wandler verstehen. Daher habe ich
mir gedacht, ich bastel mir eine Platine. Da dies Neuland für mich ist,
wollte ich mal hier in der Runde fragen, ob mein Schaltplan soweit ok
ist.
PS: Mir ist klar das ich kein OP verwende, das ist mir auch in diesem
Fall egal. Ich möchte nur über eine Steckbuchse eine 12V Spannung
vorgeben, die dann auf eine 5V Spannung runter geregelt wird. Über eine
weitere 2-Polige Steckbuchse möchte ich das Analogsignal mittels
Oszilloskop prüfen.
Über den 6-Poligen Wannenstecker möchte ich den ATTiny Programmieren.
Danke im Vorraus
R-2R heißt so, weil der eine R den Wert x hat, der andere R den Wert 2x.
22k und 10k passen da nicht so recht.
Zudem könnte es je nach Samplefrequenz schlechte Effekte haben, das du 2
Ports benutzt, denn die kannst du ja nicht gleichzeitig aktualisieren.
Beim Wechsel von A nach B bekommst du dann A Lo/Hi -> A Lo/B Hi -> B
Lo/Hi.
Ich würde das daher auf 8 bit beschränken.
Das sind beides so Posten, die mir auf Anhieb aufgefallen sind, aber ob
das auch reell Auswirkungen hat, weiß ich nicht.
Forsche und berichte, bitte...
Naja, da liegen wenige CPU Takte dazwischen. Zum Verstehen ok,
professioniell nicht ok. Nimm 10k und 20k als Werte.
Eingangsseitig des U-Reglers 47-100uF, ausgangsseitig 10-20uF inkl.
jeweils 100nF Keramik
Dummy schrieb:> Hallo zusammen,>> ich möchte das Prinzip eines R2R DA Wandler verstehen.
Dafür reichen 4-8 Bit. 10 Bit sind sowieso eine Illusion, dafür müssen
deine Widerstände DEUTLICH genauer sein.
Daher habe ich
> mir gedacht, ich bastel mir eine Platine. Da dies Neuland für mich ist,> wollte ich mal hier in der Runde fragen, ob mein Schaltplan soweit ok> ist.
Nö, wurde ja schon gesagt. Nimm WIRKLICH R und 2xR, dann hast du die
kleinsten Probleme mit den Toleranzen. Also 2x10k in Reihe. Meine
Empfehlung. Beschränke dich auf 6 Bit, das reicht zum Verstehen des
Prinzips. Natürlich alle an einem Port, sinnvollerweise PA0-PA5.
> PS: Mir ist klar das ich kein OP verwende, das ist mir auch in diesem> Fall egal. Ich möchte nur über eine Steckbuchse eine 12V Spannung> vorgeben, die dann auf eine 5V Spannung runter geregelt wird.
???
Was hat das mit dem R2R DAC zu tun? Ach soo, du meinst die
Stromversorgung des AVRs! Ohje, kann man das nicht NOCH umständlicher
ausdrücken?
>Über den 6-Poligen Wannenstecker möchte ich den ATTiny Programmieren.
Die Pinbelegung scheint nicht zu stimmen, außerdem ist das Symbol
maximal irritierend. So einen Wannenstecker zeichnet man wie in der
Realität mit 2 Kontaktreihen.
https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP
Solche Miniknicke wie an R11 und R12 macht man nicht!
Schaltplan richtig zeichnen
Ingo Less schrieb:> Eingangsseitig des U-Reglers 47-100uF, ausgangsseitig 10-20uF inkl.> jeweils 100nF Keramik
Nö, das reicht so aus. Mehr braucht der 7805 nicht.
Falk B. schrieb:>> PS: Mir ist klar das ich kein OP verwende, das ist mir auch in diesem>> Fall egal. Ich möchte nur über eine Steckbuchse eine 12V Spannung>> vorgeben, die dann auf eine 5V Spannung runter geregelt wird.>> ???> Was hat das mit dem R2R DAC zu tun? Ach soo, du meinst die> Stromversorgung des AVRs! Ohje, kann man das nicht NOCH umständlicher> ausdrücken?
Denke er meint einen OP am Ausgang des R2R zur Entlastung des
Netzwerkes.
Dummy schrieb:> ich möchte das Prinzip eines R2R DA Wandler verstehen. Daher habe ich> mir gedacht, ich bastel mir eine Platine. Da dies Neuland für mich ist,> wollte ich mal hier in der Runde fragen, ob mein Schaltplan soweit ok> ist.
Ich sehe da mindestens zwei Probleme.
1. Deine Widerstände haben nicht das Verhältnis 2:1, sondern 2.2:1. Es
ist also ein R-2R2 Wandler. Das ergibt einen heftigen Fehler von 10%.
Einen 10-Bit Wandler kannst du damit komplett vergessen. 3 Bit würden
gehen. Korrekt baut man das so, daß man Widerstände eines Wertes mit
geringer Toleranz verwendet und entweder immer zwei in Reihe für den 2R
Part verwendet. Oder einen für 2R und zwei parallel für R. Durch
Ausmessen kann man das noch verbessern; dazu sortiert man die
Widerstände nach Größe und verwendet immer den jeweils kleinsten und
größten für eine Reihen- (oder Parallel-) Kombination. Die aus der Mitte
dann einzeln.
2. da es 10 Bit sind, kann der ATTiny gar nicht alle Bits auf einmal
setzen. Es gibt beim Wechsel von einem Wert zum nächsten also immer
einen illegalen Zwischenzustand. Ganz vermeiden kann man das, indem man
die Bits mit einem Latch synchronisiert. Bzw, weil mehr als 8 Bit mit
diskreten Widerständen ohnehin keinen Sinn ergeben, wird man 8 Bits von
einem Port verwenden, die man dann auch alle auf einmal setzen kann.
Früher gab es auch Widerstands-Netzwerke für diesen Zweck. Mittlerweile
sind DAC-IC aber so preiswert, daß sich das nicht mehr lohnt.
Jens M. schrieb:> R-2R heißt so, weil der eine R den Wert x hat, der andere R den Wert 2x.> 22k und 10k passen da nicht so recht.
Statt den 10k kannst man jeweils 2 22k parallel schalten.
Dann stimmt das Verhältnis der Widerstandswerte :-)