PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Led-Ansteuerung



geronet
08.08.03, 21:06
So gleichmal die erste Frage stellen in dem neuem Forum:

Wenn ich eine Ledansteuerung mit drei Transistoren wie in dem Schaltplan im Anhang habe, muss man ja jeweils für eine kurze Zeit die erste Spalte mit den entsprechenden Leds leuchten lassen, danach diese wieder über den Transistor ausschalten und wieder die nächste Reihe mit anderen Leds anschalten und das mit einer Geschwindigkeit damit das menschliche Auge nicht erkennen kann dass jeweils nur immer eine Spalte leuchtet.

Jetzt ist aber die Frage, bei 20 Leds mit drei Spalten müsste man doch erkennen können dass die Leds insgesamt dunkler sind als normal angeschlossene (einzeln)?

Danke für Antworten, Stefan

slime
08.08.03, 22:00
hi,

ich denke nicht das das sichtbar ist.
du kannst die led's aber auch mit höherer spannung betreiben, dann fällt das nicht auf. für den gepulsten betrieb halten die das aus wenn da mal ein wenig mehr spannung anliegt. das wird z.B. auch bei fernbedienungen so gemacht.

alternativ kann ich dir nochi²c bausteine von phillips empfehlen :
http://www.semiconductors.philips.com/buses/i2c/products/index.html
da gibt es auch einen LED-Dimmer z.B. PCA9432, den hab ich hier einmal zuhause. witzig sind auch die LED Dimmer, damit kann man helligkeit regeln und dimmen (wie der name schon sagt). das ganze ist aber evtl. etwas übertrieben, kommt darauf an wie "groß" das ganze projekt mal werden soll.

mfg carsten

