Forum: Mikrocontroller und Digitale Elektronik (Treiber-)ICs gesucht


von Jan (Gast)


Lesenswert?

Hallo,
ich beschäftige mich schon länger mit (einfacher) Elektronik und habe
vor kurzem mit AVR-Programmierung angefangen. Mein erstes größeres
Projekt ist eine einfache LED-Matrix. Programmierung ist soweit kein
Problem, funktioniert auch schon einwandfrei.
Die Stromstärke aus den Ports des AVR ist aber zu gering, also müssen
Treiber-ICs her. an der Kathode der LEDs tut es ein ULN 2803, an die
Anode kommt jeweils ein Transistor.
Hier liegt jedoch mein Problem: Welchen Transistor nehmen? NPN, klar,
aber welchen genau? Gibts da nicht auch ICs mit 8 oder mehr
Transistoren drin?
Ihr seht, mir fehlt es einfach an Überblick über den Bauteile-Markt.
Ich würde mich über Hilfe in dieser Hinsicht sehr freuen, genauso über
Links zu Übersichtsseiten.
Danke, Jan

von crazy horse (Gast)


Lesenswert?

"Hier liegt jedoch mein Problem: Welchen Transistor nehmen? NPN, klar,
aber welchen genau? Gibts da nicht auch ICs mit 8 oder mehr
Transistoren drin? "
Nix da, da gehört ein pnp hin, einen npn kann man nicht vernünftig (in
dem Fall=Sättigung) ansteuern.
Falls doch integrierten 8fach-Treiber: UDN2981. Ist aber einiges teurer
als 28xx.

von Jan (Gast)


Lesenswert?

Danke für den Hinweis, aber könntest du mir mal auf die Sprünge helfen?
Ich kann mir gerade nicht vorstellen, wie ich die Schaltung verändern
muss, wenn ich einen pnp verwende...

von Peter D. (peda)


Lesenswert?

"Nix da, da gehört ein pnp hin, einen npn kann man nicht vernünftig
(in
dem Fall=Sättigung) ansteuern."


Na aber hallo, klar geht das !

Schonmal was von der Kollektorschaltung gehört.

Die LEDs brauchen etwa 1,6-2V, da stören die 0,7V am Transistor
überhaupt nicht. Einfach bei der Berechnung der
Stromeinstellwiderstände berücksichtigen.

In der Regel muß man aber die Anzeigen nicht volle Pulle betreiben,
d.h. ich steuere die Segmentwiderstände immer direkt vom AVR (bis 6
Digits).


Peter

von Jan (Gast)


Lesenswert?

"In der Regel muß man aber die Anzeigen nicht volle Pulle betreiben"
Klar, die Schaltung funktioniert auch so. Im Moment erhält jede LED
einen mittleren Strom von 2 bis 6 mA (je nach Anzahl der aktiven LEDs).
Da es sich nicht um Low Current LEDs handelt, ist das etwas zu wenig.
Würde beispielsweise ein BC547B hier gut funktionieren?

von Peter D. (peda)


Lesenswert?

"Im Moment erhält jede LED
einen mittleren Strom von 2 bis 6 mA (je nach Anzahl der aktiven
LEDs)."

Wie das ?

Der Strom wird doch durch den Vorwiderstand konstant gehalten, und da
jedes Segment seinen eigenen Widerstand hat, gibts da keine
gegenseitige Beeinflussung.

Es sei denn, Du hast die Digits direkt am MC und der geht in die Knie.

Die Digittreiber müssen ja den 8-fachen Impulsstrom liefern können, d.h
da sollte man immer Treibertransistoren einsetzen.

Ich nehme gerne den BC368, der kann 1A, das reicht dicke.


Peter

von Michael (ein anderer) (Gast)


Lesenswert?

@Jan:

Male mal einen Schaltplan von dem was Du jetzt hast oder was Du vor
hast, und stell' den hier rein. Dann kann man Dir auch genauer helfen.

von Jan (Gast)


Angehängte Dateien:

Lesenswert?

@Peter: ja, der MC schafft nicht mehr als die dann maximal fließenden
60mA.


Die Schaltung habe ich gerade mal aufgezeichnet. Das Array ist jedoch
größer, momentan 8x8 LEDs. Links der Ist-Zustand, rechts das, was ich
mir vorstelle.
Ich würde mich freuen, wenn jemand mit etwas mehr Ahnung als ich da
sein OK dazu geben könnte oder Verbesserungsvorschläge.
Außerdem interessiert mich, durch welchen IC man die vielen einzelnen
Transistoren ersetzen könnte.

von Michael (ein anderer) (Gast)


Lesenswert?

Folgendes musst Du machen:

Die Kollektoren der NPN-Transitoren direkt an 5 Volt anschliessen, kein
Widerstand dazwischen. Zwischen den Ausgängen des 74HC42 und den Basen
der Transistoren ebenfalls keine Widerstände.

Allerdings musst Du Widerstände an die ULN Ausgänge einbauen. Deren
Wert berechnet sich nach allen Spannungsabfällen geteilt durch den
gewünschten Strom.

Also: R = (5 Volt - U_transistor - U_led - U_uln) / I_led

U_transistor ist 0.7 Volt, U_led ist für rote Leds ca. 2 Volt und U_uln
wird ca. 0.5 Volt oder so sein, das musst Du im Datenblatt nachlesen.
Der Strom durch die Leds darf schon etwas mehr sein, so 30mA, da ja
gemultiplext.

Das ergibt also:

R = (5V - 0.7V - 2V - 0.5V) / 0.03A = 60 Ohm.

Nächste Normwert wäre z.B. 58 Ohm.

Allerdings ist der BC547 etwas zu schwach für diese Aufgabe, er ist nur
für 100mA gedacht. Durch die vielen Leds kommt da aber einiges mehr an
Strom zusammen.

Besser wäre also z.B. der BC368, der ist für bis zu 1 Ampere gedacht.
Zu beachten ist dabei allerdings, dass er bei 25°C Umgebungstemperatur
absolut maximal 0,8 Watt verbraten kann, das wären bei 0.7 Volt
Spannungsabfall als Emitterfolger wieder nur etwas mehr als 100mA. Da
Du den Transistor aber taktest, kannst Du den Transistor entsprechend
dem Takverhältnis mehr belasten.

Wenn Du noch mehr Leds brauchst, muss noch ein anderer Transistor her.

Und noch eins gibt's zu beachten: BC368 und BC547 haben
unterschiedliche Pin-Belegungen...

von Jan (Gast)


Lesenswert?

Ah sorry, jetzt weiß ich, was ich nicht geschrieben hatte: Die
Widerstände und die Stromversorgung habe ich im Schaltplan der
Einfachheit halber rausgelassen. *schäm
Trotzdem danke für die Mühe.
Also werde ich je einen BC368 benutzen und wahrscheinlich um Ports am
MC zu sparen noch ein Schieberegister anstatt des BCD benutzen.

Vielen Dank für die Tipps!

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.