Forum: Mikrocontroller und Digitale Elektronik ATTiny als DA-Wandler


von Dummy (Gast)


Angehängte Dateien:

Lesenswert?

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

von Jens M. (schuchkleisser)


Lesenswert?

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...

von Ingo Less (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Pin 14 des Tiny sollte nicht nur mit C2, sondern natürlich auch mit dem 
GND-Netz verbunden werden.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

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.

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


Lesenswert?

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.

von Alexander S. (alesi)


Lesenswert?


von Peter D. (peda)


Lesenswert?

Dummy schrieb:
> ich möchte das Prinzip eines R2R DA Wandler verstehen.

Und warum nimmst Du dann R2,2R?

von John B. (Gast)


Lesenswert?

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 :-)

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


Lesenswert?

Alexander S. schrieb:
> kennst Du diese Seite schon?
> 
https://www.tobiaspaul.net/dokuwiki/doku.php?id=elektronik:mikrocontroller:attiny26_dac

Ach guck. Noch einer, der Jespers DDS in schlechter nachgebaut hat. Hier 
das Original, nutzbar als "Funktionsgenerator des armen Mannes" mit 4 
Wellenformen und einstellbarer Frequenz:

http://www.radanpro.com/Radan2400/mikrokontroleri/Jesper%27s%20AVR%20pages%20-%20MiniDDS.htm

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.