Hallo Bastlerkollegen, in einer Neuauflage eines SMD-Reflowofen-Bastelprojekts werde ich zur Ausgabe diverser Datenwerte (z.ß. Soll- und Isttemperatur) cirka 20 rote, grüne und auch gelbe Siebensegmentanzeigen einsetzen. Die Daten werden natuerlich von einem Mikrocontroller bereitgestellt, die Auswahl des aktiven Siebensegmentbausteins geschieht unter Zuhilfenahme eines 16-aus-4-Decoderchips. Die anzuzeigenden Daten werden parallel übertragen; hier wollte ich ursprünglich einen BCD-zu-7Segment-IC einsetzen, jedoch war bei den ersten Gedanken an das Projekt ja auch nicht an Textausgabe zu denken, inzwischen soll es noch benutzerfreundlicher werden ;-) Wie dem auch sei, die übertragenen Daten werden sogleich in einem 74LS373 gelatcht. Jede Anzeige bekommt ihr eigenes Latch-IC, von multiplexen halte ich bei einem Ofenprojekt mit über einem kW Anschlußleistung nicht viel - hier beim vergleichsweise geringem Anzeigestrom sparen zu wollen grenzt meiner Meinung nach an Vermessenheit. Jedenfalls habe ich vor, jedes einzelne Segment vom Latch aus mittels eines geeigneten Transistors der Bauform SOT-23 vom Latch aus anzusteuern, da das Latch zwar einen geeigneten Basistrom dazu liefern würde, für die direkte Speisung der Anzeigen jedoch dann doch etwas zu schmalbrünstig ist. Nun endlich komme ich auch zu meiner Frage: Warum macht das niemad so? Ich habe diverse aufbauten gesehen, wo nur der gemeinsame Anschluß (egal ob Anode oder Kathode) eines Anzeigebausteins mittels Transistor angesteuert wurde, jedoch scheint es wenige Menschen zu geben, die sich einen Transistor für jedes einzelne Segment gönnen. Hat dies nur irrationale Gründe oder übersehe ich bedeutende schaltungstechnische Schwierigkeiten, die es im Vorfeld eliminieren zu gilt? Lieber Gruß und Dank im Voraus, Iwan
>Warum macht das niemad so?
Weil es Blödsinn ist?
Hallo, bei der größe des Projektes würde ich wohl in 3x MAX7221 investieren und passende Anzeigen dazu nehmen... Gruß aus Berlin Michael
Иван S. wrote: Jede Anzeige bekommt ihr eigenes Latch-IC, von > multiplexen halte ich bei einem Ofenprojekt mit über einem kW > Anschlußleistung nicht viel - hier beim vergleichsweise geringem > Anzeigestrom sparen zu wollen grenzt meiner Meinung nach an > Vermessenheit. Du hast nicht den Sinn des Multiplexens verstanden. Man versucht nicht damit Strom zu sparen, sondern Bauteile. Eine gemultiplexte Anzeige benötigt viel weniger Bauteile als eine statische Anzeige. Bei ein paar 7-Segmentanzeigen ist das vielleicht noch uninteresannt... aber bei einem Dotmatrixmodul macht das schon einen großen Unterschied. Gruß, SIGINT
> Jedenfalls habe ich vor, jedes einzelne Segment vom Latch aus mittels > eines geeigneten Transistors der Bauform SOT-23 vom Latch aus Im Normalfall reicht der Strom aus dem Gatter doch aus, um ein Segment zu betreiben. Es müssen ja nicht die vollen 20mA sein - gerade dann nicht, wenn noch ein optisches Filter (aka. buntes Glas=) davorsitzt. Und das Multiplexen spart einfach Bauteile und damit Platz und Geld. Merke: Was in C nicht geht, muss gelötet werden. Warum eigentlich lauter diskrete Treiber und keinen ULN2803? Das seh ich von hier aus schon, dass der wunderbar auf deine Platine passt ^^ Grüße, holli
Also, 74LS373, das ist Steinzeittechnik. Zumindest "HC" Technik sollte es sein. Wenn man "low current" Anzeigen nimmt, die mit 2 mA ordentlich leuchten, spricht nichts dagegen, eine non-Mux Lösung zu machen. Allerdings dann von den HC-Latches direkt die Segmente ansteuern, dafür sind keine Transistoren nötig (aber jeweils Widerstände). Vom Verdrahtungsaufwand geschickter sind die bekannten Schieberegister 74HC595, mit nur 3 durchlaufenden Ansteuerleitungen und ohne Adressdecoder und weitere Logik zu verwenden (für beliebige Stellenzahl). Die Software muss dann zwar seriell ausgeben, aber die Routine ist einfach erstellbar. Beispiele zuhauf durch Suche hier um Forum nach 74hc595 . Für jedes Segment (7+DP) wird eines der 74hc595 sowie 8 Widerstände bzw. 2x 4er Netzwerk-R (8-Pin, Einzelwiderstände) benötigt. Alles aus z.B. 5 Volt versorgen ; max. Summenstrom bei Netzteilauslegung beachten; Pufferkondensatoren 100nF an jedem IC und zusätzlich 2x 100uF Elko auf der Anzeigeplatine.
Hallo nochmal, erstmal vielen Dank für eure bisherigen Beiträge und Denkanstöße, einiges hat mir auch bei einer so simplen Thematik wie der Ansteuerung einiger Siebensegmentanzeigen neue Horizonte offenbart; außzugsweise möchte ich hier einiges zitieren (Etwaige Rechtschreib- und Verständnisfehler verzeihe man mir bitte zu dieser Zeit ob des übermässigen Bierkonsums): Michael H. schrieb (zum Latching-Thema und zu den Transistoren): > Im Normalfall reicht der Strom aus dem Gatter doch aus, um ein Segment > zu betreiben. Es müssen ja nicht die vollen 20mA sein - gerade dann > nicht, wenn noch ein optisches Filter (aka. buntes Glas=) davorsitzt. Lieber Holli, ich habe mir nochmal das Datenblatt meines 74LS373 von TI durchgelesen, je mehr ich darüber nachdenke, desto mehr verwirrt es mich: Ich verwende (größtenteils) Bausteine mit gemeinsamer Kathode. Der 373 gibt als High-Pegel nominell 5V aus, allerdings sagt das Datenblatt auch, daß dar High-Level-Output-Strom -2,6mA betragen würde. Davon abgesehen daß 2,6mA bei weitem zu wenig für meine Anzeige wäre frage ich mich, woher dieses Minus kommt - der Ausgang ist Positiv aber eine Stromsenke? Hier steige ich aus! Bei Low würde der Baustein zwar "brauchbare" 24mA (hier jedoch positiv) liefern, jedoch nur bei einer maximalen Spannung von 0,4V - definitiv zu wenig für meine Segmente. Je mehr ich darüber nachdenke, desto eher scheint es mir, ich hätte ein ungeeignetes Latch im Lager. Hast du eventuell ein geeignetes Latch im Kopf, das bei High 3,3 oder 5 Volt an den Ausgang legt und einen Strom von rund 20mA treiben könnte (in die richtige Richtung), also ein Verhalten an den Tage legen würde welches auch der unerfahrene Anwender erwarten würde? > Warum eigentlich lauter diskrete Treiber und keinen ULN2803? Das seh ich > von hier aus schon, dass der wunderbar auf deine Platine passt ^^ Stimmt, soetwas würde prima passen. Ich möchte hier jedoch meine kleinen NPN-Transistoren in SOT-23 verbauen, da ich sonst eigentlich wenig Verwendung an dieser Restmenge, welche im übrigen zufälliger Weise - und darum setze ich sie hier auch ein - der benötigten Stückzahl entspricht. Sigint 112 wrote (zum Multiplexen): > Du hast nicht den Sinn des Multiplexens verstanden. Man versucht nicht > damit Strom zu sparen, sondern Bauteile. Hallo SIGINT, eigentlich wollte ich anfangs multiplexen um Leitungen zu sparen, darin sehe ich den primären Vorteil. Allerdings wollte ich zu Beginn auch nur Zahlenwerte darstellen, damit hätte nämlich ein 8 Bit breiter Bus genügt: Einen 16-aus-4-Decoder zur Adressierung und ein BCD-zu-Siebensegment-IC für die Ansteuerung der Segmente. Jedoch wollte ich immer mehr Funktionalität in das Gerät bringen, jetzt benötige ich schon zwei 16-aus-4-Decoder zu Adressierung und will sowiso Alphanumerisch ausgeben können, brauche also schon zwei Ports. > Eine gemultiplexte Anzeige benötigt viel weniger Bauteile als eine > statische Anzeige. Die paar Latches, wohlgemerkt Centartikel, die sowiso früher oder später weg müssen, machen das Kraut auch nicht mehr fett. Ohne auf eine serielle Übertragung umzusteigen bringt mir das Multiplexing auch keinen Verdrahtungsvorteil mehr, weswegen ich mich im Endeffekt auch dazu entschlossen habe, es doch statisch zu implementieren. > Bei ein paar 7-Segmentanzeigen ist das vielleicht noch uninteresannt... > aber bei einem Dotmatrixmodul macht das schon einen großen Unterschied. Klar, bei einem Punktmatrix-Modul würde auch ich multiplexen. Aber eben, wegen den paar Anzeigen, bei denen es keinen ersichtlichen Vorteil gibt... gast wrote: > Vielleicht hat der Benutzer einen ARM oder ähnliches, was keine Leds > treiben kann. Hallo gast, als Controller gedenke ich einen MSP430 - derzeit meine Lieblingscontroller-Familie - einzusetzen. Klaus wrote: > Also, 74LS373, das ist Steinzeittechnik. Hallo Klaus, wenn man damit argumentiert könnte man gleich von der Verwendung der Logikreihen zurückschrecken. Allerdings könntest Du schon recht haben, immerhin bin ich selbst schuld, da ich mich zu schlecht informiert hatte, bevor ich eingekauft hatte. Der wesentlich geringere Preis des LS gegenüber dem HC hatte mich an diesem Tag soweit geblendet, daß ich es auch nicht mehr der Mühe wert gefunden hatte, mich in die grundelegenden Unterschiede der Technologien, geschweige denn in die Datenblätter, einzlesen. > Zumindest "HC" Technik sollte es sein. Gehe ich recht in der Annahme, daß beim 74HC373 der Strom auch mit "richtiger" Polarität ausgegeben wird? Immerhin finde ich nirgends eine negatives Vorzeichen beim Output-Current in den Datenblättern der Hersteller. Anscheinend habe ich einfach in die falsche Technologie investiert (=Lehrgeld). > Wenn man "low current" Anzeigen nimmt, die mit 2 mA ordentlich leuchten, > spricht nichts dagegen, eine non-Mux Lösung zu machen.
1 | SELECT "MANUFACT","MANUCODE","DESCR","CASE","IMAX" FROM ECOMPONENTS WHERE "TYPE" LIKE '7SEGMENT'; |
2 | MANUFACT | MANUCODE | DESCR | CASE | IMAX |
3 | ------------+-------------+----------------------------------------------------- |
4 | KINGBRIGHT | SC56-11GWA | 7-Segment LED-Display, Common C, green, 0,56in |
5 | (14,2mm), 2,2mcd | THT-UNDEF/RM2.54 | 0,02 |
6 | KINGBRIGHT | SC56-11SRWA | 7-Segment LED-Display, Common C, HE-red, 0,56in |
7 | (14,2mm), 5,6mcd | THT-UNDEF/RM2.54 | 0,03 |
8 | AVAGO | HDSM-281F | 7-Segment LED-Display, Common A, yellow, 0,28in |
9 | (7,0mm), 8,0mcd | SMD-UNDEF/RM1.27 | 0,025 |
Also nicht gerade Stromspar-Varianten. Aber man gönnt sich ja sonst nichts, also werde ich auch hier nicht multiplexen. > Allerdings dann von den HC-Latches direkt die Segmente ansteuern, dafür > sind keine Transistoren nötig (aber jeweils Widerstände). Die passenden Vorwiderstände habe ich natürlich. Mein lokaler Elektronik-Dealer war so freundlich, mir einen 180R-1000er-Streifen für einen Fünfer zu überlassen, die sollten passen. Ausserdem habe ich wieder einigermaßen günstige 373-Latches bei meinem Hausdistributor gefunden, diesmal in HC. Allerdings vermag dieser nur 6mA zu liefern, ich werde also doch in den Genuß kommen, meine Transistoren einsetzen zu können. > Vom Verdrahtungsaufwand geschickter sind die bekannten Schieberegister > 74HC595, mit nur 3 durchlaufenden Ansteuerleitungen und ohne > Adressdecoder und weitere Logik zu verwenden (für beliebige Stellenzahl). Dieses bekannte Schieberegister war mir persönlich nicht bekannt, in Zukunft werde ich diesen nützlichen Baustein bei solchen Vorhaben jedoch sicher berücksichtigen. An einem verregneten Wochenende im Sommer werde ich mich mal genauer mit den Logikreihen befassen, da ich vermute, daß dort noch weitere Schätze aller Art auf mich warten würden. > Die Software muss dann zwar seriell ausgeben, aber die Routine ist > einfach erstellbar. Das wäre wohl das geringste Problem, ein freier Pin zum Bit-Banging findet sich wohl in den meisten Fällen. Michael U. wrote: > bei der größe des Projektes würde ich wohl in 3x MAX7221 investieren und > passende Anzeigen dazu nehmen... Hallo Michael, der Baustein sieht interessant auch, auch den kannte ich bis dato nicht. Schade, daß er von MAXIM ist, da weiß man leider nie, ob und wenn ja, wie lange etwas beschaffbar ist. Vermutlich gibt es solche ICs jedoch auch von anderen Herstellern und auch für Leuchtelemente mit gemeinsamer Anode; für spätere Projekte werde ich soetwas vermutlich bestgimmt früher oder später einsetzen. Danke für den Tip. Gast wrote: >> Warum macht das niemad so? > Weil es Blödsinn ist? Ach, und warum? Zwar hast Du als Erster geantwortet, der Informationsgehalt deiner Mitteilung konvergiert jedenfalls stark gegen Null. Die anderen Schreiber haben mir mitgeteilt - zumindest habe ich das so aufgefasst - daß mein Vorhaben so abwegig gar nicht ist. Prinzipiell glaube ich daher, auf dem richtigen weg zu sein. Hier also mein ausdrücklicher Dank an die Kollegen, die mir weitergeholfen, meinen Horizont erweitert und auch alternative Lösungswege vorgeschlagen haben. Gruß aus dem OOE-Zentralraum, Iwan Lokomofeilowitsch
@Iwan OT: Deine gestelzte Ausdrucksweise bläht Deine Texte ziemlich auf. Das ist die Kunst, mit vielen Worten nichts zu sagen, wie sie auch von Politikern und VWL/BWL-"Spezialisten" gepflegt wird. Weniger weitschweifig wäre mehr... gez. Katapulski
Tipp an Иван S. bevor Du lange rätselst: Mache mal einen Versuch und betreibe ein Segment mit 5mA. Du wirst staunen. Damit passt die Vorgehensweise auch wieder mit dem direkten Anschluss an das HC-Latch. Wegen ein paar mA hin oder her tut eh keiner rum. Du musst bedenken, dass die Stromentnahme eines Logikbausteins so angegeben wird, dass die Logikpegel für nachfolgende Logikbaugruppen innerhalb der Spec liegen. Was aber Du da anschliesst, merkt den Unterschied nicht. Allerdings hast Du Dich ja bereits mit Material eingedeckt. Gemeinsame Kathode heisst dann aber PNP-Treiber.
Katapulski wrote: > @Iwan > > OT: > Deine gestelzte Ausdrucksweise bläht Deine Texte ziemlich auf. Das ist > die Kunst, mit vielen Worten nichts zu sagen, wie sie auch von > Politikern > und VWL/BWL-"Spezialisten" gepflegt wird. > > Weniger weitschweifig wäre mehr... So verschieden können Menschen sein. Ich freue mich darüber, wenn sich hier mal jemand die Mühe macht zu formulieren. Und "Gruß aus dem OOE-Zentralraum" gefällt mir sowieso :) Axel
Иван S. wrote: > Michael H. schrieb (zum Latching-Thema und zu den Transistoren): > abgesehen daß 2,6mA bei weitem zu wenig für meine Anzeige wäre frage ich Da gibts es einige Anzeigen, die damit wunderbar leuchten. Und probier mal ein optisches Dilter davor - ich war von dem Effekt damals sehr erstaunt. Und so um die 5mA gehen aus einem HC Gatter auch raus. Oder hast du die LS etwas schon daheim? > "brauchbare" 24mA (hier jedoch positiv) liefern, jedoch nur bei einer > maximalen Spannung von 0,4V - definitiv zu wenig für meine Segmente. Da stimmt jetzt was nicht. Je mehr Strom aus einem Gatter kommt, desto größer die Abweichung vom "Soll"-Wert. Deine Spannung von 0,4V steigt also mit dem Strom. Dass da jetzt negativ gezählt wird, würde mich nicht weiter stören. Das hat bestimmt seinen Grund (das 74373 is ein inverting Latch, evtl deswegen). Trotzdem wird das Gatter bei high keine Senke sein.
@ Michael H* (-holli-) >Und so um die 5mA gehen aus einem HC Gatter auch raus. Die HC schaffen 20mA und mehr. Siehe http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Acht_LEDs_mit_je_20mA_pro_Schieberegister >Da stimmt jetzt was nicht. Je mehr Strom aus einem Gatter kommt, desto >größer die Abweichung vom "Soll"-Wert. Deine Spannung von 0,4V steigt >also mit dem Strom. > Dass da jetzt negativ gezählt wird, würde mich nicht >weiter stören. Das hat bestimmt seinen Grund (das 74373 is ein inverting >Latch, evtl deswegen). Nein, das ist schlicht das Verbrauherpfeilsystem. Strom der in den IC reinfliesst ist positiv, der herausfliesst negativ. > Trotzdem wird das Gatter bei high keine Senke >sein. Nöö, wäre auch reichlich komisch. Die Idee und reale Messung die dahinter steht ist einfach. Man schliesst einen Widerstand an GND und den Ausgang an und misst den Strom, der bei HIGH aus dem IC herrausfliesst und die Spannung, die dabei noch am IC verfügbar ist. Für LOW macht man es umgekehrt, man schliesst den Widerstand an Vcc an. MFG Falk
Falk Brunner wrote: > Die HC schaffen 20mA und mehr. Siehe Dacht ich mir auch gleich. Aber das erste DB von HC, das ich in den Fingern hatte, meinte, dass nach knapp 6 Schluss sei. Daher war ich vorsichtig. Zumal 5mA bei 7-Segment auch ordentlich hell macht. > Nein, das ist schlicht das Verbrauherpfeilsystem. Strom der in den IC ^^^^^^^^^^^^^^^^^^^^^ DANKE! Das war genau das Stichwort, auf das ich nicht gekommen bin!
Übrigen hat der Herr Iwan Lokomofeilowitsch als erster eine Lok aus einem massiven Stück Eisen gefeilt. Also Hochachtung vor dem Mann, der Name ist Urheberrechtlich geschützt. MfG
Иван S. wrote: > Wie dem auch sei, die übertragenen Daten werden sogleich in einem > 74LS373 gelatcht. Jede Anzeige bekommt ihr eigenes Latch-IC Na dann fröhliches Layouten, der 373 hat nämlich ein bescheuertes Pinning. Parallele Ansteuerung kann man machen, aber dann mit dem 74HC595. Dann wird das Layout viel einfacher, weil man nur 3 Leitungen braucht und sie kaskadieren kann. Man muß ja nur ein Digit layouten und dann copy&paste, fertig. Die Adreßdekoder entfallen auch. Schmeiß die 74LS373 in den Müll, und kaufe für die eingesparte Layoutzeit die 74HC595. 180 Ohm ist zwar etwas klein, aber ich würde trotzdem keine Treibertransistoren ver(sch)wenden. Peter
> Die Adreßdekoder entfallen auch. > > Schmeiß die 74LS373 in den Müll, und kaufe für die eingesparte > Layoutzeit die 74HC595. Und wenn du schon dabei bist, dann schmeiss auch gleich die BCD-Dekoder hinterher. Die braucht kein Mensch. Sowas kannst du viel flexibler auch in Software machen. > Allerdings wollte ich zu > Beginn auch nur Zahlenwerte darstellen, damit hätte nämlich ein 8 > Bit breiter Bus genügt: Einen 16-aus-4-Decoder zur Adressierung > und ein BCD-zu-Siebensegment-IC für die Ansteuerung der Segmente. > Jedoch wollte ich immer mehr Funktionalität in das Gerät bringen, > jetzt benötige ich schon zwei 16-aus-4-Decoder zu Adressierung und > will sowiso Alphanumerisch ausgeben können, brauche also schon > zwei Ports. Siehst du. Mit einer kaskadierten Kette aus 595 brauchst du ganze 3 Leitungen und kannst nahezu beliebig viele Anzeigen ansteuern. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister Der Aufbau ist simpler als bei deiner Lösung, man kann sich zb 4 stellige Anzeigen als Modul machen, die einfach aneinandergestöpselt werden und niemand muss irgendwo irgendwelche Adressdekoder einstellen, weil alle Module identisch sind und die Auswahl welcher Wert auf welche Anzeige geht rein per Software machbar ist.
Eddy Current wrote: > bevor Du lange rätselst: Mache mal einen Versuch und betreibe ein > Segment mit 5mA. Du wirst staunen. Da hier die Mehrheit meint, ich solle es wirklich einmal mit einem direkten Anschluß probieren, werde ich mal ein Segment jeder Farbe nächstes Wochenende mit wenig Strom antesten. > Was aber Du da anschliesst, merkt den Unterschied nicht. Für den Extremfall habe ich ausserdem einen Trimmer am speisenden adjustierbaren Spannungsregler (und für's Feintuning einen extra pro Farbe und Zeile) spendiert, da kann ja gar nichts mehr schiefgehen. > Allerdings hast Du Dich ja bereits mit Material eingedeckt. Gemeinsame > Kathode heisst dann aber PNP-Treiber. Gut daß Du mich erinnerst, ich brauch noch PNP-Transistoren. Danke! Michael H* wrote: > Da gibts es einige Anzeigen, die damit wunderbar leuchten. Und probier > mal ein optisches Dilter davor - ich war von dem Effekt damals sehr > erstaunt. Sowas ist jedoch bestimmt nicht ganz billig. Muß mal nachsehen! > Und so um die 5mA gehen aus einem HC Gatter auch raus. Oder hast du die > LS etwas schon daheim? Ich hab jetzt nochmal nachgeschaut: Lagernd habe ich komischer Weise den 74LVC373, die Datenbank hat jedoch LS373 ausgeworfen, da muß ich mich beim Eingeben anscheinend vertan haben. Sinniger Weise habe ich im Datenblatt-Folder auch das DB vom LS373 gespeichert, sonst wär's mir wohl schon früher aufgefallen. Jetzt hab ich erst den schwarzen Peter: Das LVC hat eine Recommended Operation Supply Voltage von 3,6V maximum. Allerdings meinen die Maximum Ratings, daß es auch 6V verkraften könnte. Mit HC müsste ich mir solche Gedanken jetzt nicht machen, allerdings waren die LVCs damals ja sooo günstig, daß ich nicht widerstehen konnte. > das 74373 is ein inverting Latch, evtl deswegen Hoffentlich hast Du hier unrecht, AFAIR ist der 563 der invertierende. Falk Brunner wrote: > Nein, das ist schlicht das Verbrauherpfeilsystem. Strom der in den IC > reinfliesst ist positiv, der herausfliesst negativ. > Nöö, wäre auch reichlich komisch. Die Idee und reale Messung die > dahinter steht ist einfach. Man schliesst einen Widerstand an GND und > den Ausgang an und misst den Strom, der bei HIGH aus dem IC > herrausfliesst und die Spannung, die dabei noch am IC verfügbar ist. Für > LOW macht man es umgekehrt, man schliesst den Widerstand an Vcc an. Danke Falk, Du hast mein Weltbild wieder in Ordnung gebracht! Deine Erklärung zur Messung macht Sinn und ist für mich nachvollziehbar. Trotzdem finde ich es irritierend, daß im DB in großer Schrift "Output Current" angegeben wird und daneben eine negative Zahl angegeben wird. Peter Dannegger wrote: >> Jede Anzeige bekommt ihr eigenes Latch-IC > Na dann fröhliches Layouten, der 373 hat nämlich ein bescheuertes > Pinning. Habe ich auch schon gemerkt! Ist dieses Pinning historisch bedingt? Bei TSSOP entfallen auch solche "Bauerntricks" wie Leitungen zwischen Pins zu routen. Ich bin jetzt am Umsteigen nach geda, wenn geda automatisch 0-Ohm-RSMDs setzen könnte wäre das ein Traum für mich. Mein bisheriges Programm (Diptrace) kann das leider auch in der neuesten Beta noch nicht. > Parallele Ansteuerung kann man machen, aber dann mit dem 74HC595. Das ist "pseudoparallel" ;-) denn der 595 selbst wird parallel angefahren. Aber prinzipell hast Du schon recht, seriell hat auch seine Vorteile! > Man muß ja nur ein Digit layouten und dann copy&paste, fertig. So habe ich es eigentlich auch bei meinem Projet vor, die einzelne "Enable"-Leitung pro Anzeige bringe ich schon irgendwie unter. > Schmeiß die 74LS373 in den Müll, und kaufe für die eingesparte > Layoutzeit die 74HC595. Irgendwie wär's doch Schade um die Chips, koennen doch nichts dafür. > 180 Ohm ist zwar etwas klein, Wiso klein? wenn ich von 5V ausgehe (der Spannungsregler kann im Notfall via Trimmer auch etwas mehr) und die Forward voltage der Anzeigen von ungefähr 2V einberechne, so komme ich auf 16,6mA, was für meine 20- bzw. 25mA-Typen eigentlich ganz gut passt. Ausserdem braucht 180 Ohm anscheinend keiner, darum hat sie mir der Typ auch für EUR 5 überlassen. Mit den Tausend sollte ich die nächste Zeit über die Runden kommen. > aber ich würde trotzdem keine Treibertransistoren ver(sch)wenden. Irgendwie stell' ich mir die Platine einfach cool vor, mit den ganzen 0805-Widerständen, den Latches und den vielen Transistoren in SOT-23 . Karl heinz Buchegger wrote: >> Schmeiß die 74LS373 in den Müll... > Und wenn du schon dabei bist, dann schmeiss auch gleich die BCD-Dekoder > hinterher. Die braucht kein Mensch. Sowas kannst du viel flexibler auch > in Software machen. Irgendwann kann ich ihn schon wieder mal brauchen! So ein BCD-Decoder wird bestimmt nicht schlecht. Ausserdem braucht die Softwareentwicklung relativ viel Zeit, ein IC hingegen ist schnell plaziert. > Siehst du. Mit einer kaskadierten Kette aus 595 brauchst du ganze > 3 Leitungen und kannst nahezu beliebig viele Anzeigen ansteuern. Ich bin relativ neu in dem Gebiet und scheue mich daher noch etwas von seriellen Verbindungen. Ich hatte auch noch lange einen Computer mit einem Parallelport, als andere längst auf USB umgestiegen waren. Immerhin konnte ich mich schon mit SPI anfreunden, auch TWI/I²C machtmeiner Meinung nach in gewissen Anwendungsfällen Sinn. > Der Aufbau ist simpler als bei deiner Lösung, man kann sich zb 4 > stellige Anzeigen als Modul machen, die einfach aneinandergestöpselt > werden und niemand muss irgendwo irgendwelche Adressdekoder einstellen, > weil alle Module identisch sind und die Auswahl welcher Wert auf welche > Anzeige geht rein per Software machbar ist. Eigentlich hast ja schon recht, nur erfolgt ja auch bei meinem System die Adressierung in der Software. Wenns richtig verdrahtet ist, brauche ich an den 16-aus-4-Decoder nur z.ß. 0x07 ausgeben und das am Datenport ausgegebene Muster wird an Siebensegmentanzeige Nummer 7 gelatcht und angezeigt. Danke Euch einstweilen, Iwan
Es gibt auch den 74HC595 zusammen mit einem ULN2803 in einem Gehauese http://focus.ti.com/lit/ds/symlink/tpic6a595.pdf Gruss Helmi
Иван S. wrote: > Ausserdem braucht die Softwareentwicklung > relativ viel Zeit, ein IC hingegen ist schnell plaziert. :-) Ich wette mit dir, dass ich das Umcodierarray samt Zugriff schneller programmiert habe, als du den BCD Decoder in der Eagle Library gefunden hast. Von platzieren, anschliessen und routen reden wir mal gar nicht :-) >> Siehst du. Mit einer kaskadierten Kette aus 595 brauchst du ganze >> 3 Leitungen und kannst nahezu beliebig viele Anzeigen ansteuern. > Ich bin relativ neu in dem Gebiet und scheue mich daher noch > etwas von seriellen Verbindungen. In der Beziehung kann ich dich beruhigen. Die Kaskadierung einiger 595 sowie die sofwaremässige Ansteuerung sind deppensicher. > Eigentlich hast ja schon recht, nur erfolgt ja auch bei meinem System > die Adressierung in der Software. Ja, macht ja nichts. Daran wird sich ja nichts ändern. Dein 'Ausgabeport' ist dann nichts anderes als ein Eintrag in einem Array, der den neuen Wert aufnimmt. Sind alle Werte gesetzt, wird der komplette Array-Inhalt auf die 595 hinausgetaktet. Siehs einfach als eine Art Treiberstufe an. Dein eigentliches Programm benutzt immer noch die Konvention: am Display 2 den Wert 138 anzeigen. Die erste Treiberstufe verteilt die Zahl 138 auf die einzelnen Digits und holt für jedes Digit das Bitmuster dafür, welches sie im Array aller Anzeigen beim richtigen Digit der Anzeige 2 einträgt. Dann kommt der Treiber, der dafür sorgt, dass die realen Digits ihren gespiegelten Kopien im Speicher nachgeführt werden. Wenn diese Nachführaktion zb. in einem regelmässigen Interrupt gemacht wird, ist das sogar extrem komfortabel in der Programmierung: Du hast ein paar Variablen im Programm, deren Inhalt 'magisch' völlig automatisch an der Anzeige auftaucht. Sozusagen: memory-mapped 7-Segment Anzeigen. Aber hey, jeder wie er mag :-)
>Ich wette mit dir, dass ich das Umcodierarray samt Zugriff schneller >programmiert habe, als du den BCD Decoder in der Eagle Library gefunden >hast. Von platzieren, anschliessen und routen reden wir mal gar nicht >:-) Ja, du musst aber noch die Entwicklungszeit deines Helferleins berücksichtigen... ;-))
Eddy Current wrote: > Allerdings hast Du Dich ja bereits mit Material eingedeckt. Gemeinsame > Kathode heisst dann aber PNP-Treiber. Hallo Eddy Current, ich habe nochmal über die Ansteuerung der Segmente nachgedacht. Je mehr ich darüber nachdenke, desto mehr komme ich ins Grübeln, dabei war anfangs doch alles so schön einfach. Ich hätte bei den Transistoren doch besser aufpassen müssen. PNP ist jedenfalls schlecht, da ich dazu einen negativen Basistrom brauche. Dann muß ich aber wieder bei der Ansteuerung invertieren, brauche also zwei Tabellen für die Segmente im uC. Erste Variante: Gemeinsame Anode + NPN-Transistor: Anode an Plus, Segmentkathode an Kollektor, Emitter an Masse. So weit klar. Nun zur gemeinsamen Kathode: Kann ich da nicht einfach einen NPN nehmen und eine Kollektorschaltung machen? Also Common Kath an Masse, Kollektor an Plus und Emitter an die Segmentanode. Müsste doch eigentlich funktionieren, meine paar Zehntel mA Basisstrom sind für die LED eigentlich irrelevant oder übersehe ich etwas wichtiges. Alternative mit PNP: Emitterschaltung mit Kathode an Masse. Vor (von der Anteuerungsseite her gesehen) dem PNP ein NPN, dessen Kollektor den Basisanschluß des PNP darstellt. Allerdings habe ich keine Ahnung, wie ich das ganze dann noch berechnen soll. Ausserdem wird der Schaltungsaufwand dann noch ein bisschen größer. Aber was tut man nicht alles für den Ruhm. Viel Feind - Viel Ehr'. Iwan
>Aber was tut man nicht alles für den Ruhm.
Was soll denn "ruhmhaft" daran sein, krampfhaft olle Schaltungen
zusammenzustricken, mit Schaltungstechniken aus der Steinzeit, entgegen
den Ratschlägen aller gutmeinenden Antwortgeber?
Mit dieser Arbeitsweise musst Du Dir mal 'nen Job in einer
Entwicklungsabteilung für Karbidlampen suchen.
Klaus wrote: >>Aber was tut man nicht alles für den Ruhm. > > Mit dieser Arbeitsweise musst Du Dir mal 'nen Job in einer > Entwicklungsabteilung für Karbidlampen suchen. Lieber Klaus, bestimmt ist Dir dann auch bekannt, daß die Karbidlampe sowohl im Bereich der Zuverlässigkeit als auch in Punkto Farbtemperatur bis dato noch immer den elektrischen Lösungen überlegen ist. Im übrigen würden mich deine Ansichten zum eigentlichen Knackpunkt, Kollektorschaltung an NPN vs.PNP-Emitterschaltung mit vorgeschaltetem NPN, wesentlich mehr interessieren. Bei der PNP-Variante kann euer hochwohlgeboren sicher auch sachdienliche Hinweise zur Berechnung (die ich leider noch nicht verstehe) abgeben. Iwan, weder durchlaucht noch erleuchtet. In jedem Falle "not amused".
Moin, hab grad mal etwas quergelesen... Dabei fiel mir ein Passus auf, so es um die Widerständer geht. Könnte man sich nicht die 7 einzelnen Widerstände schenken und nur einen an die gemeinsame An-Kathode machen? So, nun ist die erste Idee, dass die Segmente ja nach Anzahl der leuchtenden LED´s unterschiedlich hell leuchten, ABERRRR könnte man nicht die 7 LED´s eines jeden Segments wiederum "multiplexen". Ich mein hier natürlich kein echtes multiplexing. Wenn für jede 7-seg. Anzeige schon ein 595 da ist, dann gibt man immer nur eine "Stelle" aus die leuchten soll. Mit jedem achten kompletten durchschieben der Daten würde dann wieder die gleiche LED leuchten. Verständlich was ich meine? Die Daten für die 7-seg.Anzeige liegen ja sicherlich in einem char-Array. Nun wird ja Feld für Feld per (ich denke mal) Hardware-SPI in die 595 geschoben. Jetzt macht man ein XOR für jedes Feld so nach dem motto
1 | char text[9]; |
2 | |
3 | for(i=0;i<8;i++) |
4 | {
|
5 | SPDR = text[i]^(1<<i) |
6 | }
|
So schiebt er für jede Anzeige immer max. eine 1 raus. Das alles macht natürlich nur sinn, wenn an jeder Anzeige ein 595 hängt! Gruß, Ole
Helmut Lenzen wrote:
> Sind Vorwiderstände für LEDs mittlerweile so teuer geworden ?
bei siemens würde man jetzt folgendermaßen weiter vorgehen: statistisch
ermitteln, welcher vorwiderstand im mittel am besten passt.
um das ganze an die statistik jeder anzeige anzupassen, aber modular zu
bleiben, werden 5 verschiedene widerstände per transistor zuschaltbar
gemacht.
um zukünftigen änderungen der software gerecht zu werden, werden 3
dieser varianten per lötjumper auswählbar gemacht.
=)
Helmut Lenzen wrote: > Was für einen Sinn macht das denn ? > Sind Vorwiderstände für LEDs mittlerweile so teuer geworden ? holli hat weiter oben einen ganz netten Grundsatz zum besten gegeben: "Merke: Was in C nicht geht, muss gelötet werden." Ich bin da zwar kein 100%iger anhänger von, aber wenn ich mir denke, das man den platz für die Widerstände + deren bohrungen sparen kann. Ok, mit SMD-Technik würde man beide Fliegen mit einer Klappe schlagen. Mal sehen, ob ich da Zeit zu finde, dann werde ich das mal bauen. Problematisch könnte evtl. der große Strom sein, den man dann bräuchte um ein Segment hell genung leuchten zu lassen. Flimmern sollte es, je nachdem wie viel Zeit man dafür im µC verbraten will, eigentlich nicht. Gruß, Ole
Hmm... Also ich weiß nicht, ob es im OOE von der Verfügbarkeit her ein Problem gibt, aber ich schätze mal, dass es ab geschätzt 6 LED Anzeigen billiger ist ein LCD zu verwenden. Also ein 16*2 Display hat 32 Stellen und kostet um die 7€. Geht es nur um ein Bastelprojekt mit Stückzahl = 1, dann kann man sicherlich auch irgendwo ein LCD ausschlachten. LCDs gibt es mit parallelem und seriellem Bus, was die Ansteuerung sehr vereinfacht. Geht es darum eine größere Stückzahl zu produzieren, lohnt sich LCD allemal, da dann auch größere Displays bereits deutlich unter 10€ zu haben sind. Und wenn es bei der großen Stückzahl um etwas ganz besonderes gehen soll, dann sind Custom-LCDs mit COG ( Chip on Glas) ebenfalls unter 2000€ Einmalkosten und unter 10€ pro Stück zu haben. Für etwa 30€/Stück gibt es auch Kleinstmengen von Vollgrafik-LCDs mit COG und Wunschfarben-Hinterleuchtung als gekapseltes Modul. Das kann bei angedeuteten 20 7Seg LEDs + Treiber + Decoder + Transistoren... in der gleichen Kostenregion liegen. Aber so ein LCD ermöglicht ungeahnte Flexibilität. Man könnte auch einen Kompromiss machen. Die Ist-Temperatur als LED und das ganze Menü und sonstige Verlaufsdaten als LCD. Das wäre immer noch etwas ganz besonderes, aber vermutlich mit den Pinnen des Controllers als Segment-Cathode und einem ULNxy als Common-Anode Treiber zu bewerkstelligen, ohne viele viele Treiber, Latches, FiFos. Gruß, Ulrich
> Sind Vorwiderstände für LEDs mittlerweile so teuer geworden ? Hier die Lösung: http://www.tube-tester.com/sites/nixie/data/3015-F/3015-f.htm Dazu ein 7447 , und die leidigen Vorwiderstände wie bei den -L-E-D-s braucht's auch nicht. (Jaja, das ist wieder ein Vorschlag vom Karbidlampenratschlaggeber, es kommen jetzt nur noch solche, das mit dem 74hc595 vom 24.01.2009 21:06 hat ja nicht gefallen. War wohl zu einfach.) Klaus
Olof Gutowski wrote: > könnte man nicht die 7 LED´s eines jeden Segments wiederum > "multiplexen". Ich mein hier natürlich kein echtes multiplexing. Wenn > für jede 7-seg. Anzeige schon ein 595 da ist, dann gibt man immer nur > eine "Stelle" aus die leuchten soll. Eigentlich eine ganz nette Idee. Andererseits jedoch ein bisschen zu viel Softwarearbeit für meinen Geschmack, wenn es nur darum geht die Vorwiderstände zu eliminieren. Die kosten nämlich wirklich nichts. > Das alles macht natürlich nur sinn, wenn an jeder Anzeige ein 595 hängt! Schon klar! Immerhin habt ihr mich jetzt schon so weit gebracht, daß mir die Lösung mit dem 595er eigentlich schon besser gefällt als mein Latch-Verbau. Allerdings habe ich meine Latches schon, also werde ich sie einbauen. Olof Gutowski wrote: > Ich bin da zwar kein 100%iger anhänger von, aber wenn ich mir denke, das > man den platz für die Widerstände + deren bohrungen sparen kann. > Ok, mit SMD-Technik würde man beide Fliegen mit einer Klappe schlagen. Bis auf die Siebensegmentanzeigen und deren Spannungsversorgung wird alles in SMT aufgebaut. SOIC, TSSOP, SOT-23, 0805 und 0402 - alles vorhanden. Ulrich P. wrote: > Also ich weiß nicht, ob es im OOE von der Verfügbarkeit her ein Problem Ach wo, via Distributor ist auch hier fast alles erhältlich ;-) > gibt, aber ich schätze mal, dass es ab geschätzt 6 LED Anzeigen billiger > ist ein LCD zu verwenden. Also ein 16*2 Display hat 32 Stellen und > kostet um die 7€. Geht es nur um ein Bastelprojekt mit Stückzahl = 1, > dann kann man sicherlich auch irgendwo ein LCD ausschlachten. LCD war natürlich eine Überlegung wert. Allerdings hatte ich auch die Siebensegmentanzeigen schon, da ich relativ viel auf Vorrat gekauft hatte. Eine Überlegung die ich noch nicht ganz aufgegeben habe wäre auch das graphische Pollin-VFD, das mir ein netter Kollege bald schicken wird. Allerdings wird es wohl auf die LED-Anzeigen hinauslaufen, dann kann ich wenigstens die Latches, Transistoren und Widerstände verbauen. Klaus wrote: > Hier die Lösung: > http://www.tube-tester.com/sites/nixie/data/3015-F/3015-f.htm Klaus, du weist anscheinend genau, worauf ich stehe! :-) Ich liebe nämlich diese Minitrons. Eigentlich alles was in diese Richtung geht, auch Nixies, VFDs und diese Magisches Auge-Geschichten. Allerdings fehlt mir da die passende Hardware. > (Jaja, das ist wieder ein Vorschlag vom Karbidlampenratschlaggeber, ...) Tut mir leid, falls ich mit meinem Ton etwas über die Stränge geschlagen haben sollte. Die Minitron-Geschichte ist IMO jedenfalls sehr edel! Grundsätzlich wollte ich noch fragen, ob jemand etwas zu meinem Ansteuerungsproblem, Kollektorschaltung an NPN vs.PNP-Emitterschaltung mit vorgeschaltetem NPN, lesbar im Artikel Beitrag "Re: Siebensegmentanzeigen-Ansteuerung: Warum macht das keiner so?" in diesem Thread sagen kann. Hier habe ich nämlich noch ein kleines Verständnisproblem, ob das auch so funktioniert wie ich mir das vorstelle. Habt einstweilen vielen Dank Kollegen, Iwan
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.