Forum: Mikrocontroller und Digitale Elektronik Push-Pull LED am µC-Port


von Ingo (Gast)


Lesenswert?

Hallo Leute,

ich möchte die Zustände von 4 Push-Pull LED am besten direkt mit 4
Portpins eines 8051ers schalten. Die LED hab ich mir schon ausgesucht.
Brauchen pro Stück 20mA.
Ich bin mir noch nicht ganz schlüssig darüber, wie die Beschaltung
aussehen soll. Der µC ist ein T89C51CC02 von Atmel, bei welchem die
unbeschalteten Ports über interne Pull-Ups auf high gezogen sind. Ich
habe mir eine Beschaltung überlegt, welche die LED direkt mit dem
Portpin verbindet und dann auf einen 1:1 Spannungsteiler mit je 470
Ohm, eine Seite an Vcc die andere an Masse, die Zustände schalten soll.
Ich kann keine LED mit 3 Anschlüssen verwenden, da mir keine Port Pins
mehr zur verfügung stehen.
Hat jemand von Euch eine bessere Lösung, vielleicht mit einem
Treiberbaustein o.ä.
Danke schonmal für die Antworten

von Hubert.G (Gast)


Lesenswert?

Da am Spannungsteiler nur 2,5V anstehen wird es mit den 20mA nichts.

von crazy horse (Gast)


Lesenswert?

ausserdem kann der 8051 keinen Strom sourcen, geht nicht ohne weitere
aktive Bauteile.

von Ingo (Gast)


Lesenswert?

ok...

ich habs jetzt auch schon ausprobiert, und bin ebenfalls zu dem schluss
gekommen, dass es ohne weitere bauteile nicht funktionieren wird. hättet
ihr vielleicht ein paar tipps auf lager, wie man solch eine schaltung
realisieren könnte?

von Ingo (Gast)


Lesenswert?

könnte es vielleicht mit je einem npn und pnp transistor deren basen
parallel am port hängen und als eine art kommutator arbeiten
funktionieren?

von Klaus...(Norad) (Gast)


Angehängte Dateien:

Lesenswert?

@Ingo

Nimm doch einen 7404 Inverter (siehe Anhang) oder einen speziellen Led
Treiber.



Gruß Klaus

von jmoney (Gast)


Lesenswert?

oder ein 8-bit schieberegister. da kannst du die leds alle mit beiden
beinchen dranhängen..

von Ingo (Gast)


Lesenswert?

@Klaus

Der Inverter liefert mir aber auch nur eine Stromflussrichtung, somit
kann ich die Leuchtfarbe der LED nicht beeinflussen.
Ich würde gern einen speziellen LED Treiber verwenden, jedoch habe ich
noch keinen gefunden, der es mir ermöglicht die Stromrichtung
umzukehren.

@jmoney

kannst du vielleicht näher erläutern wie das genau funktionieren soll.
ich kann das leider nicht nachvollziehen

von crazy horse (Gast)


Lesenswert?

du brauchst entweder 2 Inverter (den 1. an den Portpin, den 2. an den
Ausgang des 1.Inverters), die LED kommt mit Vorwiderstand zwischen die
Ausgänge.
Alternativ kannst du auch je Kanal einen invertierenden und einen
nichtinvertierenden Treiber nehmen, dann kommen beide Eingänge an den
Portpin, die LED wie gehabt zwischen die Ausgänge.
Auf jeden Fall müssen die Treiber push/pull-Ausgänge haben und sowohl
ausreichend Strom aufnehmen/abgeben können.
Die Konstruktion mit Spannungsteiler ist eine zwar funktionierende,
aber ziemlich schlechte Lösung. Einen Treiber brauchst du auch da, der
Querstrom ist nicht unerheblich, 20mA zu erreichen wird schwierig bis
unmöglich. Wenn du es doch so machen willst, den Spannungsteiler
unsymmetrisch auslegen, die grüne LED hat eine höhere Flussspannung als
die rote.

von Ingo (Gast)


Lesenswert?

...das ist auch eine Möglichkeit. Ich habe auch noch eine Lösung
gefunden. Man nehme einen 3-Bit Binärdecodierer und hängt an dessen 8
Ausgänge die 4 LED mit Vorwiderstand zwischen die Pins. Ein Standard
74HC138 treibt 20 mA am Ausgang. Jetzt kann ich sogar mit nur 3
Portpins 4 LED mit je zwei Zuständen schalten.
Ohne eure Tipps wäre ich darauf nicht gekommen.

Thanx a lot!!!!!!!!!!!!

von Klaus...(Norad) (Gast)


Lesenswert?

@ingo

>Der Inverter liefert mir aber auch nur eine Stromflussrichtung,
>somit
>kann ich die Leuchtfarbe der LED nicht beeinflussen.

Willst Du mich veräppeln? Von Leuchtfarbe beinflussen war doch nie die
Rede oder?

Ausserdem was meinst Du mit Leuchtfarbe? Helligkeit oder Mehre farben?
z.B. Rot, Grün und Gelb

Zur Funktion der Schaltung: Ein Hig-Signal am Eingang des Inverters
ergibt ein Low Signal am Ausgang  LED leuchtet und Umgekehrt.


Wenn Du den Baustein 74245 nimmst kannste die Richtungen am IC
Einstellen guck mal Datenblatt.

Mir ist aber immer noch schleierhaft warum du die Stromrichtung ändern
möchtest.

Poste mal deinen Schaltplan damit wir alle Kapieren was Du da machen
willst.

Gruß Klaus

von crazy horse (Gast)


Lesenswert?

wahrscheinlich bist du der einzige, der es nicht kapiert hat :-)
Es geht um zweifarbige, zweibeinige Leds.

@Ingo: mit der Dekoderlösung kannst du aber nur eine Led zur selben
Zeit leuchten lassen??

von Rahul (Gast)


Lesenswert?

@CrazyHorse:
Vielleicht eine Art Multiplex-Betrieb...

von Sven (Gast)


Lesenswert?

Naja, da muss er das halt multiplexen...

Sven

von crazy horse (Gast)


Lesenswert?

was nicht "aber nur eine Led zur selben Zeit" widerspricht...

von Rahul (Gast)


Lesenswert?

eben...

von Ingo (Gast)


Lesenswert?

@crazyhorse

Es spricht doch eigentlich nichts gegen Multiplexing. Da die
Ansteuerung der LED im Hauptprogramm stattfinden wird, wird man das
kaum wahrnehmen können.

Da ich im Moment etwas wenig Ziet habe - und dazu jetzt auch noch
Wochenende ist - werde ich den Schaltplan nachliefern, sobald ich dazu
komme einen zu zeichnen.

Nochmal dickes Dankeschön an Euch.

Ingo

von Hubert.G (Gast)


Lesenswert?

Hat nur den Schönheitsfehler, das immer eine LED leuchtet.

von André K. (freakazoid)


Lesenswert?

Eine Lösung steht auch in der Elektor 2/06 (Seite 54/55). Falls das Heft
zur Hand ist (oder Bücherei g)

Grüße,
Freakazoid

von Ingo (Gast)


Lesenswert?

@André

Ist das diese Spannungsteiler Lösung aus E.A.M.? Die ist dann jedoch
wie schon festgestellt eleganter Pfusch.

@Hubert

Da hast du nicht unrecht. Da der worst-case alle LED auf rot
impliziert, ist das ja nicht weiter schlimm sondern sogar gewollt. Der
Zustand LED aus, stand eh nie zur Debatte.

von Ingo (Gast)


Angehängte Dateien:

Lesenswert?

So, wie versprochen der Schaltplan

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.