Verbesserung der Helligkeit der gemultiplexten 7-Segment-LED-Anzeige

7

Ich habe eine zweistellige 7-Segment-LED-Anzeige, die von einem Mikrocontroller gemultiplext wird. PORTA ist für die Anoden. In meinem Code verschiebe ich ein 1Durch PORTA. Ein PORTBIch sage, welches Segment leuchten soll, indem ich es auf setze 0. Mein Problem ist, dass das Display nicht sehr hell ist, obwohl ich keine Widerstände vor dem 7-Segment angeschlossen habe. Wie kann ich diese Schaltung erweitern, um eine hellere Anzeige zu erhalten? Vielleicht mit Transistoren oder MOSFETs? Ich habe auch ein einfaches Schema meiner Schaltung beigefügt.

Vielen Dank für die Hilfe im Voraus. Geben Sie hier die Bildbeschreibung ein


Lösung: 4 NPN-Transistoren. Geben Sie hier die Bildbeschreibung ein

arminb
quelle
Sehr gut. FWIW technisch R5-R8 werden nicht benötigt. ABER sie sind eine gute Idee, wenn die angetriebenen Leitungen jemals überlastet oder kurzgeschlossen werden. ABER R1 - R4 sind sehr notwendig.
Russell McMahon
2
Nein, nicht gut! Sie haben uns gesagt, dass dies eine übliche Anodenanzeige ist, oder? Dann verbinden Sie die Emitter mit den Kathoden, das sollten die Anoden sein. Kathoden sollten an Port A gehen. Beachten Sie außerdem, dass Sie die Transistoren im gemeinsamen Kollektor verwenden und die Emitter dann nicht höher als Vcc - 0,7 V sein können. Ihr Schaltplan sagt + 5V, also vielleicht kein Problem, aber Sie müssen möglicherweise die Widerstände neu berechnen. Für einen Controller mit 2,7 V würde dies nicht funktionieren.
Stevenvh
@stevenvh danke für den Hinweis. Ich habe PORTA und PORTB in den Schaltplänen getauscht. In meiner Schaltung habe ich alles gut gemacht. Ich habe die Schaltpläne korrigiert. Über die gemeinsame Sammlersache: Ich bekomme eine schöne Helligkeit, trotzdem danke auch dafür :)
Arminb
Gibt es einen Grund, warum du es so gemacht hast, der gemeinsame Sammler, den ich meine? Mit PNPs im gemeinsamen Emitter können Sie LED-Strings mit einer höheren Spannung als 5 V betreiben, während Sie hier nicht einmal 5 V erhalten können.
Stevenvh

Antworten:

4

Zusammenfassung:

  • Sie können die Helligkeit wahrscheinlich verdoppeln, indem Sie ein paar weitere Anschlussstifte verwenden.

  • Die Verwendung von 4 Transistoren als Spaltentreiber wird wahrscheinlich einen signifikanten Unterschied machen.

  • Die Verwendung eines Low-Side-Segmentpuffer-ICs und High-Side-Transistoren bietet Ihnen den gewünschten Antrieb.

  • Die Ports werden derzeit "illegal" verwendet, es treten jedoch keine Schäden auf, da der Prozessor im Verhältnis zu den LEd-Stromwerten niedrig ist. Sobald der richtige Antrieb verfügbar ist, werden Vorwiderstände benötigt, um Schäden zu vermeiden.


Hier ist das Datenblatt für den von arminb erwähnten 74HC244-Puffer .
Es bietet 8 x invertierende Puffer.
Die nicht invertierende Version ist das 74HC240 - Datenblatt hier .
Beide sind im Prinzip in Ordnung, bieten jedoch normalerweise nur einen 8-mA-Antrieb pro Stromkreis.

Sie können verschiedene aktuelle Versionen wie diese SN74LVC244a bei Digikey für 26 Cent in einem auf Lager haben - ein Schnäppchen! :-).

Das Ansteuern von LEDs ohne Widerstände von einem Prozessor ist eine schlechte Praxis, unabhängig davon, ob es "funktioniert" oder nicht. Es lädt den IC in "illegale" Bereiche, wenn es nicht funktioniert, und riskiert, das Display zu beschädigen, wenn es funktioniert (und lädt den IC immer noch illegal).

Ihre Anzeige steuert derzeit 4 Segmente gleichzeitig x 4 Spalten.

Wenn Sie 4 weitere Port-Pins zur Verfügung haben, können Sie (wahrscheinlich) die Helligkeit Ihres Displays verdoppeln, indem Sie 8 Segmente gleichzeitig x 2 Spalten x 2 Port-Pins pro Spalte ansteuern. Auf diese Weise können Sie Ihr Display mit der doppelten Rate multiplexen, sodass der helle ZF- Strom beibehalten wird. Deshalb habe ich die Spaltenantriebe verdoppelt.

Gegenwärtig treiben Sie eine Säule mit 4 LEDs über einen PortA-Pin an, versenken sie jedoch über 4 x Port B-Pins. Wenn Sie 4 Segmente eingeschaltet haben, wird die Helligkeit durch die Fähigkeit des einzelnen Port A-Pins begrenzt, 4 x LEDs zu liefern. Wenn nur ein Segment pro Spalte vorhanden ist, liefert PortyA eine LED und Port B senkt 1 LED, ABER die Senkenkapazität ist normalerweise bei vielen Prozessoren größer als die Quellkapazität, sodass das Laufwerk von PORT A wahrscheinlich immer noch die Grenze darstellt.

