Mij is laatst de vraag gesteld of het mogelijk is om digitale signalen te loggen met een analoge datalogger.
De digitale signalen bestaan uit 6 potentiaal vrije contacten.
De datalogger kan signalen inlezen van 0-10 Volt.

Om 1 digitaal signaal in te lezen op 1 analoog kanaal is geen probleem. Echter zijn er geen 6 kanalen over.
Nu zat ik te denken om een DA converter te maken met weerstanddelers.
Na wat zoeken op internet kwam ik de "techniek" R2R tegen. Dit lijkt precies te doen wat ik wil hebben. Echter moeten mijn digitale signalen dan bestaan uit wisselschakelaars. De ingang moet namelijk of aan de ground of aan de 10 volt hangen.

Er zijn natuurlijk complete DAC's in IC vorm. Echter is het de bedoeling dat dit zo simpel mogelijk wordt. Een oplossing met enkel weerstanden lijkt mij ideaal.

Heeft iemand nog ideeën?

Ik gebruik dit schema om 6 toetsen uit te lezen met een ADC-ingang van een AVR:

http://prosje.be/CO/Schemas/Toetsen.png

Dat levert niet de nette verdeling die een R2R-laddernetwerk zou leveren, maar verder werkt het probleemloos.

Wil je toch een nette verdeling van de spanningsniveaus, plaats dan een 6-voudige buffer tussen schakelaars en R2R-ladder. Een 74HC04 bv. Die bevat inverters - je hebt dus pull-ip weerstanden aan de ingangen nodig, en schakelaars die tussen ingang en GND geplaatst zijn.

Je kunt ook een heel rijtje weerstanden in serie zetten, en elke weerstand kortsluiten met een digitaal signaal.
Zorge er voor dat er minimaal 1 weerstand NOOIT kortgesloten kan worden, dan heb je totale kortsluiting.
De weerstanden natuurlijk alle een verschillende waarde geven, en dan bijvoorbeeld binair opbouwen.
dus 1, 2, 4, 8, 16 en nog een serietotaalweerstand. Dan kun je herleiden welke ingang(en) aktief zijn.

Zo eenvoudig mogelijk is een DAC met parallel ingang.
Je heb namelijk een redelijk hoge precisie nodig bij 6 bit.

Als je met weerstanden bezig gaat dan zou ik 2 analoge ingangen gebruiken met elk 3 bit.

Op 7 oktober 2011 20:58:26 schreef pros:
Ik gebruik dit schema om 6 toetsen uit te lezen met een ADC-ingang van een AVR:

[afbeelding]

Dat levert niet de nette verdeling die een R2R-laddernetwerk zou leveren, maar verder werkt het probleemloos.

Wil je toch een nette verdeling van de spanningsniveaus, plaats dan een 6-voudige buffer tussen schakelaars en R2R-ladder. Een 74HC04 bv. Die bevat inverters - je hebt dus pull-ip weerstanden aan de ingangen nodig, en schakelaars die tussen ingang en GND geplaatst zijn.

Bedankt voor het schema, het is hiermee echter niet mogelijk om meerdere knoppen tegelijkertijd uit te lezen.

Op 7 oktober 2011 21:05:45 schreef part:
Zo eenvoudig mogelijk is een DAC met parallel ingang.
Je heb namelijk een redelijk hoge precisie nodig bij 6 bit.

Als je met weerstanden bezig gaat dan zou ik 2 analoge ingangen gebruiken met elk 3 bit.

Die hoge precisie kan wel eens een probleem worden. Zeker met standaard weerstanden met een afwijking van 5%.

2 kanalen met ieder 3 bits lijkt mij ook een veel beter idee.

Je heb namelijk een redelijk hoge precisie nodig bij 6 bit.

Veel hang af van de resolutie die de datalogger aankan. Is dat maar 8 bits, dan is enige nauwkeurigheid wel gewenst.

Op 7 oktober 2011 21:15:17 schreef zerox:
Bedankt voor het schema, het is hiermee echter niet mogelijk om meerdere knoppen tegelijkertijd uit te lezen.

Dat had ik even uit het oog verloren... :-)
Bij mijn toepassing wordt er slechts één schakelaar v/d zes gesloten, en werkt het probleemloos.
Zodra er meerdere schakelaars gelijktijdig gesloten kunnen worden, is die aanpak onbruikbaar.

[Bericht gewijzigd door pros op (54%)]

Op 7 oktober 2011 21:15:17 schreef zerox:
[...]

Die hoge precisie kan wel eens een probleem worden. Zeker met standaard weerstanden met een afwijking van 5%.

2 kanalen met ieder 3 bits lijkt mij ook een veel beter idee.

Klopt met 5% ga je het niet redden. Bij 6 bit heb je minstens 1% nodig.
Als het lukt om het de verdelen over 2 kanalen van 3 bit dan gaat dat wel met 5% weerstanden.