Forum: Projekte & Code 20Bit 16Bit 8Bit DAC TWI / I2C - R2R ATmega Assembler


von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Geschätztes Forum,

eine kleines Beispiel eines bis zu 20Bit möglichen DAC mit einem 
ATmega8.

Der DAC funktioniert zwar, aber die Linearität und Stabilität ist in 
dieser Beschaltung nicht besonders, denn die einzelnen PINs schalten 
nicht exakt gegen GND bzw. auf HIGH.

Die Ausgangsspannung ändert sich beim niedrigsten Bit im µV-Bereich !

Besonders die höherwertigen Bits verschlechtern die Eigenschaften des 
DAC extrem.

Die Eigenschaften dieses DAC lassen sich durch zusätzliche Treiberstufen 
hinter den Ausgangspins wesentlich verbessern.

TWI-Protokoll:

- Start
- DAC-BYTE (LOW)
- DAC-BYTE
- DAC-BYTE (HIGH)
- STOPP

Nicht wundern, die LED wird über den Vref-PIN gesteuert.



Bernhard

von Ehrlich (Gast)


Lesenswert?

Fazit: unbrauchbar

Warum: zum mal was probieren und spielen ist ja ok, aber 20bit diskret 
ist total nutzlos. Du hast selber bemerkt wie groß die Abweichungen 
sind. Wozu dann 20bit? Ich kann auch einen Controller mit 256 IO Pins 
nehmen und einen 256bit DAC bauen, und? In China hustet einer und bei 
mir wackeln 200 bits. Mehr als 5bit mit externem R2R ist schon sehr 
sportlich.

von amateur (Gast)


Lesenswert?

Rechne mal aus, wie genau Deine Widerstände, für diesen Zweck sein 
müssten!
Es sind nicht nur die "Ausgangstoleranzen".

von Peter D. (peda)


Lesenswert?

Ja, die 20Bit 16Bit sind absolut irreführend.
Wo lernt man das, so völlig abgehoben auf den Putz zu hauen?
Bist Du etwa Politiker?

Diskrete R2R nimmt man bestenfalls noch für 4..7Bit.

Willst Du höhere Auflösung diskret erreichen, nimm geschaltete 
Kondensatoren, da muß man nur 2 Kondensatoren auf Gleichheit trimmen.
Oder nimm ganz einfach ne PWM.

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.