Wie mit Atmel High, Low und Nix detektieren

Gast #90351
Lesenswert?

Hallo,

ich habe zwar schon ein bissel mit Atmel (dank
dem guten Tutorium hier) gebastelt, aber an einer
Sache beisse ich mir gerade die Zähne aus.
Vielleicht hat ja jemand hier bessere ;-)

Ich möchte an einen AVR einen Taster anschliessen, der
drei Stellungen hat. In Ruhestellung ist der Ausgang des
Tasters mit "nichts" verbunden. In den anderen beiden
Stellungen (wenn man den Taster bestätigt) leifert
der Ausgang entweder Masse-Potential oder oder Plus 12V.
Ein Eingang des AVR genüght ja wohl nicht, die drei Zustände
zu detektieren, aber wie bekommt man es mit zwei
Eingängen hin, ohne daß irgendwelche Querströme fliessen?

Wäre wirklich sehr nett.
Gruß
Axel
Gast #90354
Lesenswert?

Man könnte zwei Pins über einen Spannungsteiler aus 3 Widerständen
verbinden:
Im Ruhezustand liegt der eine Pin auf High, der andere auf Low.
Schaltet man den Schalter gegen Masse, gehen beide Ausgänge an Masse.
Schaltet man den Schalter gegen + (müssen es unbedingt 12V sein ?)
gehen beide Pins auf High.
Ist keine saubere Lösung, aber es funktioniert...
Gast #90355
Lesenswert?

Hi Axel,

wie soll denn Dein MC "nichts" messen können? Es gibt entweder Masse
oder halt Vcc für einen digitalen Eingang, aber nicht "nichts".

Notfalls halt 2 Eingänge nehmen. Wg. Querströme usw. müsste man ja
wissen, wie Dein Schalter genau aufgebaut ist.

Und Achtung: 12V Plus grillt den Eingang bzw. den Atmel!!!

Sebastian
Gast #90356
Lesenswert?

"wie soll denn Dein MC "nichts" messen können? Es gibt entweder
Masse
oder halt Vcc für einen digitalen Eingang, aber nicht "nichts"."

das geht schon. Dazu kann man die Funktion des internen Pullup nutzen.
Extern wird noch ein pulldown-Widerstand (2-3x so gross wie der interne
Pullup)
Messung: erst wird der Pegel ohne internen Pullup (PORTx.x=0), dann
nochmal mit internem pullup (PORTx.x=1)eingelesen.
Es ergeben sich folgende Möglichkeiten:
liest du an PINx zweimal 0, liegt der externe Schalter auf Masse.
liest du erst 0, dann 1 -> externe Schalter ist offen
liest du 2x 1, liegt der externe Schalter auf 1.
wenn möglich, solltest du nur mit 5V arbeiten, ansonsten brauchst du
noch etwas mehr Aufwand für das 12V-Signal.
Gast #90357
Lesenswert?

Hallo,


wenn ich das richtig verstehe, kommt die Lösung
mit 2x Lesen ja sogar mit einem EIngang aus und sie
hätte bei einem schlafenden Atmel mit ausgeschaltetem
Pull-Up (und Taster in Mittelstellung) sogar den Charme, daß kein Strom
fliessen
würde.
Das scheint doch grundsätzlich das Richtige zu sein.

Bleibt nur noch das Problem. daß der Taster eben
bei High 12V führt und nicht 5V.

Aber das bekomme ich schon noch hin. :-)

Vielen Dank
Axel

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren