Forum: Mikrocontroller und Digitale Elektronik Wie mit Atmel High, Low und Nix detektieren


von Axel Höhmann (Gast)


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

von Matthias (Gast)


Lesenswert?

Hi

hast du noch einen ADC-Eingang frei?

Matthias

von Axel Höhmann (Gast)


Lesenswert?

Hallo,

ja, hätte ich noch frei.

Wie macht man das mit dem ADC???


Gruß
Axel

von Benedikt (Gast)


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...

von Sebastian Wille (Gast)


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

von crazy horse (Gast)


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.

von Axel Höhmann (Gast)


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

von Sebastian Wille (Gast)


Lesenswert?

@crazy horse:
Clevere Idee, danke, schon wieder was gelernt!

Sebastian

von mthomas (Gast)


Lesenswert?


von crazy horse (Gast)


Lesenswert?

Mist :-(
ich dachte, ich hätte mir mal was allein ausgetüftelt - macht ja gar
kein Spass mehr, wenns das alles schon gibt :-)

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.