Taster und LED an µC-Pin

Gast #426762
Lesenswert?

Hallo,

ich möchte an einem 8-pinner AVR (Tiny13) zuviel anschliessen. Daher 
müssen sich ein Taster und eine LED einen Pin teilen. Alle Kombinationen 
die ich mir ausgedacht habe, haben irgendeinen Mangel. Mal leuchtet die 
LED wenn man den Taster drückt, mal ist was anderes nicht so gut.

Daher die Frage, was ist die optimale Beschaltung um einen Taster und 
eine LED am Pin zu verheiraten?

Besten Dank.
#426785
Lesenswert?

Einfach Taster + LED parallel nach Vorwiderstand vom Pin nach Masse.

Beim LED-Anzeigen DDR Register auf Ausgang stellen, => Led kann 
angesteuert werden.

Beim Taster einlesen: DDR auf Eingang, internen Pull-Up an und messen.

Wenn die Spannung bei geöffnetem Taster am Port nicht reicht, um als 
High-Level erkannt zu werden, andere LED verwenden (z.B. weisse mit >3V) 
oder noch eine Diode in Serie dazu.

Nachteil: LED ist immer aus, während Schalter gedrückt ist.

/Ernst
Gast #426789
Lesenswert?

Wenn Dir dafür zusätzlich zu der LED und ihrem Vorwiderstand noch ein 
Transistor und drei weitere Widerstände nicht zu teuer sind, kannst Du 
mal diese Schaltung studieren:


VCC = 5 V
-------o----------------o---
       |                |
       |                |
       |               180
       |                |
      10k               |
       |           -----o
       |           |    |
       |           /    |
PIN ---o---15k---(T)   LED
       |           \    |
       |      (npn)|    |
      3.3k         |    |
       |           |    |
       |           |    |
       o|          |    |
        +-T        |    |
       o|          |    |
       |           |    |
       |           |    |
-------o-----------o----o---
GND


Es gibt drei Fälle:

Pin treibt L raus --> T sperrt -> LED ist an
Pin treibt H raus --> T leitet -> LED ist aus
Pin ist Eingang   --> Es wird L [H] eingelesen wenn der Taster gedrückt 
[offen] ist

Der Zustand des Tasters ist so zu erfassen, daß der Pin kurzzeitig über 
das DDRX-Register auf "Input" geschaltet wird, der Zustand eingelesen 
wird (PINX), und der Pin danach sofort wieder auf "Output" 
zurückgeschaltet wird.  Während der Pin "Input" ist, ist die LED stets 
aus, was aber wegen der Kürze der Zeitspanne nicht zu sehen ist.

Ein kleiner Nachteil dieser Schaltung ist, dass der LED-Betriebsstrom 
von ca. 20 mA auch fließt, wenn die LED aus ist.  Für ein 
batteriebetriebenes Gerät ist sie deshalb nicht empfehlenswert.
#426798
Lesenswert?

Ohhh... Ascii-Schaltplan. Meiner Dagegen:

       ___
PIN --[_250_]---+--,
                |  |
                |  LED
               |o  |
       Taster--+   |
               |o  (evtl. Diode)
                |  |
GND ------------+--'

Ob du die Zusatzdiode brauchst, hängt ganz von der verwendeten LED und 
dem uC ab, die Gesammt-Durchlasspannung muss halt noch vom uC als HIGH 
erkannt werden.

Einlesen im Prinzip wie oben, nur dass man noch den internen Pull-Up 
einschalten muss. Am Pin liegen dann etwa 3V bei offenem Taster an 
(->HIGH Level), bei geschlossenem etwas über 0V (->LOW Level)

Vorteil: Es fliesst kein Strom, wenn die LED aus ist
Nachteil: Beim Tastendruck wird der uC Port stärker belastet, wenn die 
LED an war. (Mit 250 Ohm sinds dann genau 20mA, die LED hätte dann aber 
nur etwa 10mA zum Leuchten bei offenem Taster)


/Ernst
Gast #426799
Lesenswert?

Version in der der Taster die LED nicht stört. LED-Zweig wie von Ernst 
beschrieben. Muss so dimensioniert werden, dass bei Input mit internem 
Pullup der Pin auf High-Pegel bleibt. Wenn die Durchflussspannung der 
LED bei dem extrem niedrigen Strom des Pullups unterirdisch gering sein 
sollte, muss ggf. ein externer Pullup nachhelfen.



                       o---------------o--------o-
                                       |        |
                                       |        |
                                       |        |
                                      .-.      .-.
                                   10K| |      | |
                                      | |      | |
                                      '-'      '-'
                                       |        |
                                       |        |
                                    \  o        V
                                     \          -
                                      \.        |
                                       o        |
                                       |        V ->
                                       |        -
                                       |        |
                                       |        |
                                      ===      ===
                                      GND      GND
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
Gast #426800
Lesenswert?

Vielen Dank für die Anregungen.

AVRFan:
Ein ständiger Strom, auch wenn der µC aus ist, ist hier leider nicht 
tragbar.


Ernst:
Auf diese Kombination bin ich auch gekommen. Allerdings sehe ich das 
Problem, dass der gemeinsame Vorwiderstand hinreichend niederohmig ist, 
um den Port zu beschädigen. Sprich, wenn der Pin als Ausgang und High 
gesetzt ist und einer den Taster drückt. Man müsste also die Widerstände 
in beide Zweige trennen und den am Taster etwas höherohmiger machen. Der 
Nachteil LED aus, bei Taster wäre verkraftbar. Besser als LED an :-) Der 
High-Level beim Auslesen macht mir keine Sorgen, bei 20+ kOhm internem 
Pullup und 3 V Betriebsspannung dürfte die LED keine Sorgen machen.

Viele Grüße
Gast #426804
Lesenswert?

Hallo nochmal,

A.K.
Ja, genau so meine ich auch. Aber 10 k am Taster sind schon relativ 
viel, bei 20..50 k interem Pull-Up. Ich tendiere derzeit zu 2k2, das 
macht ein gutes Milliampere, wenn der Port als Ausgang High ist und ist 
reichlich niederohmig  , wenn der Port mit dem internen Pull-Up als 
Eingang geschaltet wird.
Gast #426806
Lesenswert?

A.K.

Man muss hier sowieso Low-current LED nehmen, da bei 3 V die Ports nur 
mit bestenfalls 5 mA belastet werden können. Allerdings ist bei 
gemeinsamem Widerstand der Strom bei gedrückten Taster trotzdem höher, 
da er ja nicht die Flussspannung wie die LED hat.

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