Hi, auf meiner Platine habe ich eine 7 Segmentazeige in Blau (20mA, 3.7V, gemeinsame Anode). Die Anode der Anzeige ist mit dem Collector eines PNP- Transistors (BC856) verbunden. Die Basis des Transistors ist über einen 4,7K Ohm Widerstand mit einem CPLD verbunden. IO-Spannung des CPLD ist 3,3V. Der Emitter liegt an 3.3V. Die Segmentleitungen (A bis G) sind ebenfalls über 100 Ohm Widerstände mit dem CPLD verbunden. So weit funktioniert auch alles. Nur sind die Segmente der Anzeige ein wenig dunkel. Gibt es da eine Möglichkeit dies zu ändern? Vielen Dank & liebe Grüße marc
Widerstände kleiner machen!?! (Mit dem Messer ein Stück abschneiden ;-)
Hi, also meine Frage war ernst gemeint. Widerstände kleiner ist schon klar. Nur in wie weit verkraftet der CPLD das? Ist ein XL Type. Also das mit dem Messer habe ich mal versucht. Von dem kleiner 0805er ist leider nur ein kleines Häufchen über geblieben. gruß
Sinnvolle Anmerkungen von "Gast" ;) - das mit dem Messer oder: - das mit dem Datenblatt lesen Wobei, Recht hat er ja. Zumindest mit dem Datenblatt.
wenn die anzeige eine flussspannung von 3,7V hat und du dem ganzen nur 3,3V -0.1 UCE anbietest, werden keine 20mA fliessen können!
Hi, das war schon klar das keine 20mA fliessen werden können. Ich dachte die Anzeigen würden auch mit weniger noch ausreichend leuchten. Aber das die so dunkel sind dachte ich dann nicht. Gibt es eine Möglichkeit die wenigstens noch ein bisschen heller zu bekommen? Gruß marc
NEIN!!!!! wenn du nicht mehr spannung zur verfügung hast geht dass nicht!
Ist der CPLD 5V-tolerant, respektive bietet er 5V-fähige OpenDrain-Anschlüsse? Wenn ja, dann die Displayverschaltung mit 5V speisen, das gilt auch für die Ansteuerung der BC856. Ansonsten bleibt nur die Verwendung von grünen oder roten Displays. Oder komplett externe Leistungstreiber verwenden - mit 5V-Versorgung. Gruß Jadeclaw.
du kannst doch + mit nem logic level Fet schalten und an - ULN Treiber ran. Dann muß dein CPLD nix treiben udn du kannst für die Leds z.B. 5V oder was halt da ist benutzen.
Also wenn ich den Widerstand vor einer LED berechne, dann geht das in der regel doch so: Rled=(Vcc-Vled)/Iled In Deinem Fall also Rled=(3.3V-3.7V)/.02A=-20R Du musst also einen -20R Widerstand einsetzen und schon wird das Display mit optimaler Helligkeit betrieben... Lösung A: Du erfindest eine negativen Widerstand und verdienst einen Nobelpreis Lösung B: Du akzeptierst einen geringen Helligkeitsverlust und setzt einen Treiber aus der ULN-Serie zwischen die Segmente und das CPLD und verringerst die Widerstände auf einen Wert, der lediglich der Verhinderung von Sauereien auf der Versorgung dient, also etwa 10R. Lösung C: Gibt es nicht, hättest Du aber finden können, weil es extra unter dem Titel "XAPP805 - Driving LEDs with Xilinx CPLDs" eini PDF gibt, dass das Ansteuern von LEDs mit Xilinx CPLDs erklärt und man darin auch gleich sehen kann, dass die Dinger nur 8mA pro Pin / Sink abkönnen. Ich schlage Lösung B vor oder Du experimentierst mal mit einer Versorgung von 5V allein für das Display und Widerstände für 8mA. Eventuell bekommt Deine Schaltung ja eine konstante Spannung vor Deinem Regler, die 5V+3.7V=8.7V nicht überschreitet, dann kann das CPLD mit Vorwiderstand direkt das Display treiben ( aber nur mit max 8mA) oder man setzt noch einen ULN dazu und hat die vollen 20mA zur Verfügung. Gruß, Ulrich
Hi, vielen Dank Ulrich. War das mit dem ULN so gemeint wie im Anhang? Gruß marc
Hi, dann verbessere mich doch bitte mal. jeder halt mal klein angefangen und alles kann man auch nicht wissen...
@ marc (Gast) Messe erst nochmals die spannung bei einen angesteuerten segment an der Anode und segment. Es werden vieleicht nur 3-3,1 V sein. datenblatt lesen welche leuchtstärke dann max möglich ist. alle segmente an ,auch messen( nur zum vergleich) der Weg ist das ziel. (besser U=5V) MfG
vereinfacht gesagt : Der ULN ist so eine Art Treiber ("Verstärker"), der die kleine Spannung und Strom vom CPLD als Eingang hat und als Ausgang richtig Power hat. Darum hat er auch eine eigene Stromversorgung. Die Is sind die Eingänge, die Os die Ausgänge. Schau Dir mal das Datenblatt an, es ist leider für Anfänger ein bißchen schwer zu verstehen.
im beitrag von Ulrich P. wurde alles gesagt. um das ganze noch zuretten (???? ohne große hardware änderung ???????) würde ich einen spannungwandler beschaffen der aus den 3,3V 5V erzeugt. dann eine z-diode(2,4V) in die basis-leitung schalten, sonst sperrt der tansistor nicht mehr oder er zerstört sogar die schaltung davor(µc?). die segment-vorwiderstände neu berechnen und austauschen (formel ist auch schon da) oder wirklich einfach eine ROTE anzeige wählen!!!!!
@madler (Gast) macht ihn nicht "meschucke" ULN benötigt nicht immer eigenene Versorgungsspannung. Nur zur Klärung für die welche klären wollen. MfG
Ok, ein Stufe langsamer, aber im grunde ist alles gesagt: Die Anzeigen haben gemeinsame Anode, d.h. hier kann jeweils ein eigener Transistor genommen werden um bei einem Multiplex-Verfahren eine Stelle aktiv zu schalten. Die Kathoden werden ja von allen Stellen parallel geschaltet. D.h. hier müssen 8 Transistoren (7 ohne Dezimalpunkt) den Strom, der über die aktive Anode und das zu aktivierende Segment herein kommt, nach GND ableiten. Anstatt nun einzelne Transistoren einzusetzen, weil das CPLD nicht genug Strom schalten kann, kann man eben einen passenden ULNxy einsetzen, der bereits den Transistor nebst passender EIngangsbeschaltung für TTL/CMOS beihaltet, es spart also die Transistoren und die nötigen Vorwiderstände für selbige. Naja, wenn man mal nach DCF77 oder Digitalwecker oder so googelt, dann findet man diese Art Beschaltung massenweise. Du musst dann nur die darin eher vorhandenen Microcontroller gegen das CPLD tauschen und die Software anstatt in Assembler oder C eben in VHDL oder Verilog programmieren. Merke: Blaue LED + 3.3V != Einfach Gruß, Ulrich
Weiter oben steht: "wenn die anzeige eine flussspannung von 3,7V hat und du dem ganzen nur 3,3V -0.1 UCE anbietest, werden keine 20mA fliessen können!" "Hi, das war schon klar das keine 20mA fliessen werden können. Ich dachte die Anzeigen würden auch mit weniger noch ausreichend leuchten. Aber das die so dunkel sind dachte ich dann nicht. Gibt es eine Möglichkeit die wenigstens noch ein bisschen heller zu bekommen?" => Restlichtverstärker ? Gruss
Nicht_neuer_Hase wrote: > wenigstens noch ein bisschen heller zu bekommen?" > > => Restlichtverstärker ? :-) Könntest du mal vorbeikommen und das Cola von meinem Monitor wischen, dass ich da in ganz kleinen Tröpfchen versprüht habe?
Ich setzte ab und zu mal blaue LED's mit 3.3V ein. Es gibt auch welche mit kleinerer Flussspannung, aber die sind halt was teurer. bis 3V Flussspannung geht noch rel. gut. Gruss
Hi, so ich war jetzt erstmal krank. Grippe :-( Mit der Gefahr das ich gleich wieder "Gesteinigt" werde ;-), anbei der überarbeitete Schaltplan des gesamnten Projekt. Wär nett wenn ihr mal drüber gucken würdet. Gruß & Danke marc
Hi, sorry. war nicht böse gemeint mit dem "Steinigen". Ich weiss doch ihr wolltet mit alle nur helfen. Das finde ich auch gut. Respekt an euch dass ihr euch die Ziet dafür genommen habt. Vielen Dank. Ohne euch würde ich bestimmt immer noch über einer Lösung grübeln. So habe ich jetzt erstmal meinen Schaltplan überarbeitet (s. einen Post über diesem) und lasse dann eine neue Platine fertigen. Gruß
Du hast jetzt garkeine Vorwiderstände mehr an den LEDs? Dann werden die zwar heller, aber nur kurz. Also nach dem ULN noch 7 Widerstände einplanen.
Von ner gemultiplexten Anwendung war hier bisher nicht die Rede. Lösungsvorschläge: -für jedes Display ein Latch vorsehen welche auch den Segmentstrom schafft. -Wenn keine Latch zur Verfügung stehen, kann man auch Latch-7-Segment-Dekoder nehmen und die dann latchen. -Alternativ das Impuls/Pausen-Tastverhätniss ändern (Bringt wahrscheinlich nichts,trotzdem wollte ich es nicht unerwähnt lassen). -Blaue Pexiglasscheibe auf das Displays montieren die den Kontrast verbessert. -Betriebspg. für die Display`s erhöhen (wie hier schon gepostet) (Dann werden Vorwiderstände für die Segment vonnöten sein.)
Hi, mhm. Gut die Vorwiderstände am ULN hab ich wohl unterschlagen. Muss denn unbedint ein Latch rein? Gruß marc
>Die Latches wären dann statt der Transistoren? Ne, für die Segmentleitungen für jedes Display. Während der CPLD den Multiplex durchführt und die Latches refresht würden die Latches direkt über Vorwiderstände(falls erforderlich) die Displays direkt treiben. Damit wäre das Multiplexen zwar eigentlich unnütz, es sei denn man hätte keine Schaltungsresourcen mehr zur Verfügung. Man spart durch das Multiplexen also nur Verdrahtungsaufwand. Man kann auch den CPLD unter Ausnutzung seiner Resourcen ihn mit dem direkten treiben der Displays beschalten. Evtl. über ext. Treiberbausteine bei Wärmeproblemen. Man sollte vlcht erstmal eine zufriedenstellende Leuchtstärke der Display durch Änderung der Signale herbeiführen um dann ein gescheite Lösung zu finden. Empfehlenswert scheint mir die Betriebspannungsproblematik und die Multiplexproblematik mal genauer zu untersuchen. Vor allem das zeitliche Signalverhalten im Verhältniss zur Leuchtstärke scheint mir noch klärungsbedürftig, könnte also etwas bringen. Am einfachsten wäre ein einzelnes Display über einen Treiber per Funktionsgenerator anzusteuern, sowohl in der Frequenz, wie auch im Impuls/Pausen-Verhältniss die Leuchtstärke zu begutachten und aus den gewonnenen Erkenntnissen die Schaltung dann zu optimieren. Wenn kein Funktionsgenerator zur Verfügung steht kann man mit nem 555 auch schnell mal eine Funktionsschaltung zusammenbasteln. Ne brauchbare Schaltung gibt`s bestimmt im Web. Wenn an den Transistoren nur wenig Spg abfällt kannste die so lassen oder benutze Fet`s mit geringeren Spg.-abfall. Unter Umständen zählt jedes mV.
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.