Forum: Mikrocontroller und Digitale Elektronik DIP Schalter mit ADC auswerten


von Ephraim H. (ephi)


Lesenswert?

Hallo,

ich bin gerade am basteln an einer Schaltung mit dem ATMega8.
Ich müsste nun am Anfang des Programms noch den Status eines 10poligen 
DIP Schalters auswerten.

Leider habe ich nicht mehr genügend port pins für die 1:1 auswertung 
frei.
Ein Schieberegister ginge zur Not, dann wirds aber ganzschön eng auf der 
Platine. Da ich aber noch 2 ADC Eingänge habe und den internen adc 
sowieso bisher nicht nutze, kam mir die Idee, die DIPS mit einem R/2R 
Netzwerk auszuwerten.

Ich hab sowas noch nie gemacht, geht das überhaupt vernünftig bei 10 
bits?
Wie müsste ich das dann machen? hat jemand ein Beispiel?

Gruß

von Anja (Gast)


Lesenswert?

Hallo,

R2R setzt Umschalter voraus (du hast nur Einschalter).
Ansonsten sollte es schon gehen 32 verschiedene Spannungswerte (5 Bit je 
ADC-Kanal) sicher zu unterscheiden.

Gruß Anja

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das setzt zwei Dinge voraus: daß a) die Wandlerauflösung mehr als 10 Bit 
beträgt und b) Du ausreichend präzise Widerstände verwendest (genauer 
als 0.1%).

Keine gute Voraussetzung.

[Nachtrag]
Wenn zwei ADC-Kanäle genutzt werden, sieht die Angelegenheit natürlich 
anders aus.

von Ephraim H. (ephi)


Lesenswert?

ja, deshalb dachte ich ja schon an zwei Kanäle.
Wie darf in dem Fall die Toleranz sein? Was für werte sind dafür so 
allgemein üblich?

und das Umschalterproblem: kann ich das durch pullups am Mäuseklavier 
lösen?

von (prx) A. K. (prx)


Lesenswert?

Oft lassen sich Pins mehrfach verwenden, beispielsweise meisten Pins 
einer Text- oder Grafik-LCD Ansteuerung.

von Ephraim H. (ephi)


Lesenswert?

ich hätte noch 8 Ausgangspins, die 230V TRIACs schalten. Die könnt ich 
am Anfang zum Einlesen kurz umfunktionieren, das stimmt. Aber wie 
verhindere ich, das die TRIACs dann währenddessen von meinem 
Mäuseklavier gesteuert werden?

von (prx) A. K. (prx)


Lesenswert?

Rück mal die Schaltung raus, sonst ist das Kaffeesatzlesen.

von Anja (Gast)


Lesenswert?

Ephraim Hahn schrieb:
> und das Umschalterproblem: kann ich das durch pullups am Mäuseklavier
> lösen?

Eher durch Konstantstromquellen bzw. durch Konstantstrombetrieb. 
(Erfordert aber einen Operationsverstärker).

Wenn Du +/- 8 Digits bei 1024 Counts Auflösung haben willst braucht Du 
immer noch Widerstände besser als 0,5% (einschließlich Temperaturgang).

von Gast? (Gast)


Lesenswert?

Verwende doch einfach ein Schieberegister. Da du die Werte wohl nur zum 
Programmstart brauchst, kannst du die Daten auch einfach per 
Software-SPI reinklappern und danach die Pins abschalten.

Alternativ könntest du noch mit einem Latch zwischen Schaltern und 
Triacs umschalten, das wäre mir aber zu fehleranfällig.

von Torben (Gast)


Lesenswert?

Hallo,

@Ephi

4 Dipschalter pro ADC Kanal ist doch kein Problem über einen 
Messwiderstand. Die ASCII Zeichnung sollte ausreichen.

Beitrag "Taster mit ADC einlesen"

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.