Ich muss eine große Sieben-Segment-Anzeige (Segmentlänge beträgt etwa 2 Zoll) mit einem Mikrocontroller (PIC 16F877) ansteuern. Ich habe normale sieben Segmente ohne Probleme direkt von PICs gefahren, aber ich habe festgestellt, dass 5 V nicht ausreichen, um dieses zu fahren. Es brauchte etwas um die 9 Volt (ist das normal?)
Also, was mir in den Sinn kam, ist dies. (Entworfen mit Proteus ISIS 7 Pro)
Ich habe diese Schaltung mit 12 V versorgt und die RV1- Voreinstellung verwendet, um sie einzustellen (um sie auf 9 V oder etwas in der Nähe zu bringen). 8 Eingänge zu den Transistoren kommen vom Mikrocontroller. So kann ich das große 7-Segment (das 9 V erfordert) auf diese Weise fahren ...
Aber es war kein Erfolg. Ich habe die Spannungen überprüft und festgestellt, dass die Transistoren zwischen 0 und 5 V schalten (kann mir nicht vorstellen, wie das passieren kann ???).
Wie auch immer, dann habe ich versucht, den Widerstand auf die Kollektorseite zu legen. Und nahm den Ausgang vom Kollektorstift. Das war einigermaßen ok. Aber die Helligkeit schwankte mit der Anzahl der Beleuchtungssegmente ... (Wenn nur ein Segment beleuchtet wurde, war die Helligkeit sehr gering. Es ist fast nicht sichtbar. Aber als alle Segmente beleuchtet wurden, war die Helligkeit zu hoch. Es fühlte sich an, als würde das Display durchbrennen .)
Ich habe keine Lust, andere Mittel auszuprobieren. Dies war ein so einfaches Projekt. Aber dieses große Siebensegment ruiniert alles. Kann mir jemand dabei helfen...
Das ist nicht richtig, und Sie haben Glück, dass das Display 9 V benötigt, sonst wäre es in Rauch aufgegangen.
Erstens sind die LEDs parallel zu den Widerständen: Ihre Emitter gehen sowohl zu LEDs als auch zu Widerständen, und ihre anderen Anschlüsse sind geerdet. Sie brauchen sie in Reihe.
Dann ist Ihre Schaltung eine gemeinsame Kollektorschaltung. Einer der Nachteile ist, dass es keine Last höher als die Steuerspannung treiben kann - 0,7 V, das sind 4,3 V, zu wenig für die LEDs. Hier haben Sie Glück, wenn es 3-V-LEDs wären, wären sie ohne Strombegrenzung angesteuert worden magischer Rauch.
Es gibt keine einzelnen LEDs, die mit 9 V arbeiten. Da es sich um ein großes Display handelt, werden für jedes Segment 4 LEDs in Reihe geschaltet, um eine gleichmäßige Beleuchtung zu gewährleisten. Bei 2,2 V pro LED kommt man in die Nähe von 9 V.
Der üblichere Weg besteht darin, sie mit einem gemeinsamen Emitter anzusteuern. Das ist Emitter gegen Masse und LED + Widerstand in Reihe auf der Kollektorseite. Für einen gemeinsamen Emitter benötigen Sie auch Basiswiderstände. 1 kΩ ergibt 4,3 mA, was ausreichen sollte, um den BC547 in Sättigung zu treiben. Sie können auch einen ULN2803 verwenden, bei dem es sich um ein Transistorarray aus 8 Transistoren mit eingebauten Basiswiderständen handelt. Dann benötigen Sie nur ein Teil (außer den Strombegrenzungswiderständen).
Ihre Widerstandswerte sind auch zu hoch. Wenn jedes Segment 9 V benötigt und Ihre Versorgung 12 V beträgt, beträgt der Strom durch ein Segment 3 V / R. Bei 10-kΩ-Widerständen sind das 300 µA, und das ist zu wenig für jede LED. Eine typische 20-mA-LED würde einen 150-Ω-Widerstand benötigen. Überprüfen Sie jedoch das Datenblatt des Displays auf Spannung und Strom.
Der von Michael erwähnte TI TLC5916 ist eine hervorragende Alternative. Er ist dreimal so teuer wie der ULN2803, geht aber mit 1,24 Euro in 1s immer noch nicht ins Geld (Mouser, 1,65 Dollar bei Digikey).
Es verfügt über Konstantstromausgänge, sodass Sie die Vorwiderstände nicht mehr benötigen, die Helligkeit nicht mehr von Schwankungen der Eingangsspannung abhängt und Sie I/Os auf Ihrem Controller sparen, da er seriell angesteuert wird. Sie brauchen nur Datenausgang, Takt und Latch. Der Strom wird mit einem Widerstand eingestellt.
Michael würde immer noch Vorwiderstände verwenden, aber sie sind wahrscheinlich nicht erforderlich. Wenn Sie 20 mA und einen Abfall von 3 V (von 12 V auf 9 V) haben, liefern alle eingeschalteten LEDs weniger als 500 mW, was ein 16-poliger DIP sicherlich bewältigen kann. Bei höheren Strömen oder Eingangsspannungen können sie jedoch eine gute Idee sein.
Ich hatte großen Erfolg beim Betreiben von großformatigen 7-Segment-Anzeigen mit dem TLC5916-Chip von TI. Ein Chip kann ein Anzeigemodul ansteuern, und wenn Sie mehrere Module haben, können die TLC5916-Chips für jedes in Reihe geschaltet werden. Aus Sicht des Mikrocontrollers verbindet sich das Display mit nur wenigen Pins als serielles Schieberegister. Einfache Software kann die Schnittstelle bitbangen, um die Daten für jede Anzeigeaktualisierung auszugeben.
Der TLC5916-Chip kann Displays ansteuern, die an 9 V angeschlossen sind. Es verwendet auch eine Konstantstromtechnik für jedes Segment, um die Helligkeit für alle Segmente gleichmäßig zu halten. Es kann ratsam sein, vor dem Anschließen an die TLC5916-Ausgänge noch einen gewissen Widerstand in Reihe mit jedem Segment zu schalten, um einen Teil des Spannungsabfalls zu teilen und die Verlustleistung im Treiberchip zu reduzieren.
Sie können die TLC5916-Chips von Mouser sowohl im DIP- als auch im SOIC-Gehäusestil erhalten. Dort ist auch das Datenblatt erhältlich.
Für mich reicht ein einfacher Optokoppler.
pic seg output (+)-- 1k---Opto Pin 1 (Diodenanode) *
gnd --------------- an Opto-Pin 2 (Diodenkathode) *
(+9 V bis +15 V) ---1 k-- an Opto-Pin 3 *
Opto Pin 4 an Segment *
Wiederholen Sie das Obige für alle 7 Segmente (A bis G) + Punkt
*
gemeinsame Anzeigekathode ---- zum npn-Kollektor (bc457) *
pic mpx out --5k-- zur npn-Basis *
gnd -------------- zum npn-Emitter
Wiederholen Sie das obige für alle 7-Segment-Anzeigen
NOTIZ *
Jumbo 7-Seg-Display gemeinsames Kathodendisplay *
1 npn-Transistor für jedes Display *
Optokoppler (P620) oder ähnlich (4 Pins) *
jede Zeile steht zwischen zwei Sternchen *
hoffe das ist alles klarer *
Wouter van Ooijen
Anubis
Wouter van Ooijen
stevenvh
Anubis