Atmega: Stecker erkennen und unterscheiden

OP Persönliche Seite #3081072
Lesenswert?
• ▲
▼
Hallo,

für ein aktuelles Projekt muss ich erkennen, ob ein Stecker in einer 
Buchse steckt. Zudem muss ich verschiedene Stecker unterscheiden können, 
möglichst ohne aktive Elemente. Als Controller auf dem Board kommt ein 
Atmega48 zum Einsatz.

Da mir jedoch nur 1 Pin dazu zur Verfügung steht, GND und +5V aber 
mitführe, kam mir die Idee, das ich auf dem freien Pin mittels eines 
Spannungsteilers eine "Rückmelde-Spannung" ausgebe. Das ganze könnte ich 
passiv mit Widerständen im Stecker aufbauen.

Ich müsste mindestens 5 versch. Stecker unterscheiden können + kein 
Stecker eingesteckt.
Die 5 versch. Zustände kann ich ja durch verschieden Spannunge 
realisieren, doch wie mache ich das am besten mit kein Stecker 
eingesteckt?

Ein offener ADC liefert ja keinen festen Wert. Und den ADC auf GND zu 
legen ist auch dämlich da ich dann im Stecker ja keinen Spannungsteiler 
mehr einbauen kann.

Wäre nett wenn ihr da einene Tipp für mich hättet ;)

Viele Grüße
Julian
#3081088
Lesenswert?
• ▲
▼
Julian W. schrieb:

> Die 5 versch. Zustände kann ich ja durch verschieden Spannunge
> realisieren, doch wie mache ich das am besten mit kein Stecker
> eingesteckt?

Du könntest zb. deinen Spannungsteiler '2-teilen'.

Einer der beiden Widerstände sitzt im Gerät und verbindet Eingang mit 
Masse.
Ist kein Stecker eingesteckt, dann arbeitet er als Pulldown.
Kommt ein Stecker dazu, dann hat der lediglich einen Widerstand (der 
nach +5V verschaltet ist) und mit dem fix eingebauten Widerstand einen 
Spannungsteiler bildet.


        Vcc --------------------o   o-----+
                                          |
                                         +-+
                                         | | R1
                                         +-+
                                          |
       zum µC ----------+-------o   o-----+
                        |
                       +-+
                       | | R2
                       +-+
                        |
         GND   ---------+-------o


R1 + R2 ergeben den Spannungsteiler.
R2 alleine ist ein Pulldown, der den Einang auf 0 hält.


Wenn die eingebauten Pullup Widerstände im Tiny über die Serie gesehen 
einigermassen konstante Werte aufweisen, dann kann man auch umdrehen und 
aus dem Pulldown einen Pullup machen.
OP Persönliche Seite #3081138
Lesenswert?
• ▲
▼
mrc schrieb:
> mach doch einfach einen pulldown in der Größenordnung ein paar MOhm an
> den ADC. Die Spannungsteiler im Stecker entsprechend niederohmiger
> (~faktor 1000), dann gibts da keine Beeinflussung mehr.

Das teste ich mal auf einem Steckbrett aus. Das klingt schonmal sehr gut 
;)


Karl Heinz Buchegger schrieb:
> Du könntest zb. deinen Spannungsteiler '2-teilen'.

Das Problem an der Sache ist dann nur das ich sehr eingeschränkt im 
Spannungsbereich bin oder?

Angenommen ich nehme 10kOhm und möchte noch max 10kOhm verbauen (größer 
sollten die Widerstände nicht werden oder? Damit der ADC das noch sauber 
erkennt), dann kann ich ja nur noch 50% der Auflösung nutzen.
Probleme mit der Referenzspannung dürfte ich keine habe da ich mich ja 
jeweils auf VCC beziehe. Aber 5 bit Auflösung um quasi 6 Zustände (kein 
Stecker + 5 versch. Stecker) zu unterscheiden ist mir etwas unsicher da 
noch rauschen, Störungen etc. hinzukommen.

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.