Wenn Sie also 4 x Port A High-Side-Treiber bereitstellen, sollten Sie die Helligkeit erhöhen. Diese können so einfach wie 4 x Transistor-Emitterfolger sein.
4 x NPN-Transistor (BC337 oder ähnlich)
Kollektoren an V + -Basen an
Port-A-Pins
Emitter an LED-Anoden.

Das Hinzufügen eines Vorwiderstands pro LED wäre "eine gute Idee" [tm].

Wenn Sie das Ergebnis entwerfen möchten, müssen Sie wissen, welche Funktionen Ihre Port-Pin-Quelle und -Senken haben.
Es ist immer äußerst wertvoll, uns zu sagen, was Ihr Prozessor ist, und Links bereitzustellen.

Wenn die Verwendung von Transistoren wie oben nicht gut genug funktioniert, können Sie auch pro Segmentantrieb hinzufügen, indem Sie wie oben einen Oktalpuffer verwenden oder Segmentantriebstransistoren verwenden.

Für einen Low-Side-Treiber würde ein zB ULN2803-Oktaltreiber einen extrem guten Job machen. Die Verwendung eines dieser Plus-High-Side-Emitter-Follower ohne Vorwiderstand würde eine sehr, sehr, sehr helle Anzeige erzeugen, jedoch nur für einen Zyklus :-(. Yu kann andere Mitglieder der ULN280x-Familie erhalten, die andere Anforderungen an das Eingangslaufwerk haben als die '2803 ist im Allgemeinen am nützlichsten.

Russell McMahon
quelle
Vielen Dank. Ich habe mich für den Emitter Follower entschieden. Es funktioniert sehr gut. Ich habe meine Frage mit den endgültigen Schaltplänen aktualisiert.
Arminb
5
  1. Sie müssen auf jeden Fall Vorwiderstände verwenden !
  2. Verwenden Sie nicht den 74HC244, den andere vorgeschlagen haben. Lesen Sie das Datenblatt , sie können nur 6 mA liefern und versenken, nicht 20 mA.

Sie haben eine gemeinsame Anode 4×4 Matrix, daher muss der Anodentreiber für eine 20-mA-Anzeige 80 mA liefern, wenn alle LEDs leuchten. Die einfachste Lösung besteht darin, 4 PNP-Transistoren zu verwenden, die Sie über einen Basiswiderstand von Ihrem Mikrocontroller ansteuern. Ein niedriger Pegel aktiviert eine Spalte. Der BC327 hat eineHFEvon mindestens 100, so dass ein Basisstrom von 2 mA ausreicht, um ihn einzuschalten. Dann ist Ihr Basiswiderstand 2,2kΩ.

Die E / A der meisten Mikrocontroller können 20 mA aufnehmen, sodass für Port B nur 4 Vorwiderstände benötigt werden. Wenn Ihre LEDs 2 V abfallen, benötigen Sie 150Ω. Wenn die 20 mA für den Controller zu hoch sind, können Sie NPN-Transistoren als Treiber verwenden. A 4.7kΩ Basiswiderstand reicht aus.

Dies ist eine billigere Lösung als die Verwendung von Treibern wie dem ULN2803.

stevenvh
quelle
@stevenh [Bei 7 Cent US in 1 ist ein ULN2803] ( digikey.com/product-detail/en/ULN2803APG(O,N,HZN/… wird die Bank nicht brechen. Ich würde wahrscheinlich in vielen Fällen selbst Transistoren verwenden , aber die Kosten sind wahrscheinlich kein Haupttreiber und ein widerstandsloses Laufwerk ist nett. Beachten Sie, dass ich das limitierte HC244-Laufwerk erwähnt und eine höhere aktuelle Version vorgeschlagen hatte, WENN er sich entschied, diesen Weg zu gehen.
Russell McMahon
Das hätten 70 Cent US sein sollen - nicht 7C :-)
Russell McMahon
@ Russell - oder Centi-Cent, das wäre billig! (Ich hatte den Fehler nicht einmal bemerkt)
Stevenvh
2

Ich würde einfach einen HC244-Oktalpuffer in Übereinstimmung mit Ihren Ausgangsports werfen, da diese normalerweise 20 mA oder so liefern können. Denken Sie an Ihre Strombegrenzungswiderstände. Sie könnten auch Transistoren verwenden, wenn Sie möchten, aber ich denke, die Single-IC-Methode ist die einfachste.

Hier ist ein Link zum Teil des Herstellers , von dem ich dachte, dass er den Trick für Sie tun würde.

Dave
quelle
Was sind Oktalpuffer? Ich kann im Internet keine Beschreibung finden ... komisch.
Arminb
Verwenden Sie keine Google-Links. Bessere Verknüpfung mit einem bestimmten Gerät, vorzugsweise einem Datenblatt beim Hersteller. Wenn Sie sich auch die Mühe machen, es zu lesen, werden Sie sehen, dass es Ihnen nur 6 mA gibt, nicht 20. Übrigens, Sie wissen, wie viel die Anoden brauchen, nicht wahr?
Stevenvh
Ok, hier ist der, den ich mir angesehen hatte. Vielen Dank für den Vorschlag, auf die Website des Herstellers zu verlinken. Ich hätte das tun sollen. fairchildsemi.com/ds/74/74VHC244.pdf
Dave
:) Ich weiß wie das geht. Ich dachte nur, die Leute würden die Kommentare lesen und es war keine große Sache, weil dies sowieso nicht die richtige Antwort ist.
Dave