wb1
10.08.03, 23:25
Ja, die LED`s werden dir dunkler erscheinen.
Sie liefern ja auch weniger Licht je Zeiteinheit.
Schau mal in den Datenblättern nach.
Ich beziehe mich jetzt mal auf die LED`s aus der früheren DDR-Produktion.
Die LED`s vertrugen einen Dauergleichstrom je nach Typ zwischen 10 und 20 mA.
Der gepulste Spitzenstrom lag bei 100 mA. Das heißt bei einem Pulsverhältnis von 1 zu 10 konnten diese mit 100 mA betrieben werden. Die Helligkeit entspricht dann in etwa der eines 10 mA Dauersignals. Das Problem ist wie überall in der Elektronik die Wärmeentwicklung. Treibst du den Strom höher mußt du sie kühlen. Also auch 200 mA waren bei entsprechender Kühlung machbar.
Da du 3 Spalten hast, da menschliche Auge etwa 16 Bildwechsel pro Sekunde erkennen kann, muß deine Schaltgeschwindigkeit also mindestens 3*16=48 Hertz betragen. Um überblendungen zu vermeiden, muß bei einem wechsel zuerst die gesammte Spalte ausgeschaltet werden, dann die neue Zeile ausgegeben werden und dann die Spalte eingeschaltet werden. Ich rate Dir zu etwa 300 Hertz.
Entscheidend ist nicht die Spannung sondern der Strom über die LED.
Die Spannungsabfälle über die Leds liegen je nach Farbe zwischen 1,4V (rot) und 2,6V (grün). Der Spannungsabfall über den Schalttransistor, wenn er im Schaltbetrieb betrieben wird und das Halbleitermaterial auf Basis Silizium ist 0,7V bei Germanium 0,4V.
Der LED-Vorwiderstand ist also R=(U-Uled-Utransistor)/Iled
also bei V+=5V (5-1,4-0,7)/0,04=72,5 Ohm für Farbe rot und Siliziumtransistor
Noch ein Tip: zusätzlichen Helligkeitsgewinn erreichst du, wenn du parallel zu den Vorwiderständen einen Elektrolytkondensator und eine Freilaufdiode schaltest. Allerdings müssen die Ausgangstransistoren den Stromstoß verkraften können.
Ich bezweifle auch, das der IC den Strom treiben kann, meißt treiben die Ausgänge nur eine TTL-Last, das sind 1,6 mA. Also sind zusätzliche Schalttransistoren erforderlich.

geronet
11.08.03, 20:23
Vielen Dank an wb1 für diese ausführliche Antwort :)

geronet
16.08.03, 16:31
Gleich noch eine Frage hinterher:

Wie finde ich raus welche Transistoren und Vorwiderstände ich ganz oben brauche? Bei den Led-Reihen ist das einfach, aber welchen Transistor? Im Moment steh ich da irgendwie auf dem Schlauch... Gibt es da irgendwelche Regeln?

E S
17.08.03, 17:23
Hi,

Für die Berechnung der Vorwiderstände (die "fressen" ja die überschüssige Spannung) nimmt man das Ohmsche Gesetz (Uri's Law :) U=R*I

Also die Spannung berechnen, die der Widerstand fressen soll : Ugesammt - Uled
und das ganze durch den Strom teilen, der fließen soll.

R = U / I (U ist hierbei die Spannung über den Widerstand, I der Strom durch die LED 20mA oder in Deinem Fall mehr)




Wenn's möglichst einfach sein soll, verwendest Du am besten den ICM7212 (ICM7211 für LCD). Damit kann man 4x8LEDs einzelnd in einer Matrix ansteuern (Auch 4 7-Segmentanzeigen, steuerbar auch per BCD). Durch Kaskadieren kann man auch beliebig viele LEDs ansteuern.

Ansteuerung der LEDs (Strombegrenzung), Latches und sogar eine Helligkeitssteuerung sind schon im IC drinn. Der Vorteil besteht darin, dass man sich als Programmierer nicht um das Timing kümmern muss und auch bei einem Absturz die gepulsten LEDs nicht überlastet werden, wenn sie dann dauerhaft eingeschaltet sind.

Die Ansteuerung (bzw. Programmierung) des ICs erfolgt über ein serielles Interface mit TTL-Pegeln, also durch wenige Leitungen am Druckerport. Wegen der Multiplexmöglichkeit kann man sogar sehr viele dieser ICs zusammenschalten und am Druckerport verwenden.

Mit Mikrocontrollern habe ich schon mal mit 4 ICs hundert LEDs angesteuert. Ist ganz einfach, wenn auch die Initialisierung und das einshiften der Daten etwas tricky ist. Aber das ist schnell programmiert.

Gruß
Elmar

E S
17.08.03, 17:32
P.S.:

habe ich noch vergessen:

Als Transistor kannst Du so ziemlich alles nehmen. z.B. den BC337 (nehme ich für so was immer gerne)

Wenn Du noch ein paar Transistoren hast:
Steck einen Transistor in den Transistortester Deines Multimeters und Dir wird der sog. B-Wert angezeigt. Dabei handelt es sich um die Gleichstromverstärkung.
Liegt sie z.B. bei 50, dann bedeutet das, wenn Du 1mA in die Basis einspeist können durch den Transistor (am Kollektor gemessen) 50mA maximal fließen.

So kannst Du Dir ausrechnen, wie viel Strom in die Basis fließen muß, damit der Transistor sauber schalten kann. Lieber den Strom noch etwas höher ansetzen, damit es im Alter des Transistors noch richtig klappt. Auch bei Kälte will er etwas mehr haben.

Dein Ein-Potential was die Basis speist minus 0,7V (Potential an der Basis des Transistors, Sperrschichtbedingt) und Du kannst mit dem Ohmschen Gesetz den Widerstand des Vorwiderstandes ausrechnen. (wie bei den LEDs). Den Berechneten Wert wirst Du wohl nicht kaufen können, also nimmst Du den nächst kleineren aus der E-Reihe. Dann schaltet der Transistor auch schön brav!

Ein schönes Arbeitstier, nur leider geringer B-Wert und heutzutage schwehr zu beschaffen ist übrigens der BC 140/10.

Gruß
Elmar

wb1
18.08.03, 10:13
Du verwendest pnp-Transistoren.
Was ich nicht weiß, hat der IC einen OC-Ausgang oder sind es Standart TTL-Ausgänge.
Wie auch immer, so wie die Schaltung momentan ist, wird sie nicht funktionieren.
Wenn am IC-Ausgang ein H erscheint, muß die Spannung an der Basis einen Wert haben der maximal 0,7Volt niedrieger ist als am Emitter (bezogen auf Silizium-Transistoren, sonst 0,4V).
Diese Spannung erreichst du nur, wenn du von dem Emitter einen Widerstand zur Basis legst. Als Widerstandswert würde 4,7kOhm reichen.
Wenn der IC-Ausgang einem Standart-TTL-Ausgang entspricht, benötigst du noch zusätzlich eine Zenerdiode, oder mehrere Dioden in Reihe um den typischen TTL-Pegel H = +2,4Volt auszublenden. Die 2,4 Volt sind ja bezogen auf den Emitter negativer und würden den Transistor ständig öffnen.
Bedenke auch den Strom über die LED`s. Er fließt durch die Ausgangstransistoren des IC. Vertragen diese die entsprechenden Ströme oder mußt du zusätzliche Transistoren verwenden?
LEDs sind in meinen Augen angenehmer als die passiven LCD, weil LED`s sieht man auch im dunklen.

geronet
18.08.03, 20:28
Der µC hat immer einen TTL Ausgang, bei High=min. 4.8 V, bei Low=max 0.3V. Belastbar mit 20 mA. Eine Led zieht etwa 11 - 16 mA (es leuchtet ja nur immer eine).

Normalerweise sollte doch der Transistor abschalten wenn der Vorwiderstand für die Leds etwa 200 Ohm beträgt?

@ES: Den Chip schau ich mir mal an..

wb1
18.08.03, 23:01
Die Ausgänge von IC, speziell TTL sind hier beschrieben.
http://www.dino-center.de/dtechnik/digitale/ttlfamilie_74xx.htm#_Favorite_Links

Nehmen wir den Gegentaktausgang. Bei H hat die Betriebsspannung zwei Halbleiterschichten zu überwinden. Dies bedeutet also zwei mal Spannungsverlust durch die pn bzw np - Übergänge. Die Ausgangsspannung kann also nie die Betriebsspannung des IC erreichen.
Ebenso kann auch der Wert 0 Volt nicht erreicht werden. Auch hier ist ja ein Halbleiterübergang vorhanden. Ohne Last am Transistor ist die Spannung natürlich nahe de den Idealwerten von 0,4V bzw 4,2 Volt. Die Transistoren haben aber einen Innenwiderstand, so das die Spannung bei zunehmenden Strom ansteigt.
Der Vorwiderstand der LED hat nichts mit dem Schaltverhalten des Transistors zu tun.
Mit dem Vorwiderstand begrenzt du bei einer gegebenen Spannung den Strom durch die LED.
Der Basiswiderstand des Transistors und die vorhandenen Spannungen/Ströme an der Transistorbasis beeinflussen dessen Schaltverhalten. Bei einem Verstärkungsfaktor des Transistors von 10 und einem Emitter/Kollektorstrom von 16 mA muß aus der Basis ein Strom von 1,6 mA gezogen werden. Dann arbeitet der Transistor im Schaltbetrieb. Die Verlustleistung des Transistors ist dann I*0,7V (Si). Ziehst du einen geringeren Strom aus der Basis, wird der Transistor zum regelbaren Widerstand und die Verlustleistung steigt, er wird heiß und brennt unter Umständen durch.
Ein Strom wird aber auch dann aus der Basis gezogen, wenn die Ausgangsspannung des IC den Wert Emitterspannung-0,7V, also bei 5V 4,3 Volt unterschreitet. Bedenke das beim Gegentaktausgang zwei Halbleiterübergänge überwunden werden müssen.
Ein OC (Open Collector) ist nicht so problematisch, allerdings mußt du durch einen
weiteren Widerstand das Potential des Emitters an die Basis heranführen.

Hotspott
02.08.05, 18:03
E S:

Du schreibst du hast sowas schon mal fuer 100er LEDs umgesetzt. Ich suche im Inet nach einer Anleitung mir ein "LED display" zu bauen, bei dem ich dann per Serial/Parallel/Usb (mir egal) die einzelnen Leds schalten (am besten sogar dimmen kann). Wuerde mir wuenschen diese sowohl von Win als auch von Linux aus mit Befehlen fuettern zu koennen, um da dann kleine Animationen drueber laufen zu lassen.

Bin nun zugegeben der volle Softie und mir raucht hier der Kopf vor lauter Microcontrollerfachchinesisch. Kannst du mir evtl genauer Schildern, wie du deine 100 Ledapparatur aufgebaut hast oder mir evtl ein Einsteiger Howto geben?

In welchen Preisregionen werde ich denn da landen?

Dankbar fuer jede Hilfe, da es fuer mich totales Neuland ist und ich noch nichtmal recht weiss unter welchen Schlagworten suchen.

Ein LCD mit fertig benutzbarere Software zu kaufen kommt fuer mich nicht in Frage, da ich eine groessere Flaeche abdecken moechte in dem ich z.b. 10x10 Leds mit je 2cm Abstand verbaue. Vor dem Loeten grausst mir jetzt schon :)

Beste Gruesse

HotSpott

Pinky
02.08.05, 18:09
google -> Blinkenleds (Linux/Windows)