ich moechte von meinem Atmel AVR 5 LEDs ansteuern. Der AVR kann den Ausgang entweder auf high (~4.5V), low (Masse) oder high-Z schalten. Ich moechte diese 3 Werte jetzt nutzen, um eine 2 Farben Led entweder Gruen, Rot, oder gar nicht einzuschalten.
Die LEDs, die ich hier habe, haben 3 Pins --> gemeinsame Masse.
Ich frag mich jetzt, wie man das, am schoensten loest.
Ich habe hier ein paar pnp-transistoren herumkugeln, aber wahrscheinlich geht es mit FETs einfacher.
An sich sollte high-Z "aus" bedeuten, aber wirklich wichtig ist das nicht.
mfg christian loitsch
ps: ich bin noch nicht dazugekommen meinen news-reader gescheit einzurichten, daher google und der komische Absender.
Die AVRs treiben in den neueren Modellen schon richtig viel Strom per Portpin, also möglicherweise kommst du mit zwei Widerständen völlig hin.
Viele Grüße, Johannesf
--
"Meine Gegenklage gegen dich lautet dann auf bewusste Verlogenheit,
verlästerung von Gott, Bibel und mir und bewusster Blasphemie."
-- Prophet und Visionär Hans Joss aka HJP in de.sci.physik
Keineswegs. Wenn Du wirklich pro Port eine solche LED ansteuern möchtest, mußt Du die drei Zustände ja irnkwie auseinanderhalten. Das bedeutet, daß bei Tristate eine Spannung vorliegen muß, die sich deutlich von den anderen beiden Spannungen (low/high) unterscheidet - sinnigerweise etwa die halbe Betriebsspannung (hier 2.5V), angelegt über zwei relativ hochohmige Widerstände.
Nun brauchst Du Bauelemente, die bei diesen Schwellen sicher bzw. sicher noch nicht schalten. Das geht gerade mit FETs schwierig, deren Schwellspannung liegt ungefähr in diesem Bereich - mit einiger Toleranz.
Bipolartransistoren mit entsprechend dimensioniertem Basis-Teiler oder gar mit (ggf. Zener-) Dioden vor dem Basisteiler sind in diesem Fall günstiger.
Eine einfache Möglichkeit (falls der LED-Strom klein genug ist, direkt vom Port getrieben zu werden) wäre:
+5V---+--+ R E +-B R C-----R------LED1 | Port ------+----D-D-R------LED2 R GND---+---------------LED-COM
Die drei Widerstände am Port werden so dimensioniert, daß
- Bei Tristate die LED2 noch nicht leuchtet (dabei helfen ggf. die angedeuteten Dioden, evtl. können die auch wegfallen);
- Bei Tristate auch der Transistor noch nicht leitet;
- Bei Low der Transistor aber sauber durchgesteuert wird.
Man kann auch jeweils einen Doppel-Komparator oder -OP nehmen und mit dessen Ausgängen direkt die LEDs ansteuern. Die Schwellspannungen dafür braucht man dann für alle 5 LEDs nur einmal; in SMD könnte das insgesamt kleiner werden als obige diskrete Schaltung. Oder man verwendet nur jeweils einen Komparator/OP als Ersatz für die Transistorstufe - das macht die Schwellspannungen etwas unkritischer, die Dioden düften dann nicht mehr nötig sein. Es gibt sicher noch mehr Möglichkeiten...
Für die andere Sorte LEDs ( kriegt man leichter in bestimmte LED-Frontplatten-Halter ) gäbs diese Schaltung:
formatting link
Die allerdings im tristate-Zustand wenn das LED dunkel ist Strom zieht. Für eine Trickschaltung die wenn das LED nicht leuchtet mehr Strom verbraucht als wenn es leuchtet gibts den Designer-Preis der deutschen Energieversorger.
Einfacher ist ein uC mit mehr Ausgaengen, die richtigen Dual-LEDs, wenn nur eine leuchten muss (charlyplexing), wenn die Ausgaenge mehr Strom liefern koennen als die LEDs brauchen (multiplexing) oder ein IC wie MC14489, spart gar die Widerstaende.
--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Statt 5 LEDs nur 4 verbauen und Schieberegister 74HC164 + Transistoren verwenden. Oder exotisches Schieberegister mit integrierten Treibern. Das Flimmern der LEDs dürfte kaum zu sehen sein.
Es gäbe sogar Typen mit Latch ( 74HC595 ). Verwende ich wenn ich Bipolartransistoren für Stepper antreiben muß schon deshalb weil Controller-Portpins meist nur 1mA machen.
Schieberegister nehme ich auch immer wieder gerne... Mit drei Ports kann man beliebig viele kaskadierte 595er ansteuern, mit einem weiteren Port noch beliebig viele 165er (Input) zusätzlich.
Für den OP wäre das also eine durchaus sinnvolle Alternative: Ein 595 für vier der LEDs an drei Ports, die fünfte LED statisch an den beiden verbleibenden Ports (oder an einem zweiten 595, dann bleiben zwei Ports übrig). Damit kann er außerdem dann auch "gelb" erzeugen. :-)
74HC164 treibt mit Vorwiderstand LED direkt geht bei weniger als 20mA und damit reduzierter Helligkeit auch. Bei 5V, vorzugsweise DIL-Gehäuse bzw. eingeschränkter Temperaturbereich: Mit 470 Ohm an den Fets ca. 0,24V Spannungsabfall und ca. 5,8mA ins LED. Mit 180 Ohm ca. 0,53V an den Fets und ca. 13mA ins LED. Wenn man dann alle 8 LEDs aber schaltet liegt man ausserhalb der 50mA die für den Versorgungsspannungs-Pin laut Datenblatt empfohlen werden. Der Spannungsabfall an den Fets hat wohl ca. 20% Bauteil- streuung.
Naja, etwas =E4hliches gibt es als sog. Nachtlicht fertig zu kaufen: Eine Glimmlampe mit Vorwiderstand an 230V mit zur Glimmlampe parallel geschaltetem Fotowiderstand, um die Glimmlampe tags=FCber "auszuschalten". Gruss Harald PS: Deine Schaltung kann =FCbrigens durchaus zur Leistungverringerung benutzt werden: N=E4mlich wenn die LED =FCber einen Vorkonden- sator an 230V angeschlossen wird.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.