ATTiny als DA-Wandler

Gast #5795077
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
Angehängte Dateien:
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...
Gast
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
Gast
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.
Gast
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 :-)
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.