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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.