www.mikrocontroller.net

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


Autor: Axel Höhmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

hast du noch einen ADC-Eingang frei?

Matthias

Autor: Axel Höhmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja, hätte ich noch frei.

Wie macht man das mit dem ADC???


Gruß
Axel

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Axel Höhmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse:
Clevere Idee, danke, schon wieder was gelernt!

Sebastian

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: crazy horse (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.