Hallo zusammen, ich möchte ein 4x7 LED Display mit Multiplexing aufbauen (siehe Schaltplan/Platinenlayout in Anlage). Folgende Bauteile sollen zum Einsatz kommen: - ATtiny2313 - Kingbright CA56-11EWA (gemeinsame Anode) - ULN2803 als Low-Side-Treiber - UDN2981A als High-Side-Treiber (mir ist bewusst, dass das Teil für diesen Anwendungszweck nicht unbedingt notwendig wäre - aber hoffentlich trotzdem funktioniert) Trotz der Lektüre der einschlägigen Artikel/Forenbeiträge und der Datenblätter bin ich bei der Berechnung der notwendigen Widerstände sehr unsicher... Aus den Datenblättern habe ich folgende "Electrical Characteristics" entnommen (sind das die richtigen?), um sie dann in die Formeln einzusetzen: 4x7 LED Anzeige: --> Forward Voltage = 2,0V --> Input Current = 20mA --> Peak Forward Current bei 0,1 ms Pulse Width = 160mA ULN2803: --> Sättigungsspannung 1,1V bei 200mA --> Input Current: V(IN) = 3,85V / max. 0,93mA UDN2981A: --> Sättigungsspannung 1,7V bei 225mA --> Input Current: V(IN) = 2,4V / max. 0,14mA ATtiny2313: --> Output Low Voltage: 0,7V / 20mA --> Output High Voltage: 4,2V / 20mA Bei einer Versorgungsspannung von 5V würde ich die Widerstände folgendermaßen berechnen: R2 (Vorwiderstände LED Anzeige): (5V - 1,7V - 1,1V - 2V) / (8*20mA) = 1,25 Ohm --> würde das bedeuten, dass ich auf den Widerstand verzichten kann R1 (zwischen LED-Anzeige und ULN2803): --> ich hatte in einer anderen Beispielschaltung mal 47 Ohm gesehen. Aber braucht man hier überhaupt einen Widerstand? Wäre das nicht eh durch die LED-Vorwiderstände R2 abgedeckt? R3 (Eingangswiderstand ULN2803): (4,2V - 3,85V) / 0,93mA = 376 Ohm --> hier bin ich jetzt komplett unsicher, ob ich die richten Zahlen in die richtige Formel eingesetzt habe... 4,2V ist Output High Voltage des ATtiny, die anderen beiden Werte sind V(IN) des ULN2803 R4 (Eingangswiderstand UDN2981A): (4,2V - 2,4V) / 0,14mA = 1.285 Ohm --> hier bin ich jetzt noch unsicherer (Werte analog zu R3 aus Datenblättern entnommen)... in einigen Schaltungen sieht man auf dieser Seite überhaupt keinen Widerstand und ich hatte irgendwo (im Elektronik Kompendium?) gelesen, dass man bei einer Kollektorschaltung (und die ist doch im UDN2981A umgesetzt, oder) keinen Vorwiderstand benötigen würde... Stimmt das ULN2803 = Emitterschaltung und IUDN2981A = Kollektorschaltung? Noch eine Frage: Das Multiplexing würde ich so machen, dass immer ein Segment der 4 Ziffern gleichzeitig an ist - und über die 7 Segmente dann "gemultiplext" wird - ist das der richtige Ansatz? VG Mike PS: Bei den richtigen Aussagen/Annahmen bitte nur ein kurzes "JA" (möchte Eure Zeit nicht überbeanstruchen) - bei den falschen würde mir eine kurze Klarstellung/Erläuterung sehr helfen... vielen Dank!
Mike schrieb: > Stimmt das ULN2803 = Emitterschaltung und IUDN2981A = > Kollektorschaltung? Wenn Du in deinem eigenen Post auf oder gleich hier auf ---> ULN2803 klickst, dann kommst du auf das Datenblatt. Dort siehst du unter Figure 12. Representative Schematic Diagrams, wie das intern geschaltet ist.
> würde das bedeuten, dass ich auf den Widerstand verzichten kann Nein, natürlich nie, wie kommt man auf so eine Unsinn ? Es bedeutet, daß die Restspannug zu klein ist, um bei den Schwankungen der Spannungensabfälle (es sind ja nicht immer 1.1V am ULN2803, auch mal 0.6V, und es sind nicht immer 2V an der LED, auch mal 1.8V oder 2.5V) einen halbwegs definierten Strom (von 80mA max.) zu bekommen. 5V sind für die Kombination 2803/2981 zu wenig. > Aber braucht man hier überhaupt einen Widerstand? Du brauchst NUR Widerstände am 2803. Den 2981 ersetzt du am besten durch P-Kanal MOSFETs wie IRLML2246
RTFM schrieb: > Wenn Du in deinem eigenen Post auf oder gleich hier auf ---> ULN2803 > > klickst, dann kommst du auf das Datenblatt. > > > > Dort siehst du unter Figure 12. Representative Schematic Diagrams, wie > > das intern geschaltet ist. Ich habe das genannte Diagramm mit den Erläuterungen im Artikel "Transistor" Kap. 4 (http://www.mikrocontroller.net/articles/Transistor) verglichen und würde "ULN2803 = Emitterschaltung und IUDN2981A = Kollektorschaltung" behautpen, ohne es genau zu wissen (bin Anfänger und unsicher im Interpretieren der Schaltdiagramme) - also die Aussage ist richtig, oder? MaWin schrieb: > Nein, natürlich nie, wie kommt man auf so eine Unsinn ? Wenn man die Werte aus dem Datenblatt "stupide" in Formeln einsetzt ;-) MaWin schrieb: > 5V sind für die Kombination 2803/2981 zu wenig. Ich hätte auch 9V (vor dem Spannungsregler). Dann würde ich als LED-Vorwiderstände (9V - 1,7V - 1,1V - 2V) / (8*20mA) = 26 Ohm nehmen - würde das passen? MaWin schrieb: > Du brauchst NUR Widerstände am 2803. "Am 2803" heißt am Eingang (in Richtung Prozessor) oder am Ausgang (in Richtung LED-Anzeige)? Falls der zweite Fall gemeint ist - was ist da genau der Unterschied, ob ich die Widerstände vor oder hinter die LED schalte? Ok, einmal ist es vor der Spalte und einmal hinter der Zeile, oder? Kannst Du mir da auf die Sprünge helfen, warum die Widerstände genau da sein MÜSSEN? Im Artikel "LED-Matrix" (http://www.mikrocontroller.net/articles/LED-Matrix) ist eine analoge Schaltung mit ULN2803 und UDN2981 - und da sind nur Widerstände zwischen UDN2981 und LED-Matrix eingezeichnet. Die Seite zum Prozessor hin ist dort leider nicht dargestellt.. MaWin schrieb: > Den 2981 ersetzt du am besten durch P-Kanal MOSFETs wie IRLML2246 Wäre wohl die bessere Lösung, aber hab die Teile jetzt schon gekauft und (voreilig) teilweise verlötet... also wenn es mit der Kombi irgendwie geht, würde ich gerne dabei bleiben.
Mike schrieb: > Ich hätte auch 9V (vor dem Spannungsregler). > Dann würde ich als LED-Vorwiderstände > (9V - 1,7V - 1,1V - 2V) / (8*20mA) = 26 Ohm nehmen - würde das passen? Wenn du die 20mA brauchst, dann schon. Brauchst du die? Oder mehr? Oder weniger? > MaWin schrieb: >> Du brauchst NUR Widerstände am 2803. Das sind deine R1. Die R2 brauchst du nicht. Zwischen uC und ULN/UDN brauchst du gar keinen Widerstand. Das ist ja der Tick bei den Dingern. Sieh dir einfach mal die Innenbeschaltung vom UDN an: http://shop.griederbauteile.ch/images/artikel_medium/u/UDN2981A.jpg Und die vom ULN: http://amplifiers.tripod.com/integrated6.gif Du siehst: da sind schon jede Menge Widerstände eingebaut. Wenn du aber unbedingt welche einbauen willst, dann nimm was zwischen 220..470 Ohm.
Lothar Miller schrieb: > Wenn du die 20mA brauchst, dann schon. > > Brauchst du die? Oder mehr? Oder weniger? wenn ich das so genau wüsste... ;-) Im Datenblatt der 4x7 LED Anzeige steht: --> Forward Voltage = 2,0V --> Input Current = 20mA --> Peak Forward Current bei 0,1 ms Pulse Width = 160mA Wie ist das zu interpretieren? Die 20mA gelten für die gesamte Ziffer (mit 8 Segmenten), oder nur für ein einzelnes Segment? Wegen Multiplexing über die 4 Ziffern würde ich das dann mal 4 nehmen und komme auf 80mA für die "Gesamtanlage" - diesen Wert würde ich dann in die Formel einsetzen: (9V - 1,7V - 1,1V - 2V) / (4*20mA) = 52 Ohm Lothar Miller schrieb: > Das sind deine R1. Die R2 brauchst du nicht. Ok, im Artikel "LED-Matrix" (http://www.mikrocontroller.net/articles/LED-Matrix) ist das genau umgekehrt dargestellt - mit "meinen" R2 und ohne die R1. Wären die R2 nicht auch die klassischen LED-Vorwiderstände? Und welchen Unterschied macht es, ob ich R2 vor der Anzeige oder R1 hinter der Anzeige einbaue? Vermutlich ist die Berechnung anders (vom Gefühl her würd ich vermuten, dass R1 = 1/2 R2 ist, da es doppelt so viele gibt) Lothar Miller schrieb: > Zwischen uC und ULN/UDN brauchst du gar keinen Widerstand. Das ist ja > > der Tick bei den Dingern. Weil die Widerstände dort schon eingebaut sind, oder? Falls dies nicht so wäre, würde meine Berechnung oben passen? ... will ja auch was lernen... Lothar Miller schrieb: > Wenn du aber unbedingt welche einbauen willst, dann nimm was zwischen > > 220..470 Ohm. nöö, nur wenn's notwendig gewesen wäre
Mike schrieb: > (4,2V - 3,85V) / 0,93mA = 376 Ohm > --> hier bin ich jetzt komplett unsicher, ob ich die richten Zahlen in > die richtige Formel eingesetzt habe... 4,2V ist Output High Voltage des > ATtiny, die anderen beiden Werte sind V(IN) des ULN2803 Deine Zweifel sind berechtigt, denn du hast beim Tiny die 4,2V ja bei 20mA. > ATtiny2313: > --> Output High Voltage: 4,2V / 20mA Bei weniger Strom hast du dort aber automatisch auch mehr Spannung. Und damit stimmen die 4,2V nicht mehr...
Lothar Miller schrieb: > Zwischen uC und ULN/UDN brauchst du gar keinen Widerstand. Das ist ja > > der Tick bei den Dingern. Lothar Miller schrieb: > Bei weniger Strom hast du dort aber automatisch auch mehr Spannung. Und > > damit stimmen die 4,2V nicht mehr... ok, aber brauche trotzdem keinen Widerstand? Ich hatte in einer anderen Schaltung (siehe Anlage - auch hier aus dem Forum) an dieser Stelle 2,2 kOhm gesehen In dieser Schaltung sind auch 47 Ohm zwischen Display und ULN (also annähernd die von mir berechneten 52 Ohm) - aber verstehe immer noch nicht so richtig, warum die Widerstände genau hierhin müssen, und nicht zwischen UCN und Display sollen/dürfen (wie im oben genannten Artikel "LED Matrix") Sorry, wenn ich "nerve" - aber möchte es verstehen, damit ich zukünftig nicht mehr die Forumsgemeinde mit diesen Standardfragen "belästige" ;-)
Mike schrieb: > ok, aber brauche trotzdem keinen Widerstand? Ich hatte in einer anderen > Schaltung (siehe Anlage - auch hier aus dem Forum) an dieser Stelle 2,2 > kOhm gesehen Solche Angstwiderstände kann man einbauen. Man muss es aber nicht... > In dieser Schaltung ... Es wird immmer mit einem der T1..4 eine Anode eingeschaltet. Und mit dem ULN2803 werden dann die entsprechenden Segmente eingeschaltet. Z.B. T1 eingeschaltet --> Tausender aktiv. Segmente b und c über Vorwiderstände gegen GND --> die 1 leuchtet auf. Danach T1 aus und T2 ein --> Hunderter aktiv. Segmente a,b,c,d,e und f gegen Masse --> 0 leuchtet auf. Usw... Bei dir werden einfach die T1..4 werden durch den UDN ersetzt. Und was wäre jetzt, wenn die Vorwiderstände in der Leitung zwischen T1 und der Tausenderstelle wäre? Alle 7 Segmente müssen ihren Strom über diesen Widerstand beziehen. Und das würde bedeuten, dass der Widerstand zu klein wärem wenn nur 1 Segment an ist. Und zu hochohmig, wenn alle an wären.
@ Lothar: Vielen Dank für die sehr verständliche Erklärtung! MaWin schrieb: > würde das bedeuten, dass ich auf den Widerstand verzichten kann > Nein, natürlich nie, wie kommt man auf so eine Unsinn ? > Es bedeutet, daß die Restspannug zu klein ist, > um bei den Schwankungen der Spannungensabfälle > (es sind ja nicht immer 1.1V am ULN2803, auch mal 0.6V, > und es sind nicht immer 2V an der LED, auch mal 1.8V oder 2.5V) > einen halbwegs definierten Strom (von 80mA max.) zu bekommen. > > 5V sind für die Kombination 2803/2981 zu wenig. Was ich noch nicht ganz begreife: Wenn ich die Schaltung mit 9V betreibe und entsprechende Widerstände (8 x 47 Ohm) einbaue, um die überschüssige Spannung (von 4V?) wieder zu "vernichten" - warum geht es dann nicht auch mit 5V und ohne Widerstände? Oder haben die Widerstände da eine "ausgleichende" Wirkung bzgl. eines "halbwegs definierten Stroms" bei Spannungsschwankungen? Hmm, aber wenn die Spannung wie beschrieben in gewissen Bandbreiten schwankt, bleibt der Widerstand doch trotzdem gleich und ich habe (das gleiche) Defizit oder Überschuss, je nachdem... kannst Du mir da auch noch bitte kurz auf die Sprünge helfen?
Mike schrieb: > Oder haben die Widerstände da eine "ausgleichende" Wirkung bzgl. eines > "halbwegs definierten Stroms" bei Spannungsschwankungen? Ja. Und bei Schwankungen der LED-Vorwärtsspannung Uf. > Hmm, aber wenn die Spannung wie beschrieben in > gewissen Bandbreiten schwankt, bleibt der Widerstand doch trotzdem > gleich und ich habe (das gleiche) Defizit oder Überschuss, je nachdem... Aber die Stromschwankung (die letzlich eine Helligkeitsschwankung werden wird, weil bei LEDs gilt Strom=Licht) wird nicht so stark ausfallen. Ein simples Beispiel mit theoretischen Werten: Eine Spannungsquelle ändert ihre Spannung um 1 V nach oben. Die Uf der LED sei 2V, der gewünschte Strom seien die berüchtigten 20mA. Die Sättigungsspannungen seinen je 1V. Dann wirst du bei Vcc=9V einen Widerstand von (9-1-2-1)/0.02 = 250 Ohm bekommen. Wenn jetzt die Spannung auf 10V steigt, dann steigt der Strom auf (10-4)/250 = 24mA. Und das selbe bei 5V gibt 50 Ohm und mit 6V ergibt sich eine Stromsteigerung auf 40mA. Und viel schlimmer wirkt sich das aber bei einer Reduzierung der Versorgung aus. Rechne das mal mit 10V->9V und mit 5V->4V aus. Du wirst Augen machen... Mit einer Versorgung aus geregelten 5V hast du die Versorgungs- spannungsschwankung weg, aber es bleiben trotzdem Änderungen bei der Uf und bei den Durchlassspannungen der Schalter.
Ah verstehe, vielen Dank!! Die Schwankung der Spannung ist zwar absolut gleich, aber RELATIV zu Vcc wird sie geringer - und damit auch die Stromstärke stabiler. Ist logisch, aber wäre ich jetzt nicht drauf gekommen... VG Mike
Ich habe das Display jetzt zusammengelötet und programmiert (Multiplexing über die 4 Ziffern) - funktioniert auch einwandfrei, aber eine Frage hätte ich noch: Die Ziffern mit wenigen Segmenten (also 1 und 7) leuchten etwas heller als die Ziffern mit vielen Segmenten. Ist mir auch klar, dass sich die LEDs den verfügbaren Strom teilen müssen. Aber gäbe es generell eine Möglichkeit bzw. ein Bauteil, dieses "Phänomen" zu vermeiden (also Anpassung der Stromstärke je nach Anzahl der leuchtenden Segmente)? Also Helligkeitsunterschied ist jetzt nicht dramatisch, aber rein aus Interesse.. VG Mike
> Ich habe das Display jetzt zusammengelötet
Bloss warst du zu faul zu schreiben welche Variante du nun gebaut hast,
deine Ursprungsvariante, mit 9V, oder mit MOSFETs.
Bei deiner Ursprungsvariante ist das Verhalten durch die Widerstände an
den UDN2981 und die Multiplexmethode zu erklären,
bei 5V und keinen/kleinen Widerständen ist es auch zu erklären weil der
Spannungsabfall in einem Treiber, z.B. dem UDN2981, grösser wird wenn
mehr Strom fliesst, also unetrschiedlich ist und damit die kleienn
Widerstände zu sehr unterschiedlichem Strom und damit Helligkeit führen.
Nur die Variante mit 4 MOSFETs und 1:4 Multiplexing und ohne Widerstände
an den MOSFETs dürfte das Verhalten nicht zeigen.
Ich habe die Variante mit 9V und UDN2918 / BLN2803 genommen - "Schaltplan" und Coding siehe Anlage. Sorry, hatte ich eben vergessen... MaWin schrieb: > Bei deiner Ursprungsvariante ist das Verhalten durch die Widerstände an > > den UDN2981 und die Multiplexmethode zu erklären, und WIE ist es zu erklären? Meine laeinhafte Vermutung ist, dass die verfügbare Spannung einfach auf eine verschiedene Anzahl von Segmenten verteilt wird und dadurch eine einzelne LED mehr oder weniger Strom bekommt... Nur um es zu verstehen: wenn ich jetzt z. B. 12V (statt 9V) und entsprechend größere Widerstände genommen hätte, wäre der Helligkeitsunterschied geringer? MaWin schrieb: > Nur die Variante mit 4 MOSFETs und 1:4 Multiplexing und ohne Widerstände > > an den MOSFETs dürfte das Verhalten nicht zeigen. Ok, Ihr hattet es mir vorher ja schon so empfohlen, also darf ich mich jetzt nicht beschweren ;-) es geht mir auch mehr ums Lernen... also 4 MOSFETs statt dem UDN2981 (und den ULN2803 so drin lassen)? Heißt 1:4 Multiplexing, dass immer eine der 4 Ziffern an ist? Zumindest das mache ich jetzt schon so.
PS: Widerstände habe ich nur am ULN2803 - zumindest da bin ich Eurer Empfehlung gefolgt... ;-) Warum würde bei 4 MOSFETs das Problem nicht auftreten? Schalten die schneller oder exakter oder mit weniger Stromverlust/-schwankung oder...? Eine kurze Erklärung würde mir für zukünftige Projekte sehr helfen.
PS: Übrigens leuchtet es auch dunkler, wenn 4 Ziffern statt nur 1 Ziffer an sind... würde sich das auch durch die MOSFETs lösen lassen?
> Ich habe die Variante mit 9V und UDN2918 / BLN2803 genommen Dann sollte es ohne solche Helligkeitseffekte funktionieren. 1:4 Multiplex: An einen UDN2981 Eingang high anlegen damit eine Stelle ausgewählt wird, an den ULN2803 die Segmente anlegen die leuchten sollen, etwas warten, einen anderen Eingang des UDN2981 auf high und die Segmente die an dieser Stelle leuchten sollen an den ULN2803 ausgeben. U.s.w. Niemals mehrere Eingänge des UDN2981 auf high > Heißt 1:4 Multiplexing, dass immer eine der 4 Ziffern an ist? Ja. > zumindest das mache ich jetzt schon so. Dann sollte es gut funktionieren.
MaWin schrieb: > Dann sollte es ohne solche Helligkeitseffekte funktionieren. 1:4 > > Multiplex: > > An einen UDN2981 Eingang high anlegen damit eine Stelle ausgewählt wird, > > an den ULN2803 die Segmente anlegen die leuchten sollen, etwas warten, > > einen anderen Eingang des UDN2981 auf high und die Segmente die an > > dieser Stelle leuchten sollen an den ULN2803 ausgeben. U.s.w. Niemals > > mehrere Eingänge des UDN2981 auf high Das Multiplexing mache ich so ähnlich (siehe Code): - alle Ziffern aus - Segmente für Ziffer 1 an ULN2803 - Ziffer 1 über UDN2981 an - Ziffer 1 aus - Segmente für Ziffer 2 an ULN2803 - Ziffer 2 über UDN2981 an - usw. Schreibst Du mit Absicht, ZUERST an UDN2981 high anlegen und dann die Segmente der Ziffer, dann nächste Ziffer an und DANACH die Segmente auf high usw... ? Würde das nicht dazu führen, dass die nächste Ziffer am Anfang ganz kurz mit den Segmenten der vorherigen Ziffer leuchtet? MaWin schrieb: > Dann sollte es gut funktionieren. Also es funktioniert ganz ok - aber wie gesagt: "1" ist (etwas) heller als andere Ziffern und eine einzelne Ziffer ist (deutlich) heller als alle vier Ziffern. Noch eine Idee? Ist der Effekt wirklich durch UDN2981 statt MOSFETs zu erklären? Falls ja, warum? Danke VG Mike
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.