Forum: Mikrocontroller und Digitale Elektronik TTL Signal Verstärken und invertieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Dominik (dom_dom)


Lesenswert?

Guten Tag zusammen,

ich nutze einen MAX7219 und mehrere sieben Segment anzeigen, diese 
benötigen aber 7.8 V und nicht nur 5.
Zudem haben die anzeigen eine gemeinsame Annode. Der MAX7219 ist aber 
leider für gemeinsame Kathode.

Meine Idee war es die Ausgänge zu den Digits und segementen alle zu 
invertieren und danach zu verstärken.
Habt ihr eine Idee welche DIP Chips ich benötige?

von Peter D. (peda)


Lesenswert?

Dominik schrieb:
> Zudem haben die anzeigen eine gemeinsame Annode. Der MAX7219 ist aber
> leider für gemeinsame Kathode.

Der MAX7219 kann beides. Man muß nur in der Software Segmente und Digits 
um 90° drehen, d.h. kann nicht den Decodemode des MAX7219 verwenden. Und 
dem Auge ist es egal, ob die Segmente oder Digits gemultiplext werden.

Im Datenblatt ist ein Beispiel für höhere Spannung mit zusätzlicher -5V 
Versorgung.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://www.analog.com/media/en/technical-documentation/data-sheets/MAX7219-MAX7221.pdf#page=12
Das ist aber nur für 2 Digits gezeichnet, für acht braucht man den 
MAX394 und die Transistoren noch dreimal.
Es wird ziemlich aufwendig, wäre es nicht besser, entweder einen anderen 
Treiber zu suchen, oder die LEDs zu ändern? Wie heißen denn die 
LED-Displays, die so eine seltene Betriebsspannung brauchen?

von Michael B. (laberkopp)


Lesenswert?

Dominik schrieb:
> Meine Idee war es die Ausgänge zu den Digits und segementen alle zu
> invertieren und danach zu verstärken

https://forum.arduino.cc/t/wiring-schematic-for-8-digit-seven-segment-7-2-volt-display/1193055/63

Du brauchst also gar keinen 7219 mehr, aber strombegrenzende 
Widerstände.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich vermute, Dominik hat irgendwoher eine fertige Schaltung und Software 
und möchte das nur an sein Display anpassen, aber sonst nichts ändern.
Die Suche nach DIP-Bauteilen lässt vermuten, dass er ein Steckbrett oder 
Lochrasterplatinen benutzt.

Also invertierende "8 Input 8 Output PDIP-20 Buffers & Line Drivers":

https://www.mouser.de/c/semiconductors/logic-ics/buffers-line-drivers/?number%20of%20input%20lines=8%20Input&number%20of%20output%20lines=8%20Output&package%20%2F%20case=PDIP-20&polarity=Inverting~~Inverting%2C%20Non-Inverting&rp=semiconductors%2Flogic-ics%2Fbuffers-line-drivers%7C~Polarity

Die haben hier aber maximal 6V, eine Pegelanhebung oder -absenkung ist 
da nicht enthalten. Mehr als 20 Pins in DIP gibt es auch nicht.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dominik schrieb:
> mehrere sieben Segment anzeigen, diese benötigen aber 7.8 V
Genau 7,8V?
Hast du einen Link oder eine Typenbezeichung zu diesen Anzeigen?

von Peter D. (peda)


Lesenswert?

Eine Möglichkeit für höhere Spannung ist der MM5450 (bis 11V).
Man kann 32 Segmente parallel ansteuern.
Mit den restlichen 2 Ausgängen kann man dann multiplexen (2 P-MOSFET) 
für 8 Digits. Die 15mA Stromquellen sollten hell genug sein.
Und den gibt es auch in DIP:
https://www.digikey.de/de/products/detail/microchip-technology/MM5450YN/771810

von Pilot P. (klatschnass)


Lesenswert?

Ich habe mit solchen 7-Segmentanzeigen ein Thermomter gebastelt.
Als Treiber habe ich den SN54LS07 benutzt. Der hat einen Open-Collector 
und verkraftet auch die Ströme bei voller Helligkeit.

von Dominik (dom_dom)


Lesenswert?

Das wären folgende

https://de.rs-online.com/web/p/led-displays/7192516

Die können aber auch bis 10V

von Dominik (dom_dom)


Lesenswert?

Peter D. schrieb:
> Im Datenblatt ist ein Beispiel für höhere Spannung mit zusätzlicher -5V
> Versorgung.

Das hatte ich leider nicht gefunden. Was muss man denn dafür 
anschließen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dominik schrieb:
> Die können aber auch bis 10V
Weil die 7,8V ein "typischer Wert" ist, können sie aber auch weniger 
haben.

Letztlich sind die eingebauten LED für 20mA spezifiziert. Und du musst 
dafür sorgen, dass da ca. 20mA durchfließen. Und zwar im Grunde egal, 
welche Spannung sich bei diesem Strom über dem Segment ergibt. Wenn dir 
weniger Helligkeit ausreicht, dann reicht es auch, wenn nur 10mA 
durchfließen. Du musst aber auf jeden Fall dafür sorgen, dass niemals 
mehr als 30mA durchfließen, denn das ist der absolut maximale Strom, der 
erlaubt ist.

Also brauchst du eine Schaltung, die über einen passenden Vorwiderstand 
eine Spannung mit ca. 12V auf die Segmente schalten kann. Nur so kannst 
du die nötige "Konstanz" des Stromes sicherstellen. Denn mit 
(12V-7,8V)/20mA = 220 Ohm werden die LED dann bei 10V nur noch mit 9mA 
bestromt. Und wenn die "typische Uf" unterschritten wird und die LEDs 
nur noch 6V haben, fließen 27mA.

Der Dezimalpunkt braucht übrigens eine Sonderbehandlung beim 
Vorwiderstand, weil er nur 2 LED in Reihe hat.

: Bearbeitet durch Moderator
von Dominik (dom_dom)


Lesenswert?

Michael B. schrieb:
> Du brauchst also gar keinen 7219 mehr, aber strombegrenzende
> Widerstände.

Das Problem ist, dass ich einen Counter habe, der dauerhaft hochzählt. 
Und das mit 1kHz. Dafür nutzte ich HardwarePWM des Pi´s um pro steigende 
Flanke den Zähler zu erhöhen.

Am Ende sollen zwei Anzeigen mit jeweils vier Digits exakt synchron 
laufen.

Es dient zur Synchronisierung von Kameras. Somit können diese deutlich 
schneller "gucken", als das menschliche Auge. Durch Versuche habe ich 
schon herausgefunden, dass man das Multiplexen auf der Kamera sieht, 
bzw. auf dem aufnahmen und dann zwischen zwei MAX7219 mit jeweils digits 
dran ein unterschied erkennbar ist (das aber auch nur unter bestimmten 
bedingungen)

Christoph db1uq K. schrieb:
> Die Suche nach DIP-Bauteilen lässt vermuten, dass er ein Steckbrett oder
> Lochrasterplatinen benutzt.

Ich möchte das gerne auf einer Lochrasterplatine aufbauen. Die 
Ansteuerung soll mittels Raspberry Pi´s sein.

Ich nutze es schon mit folgendem
https://www.az-delivery.de/products/azdelivery-max7219-led-modul-8-bit-7-segmentanzeige-led-display-fur-arduino-und-raspberry-pi

Ich möchte aber, dass dies auf großen Anzeigen angezeigt werden, diese 
habe ich auch schon da. Normale Setuerspannung wäre 7,8V, aber diese 
können bis zu 10 V ab.

Optimal wäre es, wenn man das Display dann mit einem Poti noch dimmen 
könnte.

[Mod: Lebenslauf aus Link entfernt]

: Bearbeitet durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Dominik schrieb:
> Durch Versuche habe ich schon herausgefunden, dass man das Multiplexen
> auf der Kamera sieht, bzw. auf dem aufnahmen und dann zwischen zwei
> MAX7219 mit jeweils digits dran ein unterschied erkennbar ist (das aber
> auch nur unter bestimmten bedingungen)
Das nennt sich "Interferenz" und hat was mit dem Abtasttheorem zu tun.

Dominik schrieb:
> wenn man das Display dann mit einem Poti noch dimmen könnte.
Wenn du die von mir vor 2 Posts erwähnte Spannung von 12V aus einem 
einstellbaren Netzteil holst, dann kannst du damit die Helligkeit 
ändern: weniger Spannung --> weniger Strom --> weniger hell. Nur eben 
wieder aufpassen, dass du die 30mA nicht überschreitest. Denn sonst 
altern deine LED recht zügig.

von Peter D. (peda)


Lesenswert?

Dominik schrieb:
> Durch Versuche habe ich
> schon herausgefunden, dass man das Multiplexen auf der Kamera sieht

Das wundert mich nicht.
Da würde ich doch auf das Multiplexen verzichten und den MM5450 nehmen.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Jetzt ist es klarer, da sind je vier hyperrote LED 
hintereinandergeschaltet (bis auf dem Kommapunkt, der hat nur zwei). 
Aber man kann nicht einfach 10V anlegen, das braucht eine 
Strombegrenzung (Vorwiderstand oder Stromquelle).

Das kleinere 4-fach-Display HSN3641AS hat nur eine LED pro Segment, die 
kommt bequem mit 5V-Versorgung aus:
http://www.xlitx.com/datasheet/3641AS.pdf

> Im Datenblatt ist ein Beispiel für höhere Spannung
Auf Seite 12 werden mit einem Analogschalter MAX394 zwei Ausgänge DIG0 
und DIG1 im Pegel von 0 V auf -5V umgesetzt, der reicht nicht für 8 
Stellen.

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Dominik schrieb:
> ich nutze einen MAX7219 und mehrere sieben Segment anzeigen, diese
> benötigen aber 7.8 V und nicht nur 5.
> Zudem haben die anzeigen eine gemeinsame Annode. Der MAX7219 ist aber
> leider für gemeinsame Kathode.

Also erst einmal die falschen Bauteile ausgewählt, und dann über das 
Problem nachgedacht.

Der Aufwand den 7219 an die ausgewählten Displays anzupassen ist der 
falsche Ansatz. Denke lieber mal über eine ganz andere Vorgehensweise 
nach.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Um (ohne Multiplexen) das Flimmern zu vermeiden, sind für acht Stellen 
64 Ausgänge nötig.
Der MM5450 hat nur 34 oder 35 Ausgänge in der DIP-Version:
https://www.microchip.com/en-us/product/MM5450
also wären hier zwei davon nötig.

Mir fiel ein, dass ich so große Displays mal auf dem Flohmarkt gefunden 
habe. Auch von Kingbright:
https://www.kingbrightusa.com/images/catalog/spec/SA23-12SRWA.pdf
Die Platine passt nur noch schräg auf den Scanner.
nur "Super Bright Red" mit 190mcd typ kein "Hyper Red" mit 260mcd typ.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Dominik schrieb:
> Dafür nutzte ich HardwarePWM des Pi´s

Auch noch einen Pi.

Der ist sowieso nicht echtzeitfähig.

Jeder ordentlich uC hätte mit dem kHz keinerlei Problem.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

An welcher Stelle sollen denn eigentlich die laut Titel erwähnten 
TTL-Signale auftreten? Weder ein Raspbery Pi noch ein MAX7219 erzeugt 
oder verlangt solche. Ganz im Gegenteil sieht V_IH des 7219 nach 
5V-CMOS-Logikpegel aus.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael B. schrieb:
> Der ist sowieso nicht echtzeitfähig.
Deshalb gibt der mit einem Timer des Rechenbolidens nur einen 1kHz-Takt 
aus, der dann von Hardware in Zahlen umgeformt wird, denne

Dominik schrieb:
> dass ich einen Counter habe, der dauerhaft hochzählt.
> Und das mit 1kHz. Dafür nutzte ich HardwarePWM des Pi
Aber da müssten wir nochmal angreifen, denn

> Das Problem ist, dass ich einen Counter habe
Sinnvollerweise solltest du mal den Schaltplan von diesem Counter 
zeigen, damit man sehen kann, wie man an den eine nicht-gemuxte Anzeige 
dranbekommt.

Oder man baut einfach einen neuen Counter ähnlich wie dort bei Cascading 
Counters:
- https://www.electronics-tutorials.ws/counter/7-segment-display.html

Dank der Common Anode ist dann die Ansetuerung pro Segment mit 1 
Transistor möglich.

: Bearbeitet durch Moderator
von Axel S. (a-za-z0-9)


Lesenswert?

Andreas S. schrieb:
> An welcher Stelle sollen denn eigentlich die laut Titel erwähnten
> TTL-Signale auftreten? Weder ein Raspbery Pi noch ein MAX7219 erzeugt
> oder verlangt solche.

Hehe. Endlich sagt es mal jemand anderes als ich :)

Nein. Das sind weder TTL Signale. Noch sind es 7.8V Displays. Bis der TE 
eine funktionsfähige Schaltung auf dem Tisch hat, fließt moch viel 
Wasser die Elbe runter - Hochwasser hin oder her.

Am gescheitesten wäre es wohl, wenn der TE sein komplettes Problem 
schildern würde. Inklusive dem, was wirklich fest ist (z.B. weil schon 
gekauft) und was nur geplant ist. Dann könnte man ihn wohl vor diversen 
Fehlkäufen bewahren.

So wie der Thread jetzt läuft, wird das jedenfalls nichts.

von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Das nennt sich "Interferenz" und hat was mit dem Abtasttheorem zu tun.

Du meinst Aliasing

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Schwätzer.
"TTL" ist die alte Bezeichnung, damals hatten die 5V Versorgung und die 
"TTL-Schwellen" 0,8V und 2,4V, dazwischen verbotenes Niemandsland. CMOS 
kam später und damit eine Schwelle in der Gegend von 2,5V, außerdem 
schalteten die Transistoren näher an die Betriebsspannungswerte heran. 
Die Bezeichnung ist historisch korrekt und immer noch üblich.

Die "7,8V" stammen aus dem Datenblatt bei einem Strom von 20mA durch die 
LED, eine durchaus sinnvolle Angabe. Aus der Kurve geht allerdings auch 
hervor, dass man besser den Strom regelt, als die Spannung.

Anscheinend sind ausreichend Programmierkenntnisse vorhanden, auch einen 
anderen Treiberbaustein zu benutzen, wie den schon genannten MM5450. Das 
war nicht von Anfang an klar.
Einen Raspi für Echtzeitaufgaben wie einen Frequenzzähler zu benutzen 
ist eine sportliche Herausforderung, aber bitte, nicht unmöglich.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Christoph db1uq K. schrieb:
> Schwätzer.
> "TTL" ist die alte Bezeichnung, damals hatten die 5V Versorgung und die
> "TTL-Schwellen" 0,8V und 2,4V, dazwischen verbotenes Niemandsland. CMOS
> kam später und damit eine Schwelle in der Gegend von 2,5V, außerdem
> schalteten die Transistoren näher an die Betriebsspannungswerte heran.
> Die Bezeichnung ist historisch korrekt und immer noch üblich.

Die Bezeichnung ist natürlich historisch korrekt, und zwar bezogen auf 
Bausteine in TTL. Wenn man sich nämlich die Ausgangsstufe eines 
TTL-Bausteins anschaut, stellt man fest, dass er eben nicht ansatzweise 
5 V ausgeben kann, sondern bestenfalls um 4 V. Und das reicht eben nicht 
immer aus, um damit einen 5V-CMOS-Eingang sauber anzusteuern. 
74LSxx-Ausgänge passen nicht zu 74HCxx-Eingängen, sondern hierfür gibt 
es explizit die TTL-kompatiblen Ausführungen 74HCTxx. In den meisten 
Fällen wird zwar auch HC funktionieren, aber das ist nicht sicher. Und 
der MAX7219 fordert laut Datenblatt eben mindestens 3,5 V 
Eingangsspannung für einen High-Pegel, also ebenfalls deutlich mehr als 
bei TTL.

Daher frage ich erneut den TE, aus welchem Grund an irgendeiner Stelle 
mit TTL-Pegeln gearbeitet werden muss. Aber vermutlich wird er auch 
diese Frage einfach ignorieren.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die Technikwelt ist geteilt in Hardware- und Softwarespezialisten. Ich 
finde, man sollte Gnade walten lassen, wenn einer von der Softwareseite 
sich bezüglich Hardware nicht exakt ausdrückt, dasselbe gilt für die 
andere Seite.

von Dominik (dom_dom)


Lesenswert?

Danke für die ganzen Hinweise, dann versuche ich mich mal genauer und 
detaillierter auszudrücken. Es tut mir leid, dass ich mich vorher nicht 
klar ausgedrückt habe. Ich bin in dem Hardware Gebiet recht neu. Und wie 
schon vermutet, komme ich aus der Software.

Es geht nicht darum, dass der Counter zu 100% Exakt ist, sondern, dass 
der Takt bspw. 10Hz, 100Hz und 1kHz kann. Dies sollte grob stimmen, aber 
es ist nicht kriegsentscheidend.

Mittels PWM generiere ich diesen Takt, über den Pi, und habe dann einen 
1kOhm Widerstand und lese dies wieder in den Pi ein. Es wird dann 
geschaut, ob eine steigende Flanke erkannt wird. Pro steigende Flanke 
steigt der Counter um eins.

Das wichtige ist, dass ich mehrere Sieben Segment anzeigen brauche, die 
zu sich exakt sind.
Die Aufgabe ist dann nämlich mit mehreren Kameras gleichzeitig ein Bild 
zu machen und zu schauen, ob überall die selbe zahl auf den Displays 
angezeigt werden. Die Problematik ist nämlich, dass die Kameras in 
verschiedene Richtungen zeigen und deswegen brauche ich mehrere 
Displays, die zueinander exakt sind, aber nicht wichtig ist, aber der 
takt exakt ist.

Deswegen war es für mich die einfachste Lösung, einen Pi zu nehmen.

Bauteile die ich schon habe sind:
Raspberry Pi 4
die 7 Segment anzeigen, mit gemeinsamer Annode
und zwei MAX7219

von Dominik (dom_dom)


Lesenswert?

Ich würde sonst gerne Vorschlage nähmen, die ohne den MAX7219 sind. Den 
Chip neu zu kaufen, ist ja nicht das Problem.

Ich würde dann gerne einen Chip nehmen, der ohne Multiplexen auskommt. 
Ich bräuchte mindestens drei Digits pro Display-Unit

Und es soll möglich sein mehrere Display-Units zu betreiben (wenn 
möglich, können diese auch ihre eigenen Chips haben)

Die Diplays würde ich gerne behalten und wenn möglich die Ansteuerung 
mittels Raspberry Pi. Dann wäre nur die Frage noch, wie dies angesteuert 
werden müsste.

von Michael B. (laberkopp)


Lesenswert?

Christoph db1uq K. schrieb:
> Ich finde, man sollte Gnade walten lassen, wenn

Forenrentner kenne keine Gnade.

von Axel S. (a-za-z0-9)


Lesenswert?

Dominik schrieb:

> Mittels PWM generiere ich diesen Takt, über den Pi, und habe dann einen
> 1kOhm Widerstand und lese dies wieder in den Pi ein.

Wozu das denn? Die PWM kann doch sicherlich ein Soft-Event auslösen?

> Das wichtige ist, dass ich mehrere Sieben Segment anzeigen brauche, die
> zu sich exakt sind.

"zu sich exakt"?

> Die Aufgabe ist dann nämlich mit mehreren Kameras gleichzeitig ein Bild
> zu machen und zu schauen, ob überall die selbe zahl auf den Displays
> angezeigt werden.

Um was zu belegen? Die Endlichkeit der Lichtgeschwindigkeit? Die 
Kausalität in unserem Universum?

> Die Problematik ist nämlich, dass die Kameras in
> verschiedene Richtungen zeigen und deswegen brauche ich mehrere
> Displays, die zueinander exakt sind, aber nicht wichtig ist, aber der
> takt exakt ist.

Aha. "zu sich exakt" meint die sollen immer die gleiche Zahl anzeigen. 
Dann fällt Multiplexing schon mal raus, denn da ist immer nur eine 
Ziffer zu einer Zeit aktiv. Der MAX erzeugt den Multiplex-Takt selber, 
da hast du gar keinen Einfluß drauf.

Aber auch mit parallel angesteuerten Displays wird das schwierig. Denn 
die müßtest du dazu gleichzeitig ansteuern oder zumindest gleichzeitig 
aktualisieren. Herkömmliche Display-Treiber bieten die Möglichkeit 
nicht. Aber "zu Fuß" kann man das sicher aufbauen. Z.B. mit 
Schieberegistern [1] und dann alle Latches gleichzeitig aktivieren. Mit 
TPIC6C595 geht das bis 100mA und 35V pro Ausgang. Paßt also.


[1] Porterweiterung mit SPI

von Falk B. (falk)


Lesenswert?

Dominik schrieb:
> Es dient zur Synchronisierung von Kameras. Somit können diese deutlich
> schneller "gucken", als das menschliche Auge.

Wohl wahr.

Beitrag "Re: Brauche Uhr/Zähler/Generator mit Frameanzeige und 100stel Sekunden, RS232 Anschluß"

von Peter D. (peda)


Lesenswert?

Axel S. schrieb:
> Herkömmliche Display-Treiber bieten die Möglichkeit
> nicht.

Warum nicht?
Der MM5450 hat ein 34 Bit Schieberegister und Latch. Nach dem Schieben 
wird also gleichzeitig übernommen.

von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> CMOS kam später und damit eine Schwelle in der Gegend von 2,5V, außerdem
> schalteten die Transistoren näher an die Betriebsspannungswerte heran.
> Die Bezeichnung ist historisch korrekt und immer noch üblich.

Was ist daran korrekt?

Ein ganz wesentlicher Parameter bei TTL war die Treiberleistung, 
gemessen als Vielfaches eines Standardeingangs der Logikfamilie 
(Fan-out).
Bei heutiger CMOS-Technik spielt die praktisch kaum eine Rolle.

Nein, TTL hat mit CMOS nicht viel zu tun.

: Bearbeitet durch User
von Dominik (dom_dom)


Lesenswert?

Axel S. schrieb:
> Aber "zu Fuß" kann man das sicher aufbauen. Z.B. mit
> Schieberegistern [1] und dann alle Latches gleichzeitig aktivieren. Mit
> TPIC6C595 geht das bis 100mA und 35V pro Ausgang. Paßt also.

Ich bin da leider neu in der Materie. Wie muss ich was machen :)
Danke schonmal

Peter D. schrieb:
> Der MM5450 hat ein 34 Bit Schieberegister und Latch. Nach dem Schieben
> wird also gleichzeitig übernommen.

Wie mache ich das dann und wo muss was angeschlossen werden :)

von Jörg R. (solar77)


Lesenswert?

Dominik schrieb:
> Axel S. schrieb:
>> Aber "zu Fuß" kann man das sicher aufbauen. Z.B. mit
>> Schieberegistern [1] und dann alle Latches gleichzeitig aktivieren. Mit
>> TPIC6C595 geht das bis 100mA und 35V pro Ausgang. Paßt also.
>
> Ich bin da leider neu in der Materie. Wie muss ich was machen :)

Na ja, Du musst je 4 Stück von den TPIC6C595 kaskadieren, für ein 
4-stelliges 7-Segment-Display. Du benötigst also 8 Stück TPIC6C595. Dazu 
kommen dann 8 Stück von den 57mm Displays mit gemeinsamer Anode, 28 
Vorwiderstände für die Segmente und einige Kondensatoren, u.a. zum 
abblocken.

Für die Stromversorgung benötigst Du 5V für die Chips und ca. 10V für 
die Displays.

Der TPIC6C595 ist ein guter Vorschlag von Axel. Die Anzeige ist 
statistisch, daher deutlich besser geeignet für die Kamera als 
gemultiplexte Displays.

https://www.ti.com/lit/ds/symlink/tpic6c595.pdf

Ob Dir jemand einen kompletten Schaltplan liefert bleibt abzuwarten. 
Leider verlaufen zu viele Threads mit ähnlichen Anfragen im Sande, und 
da überlegt man halt Zeit auftzwenden.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Peter D. schrieb:
> Axel S. schrieb:
>> Herkömmliche Display-Treiber bieten die Möglichkeit
>> nicht.
>
> Warum nicht?
> Der MM5450 hat ein 34 Bit Schieberegister und Latch. Nach dem Schieben
> wird also gleichzeitig übernommen.

Ja, aber mit einem extra Impuls des Schiebetaktes. Wenn du N Stück des 
MM5450 gleichzeitig latchen lassen willst, wirst du um N zeitlich 
synchronisierte Ansteuersignale nicht drum herum kommen. N-mal Daten und 
ein gemeinsamer Clock sind wahrscheinlich das beste. Kaskadieren kann 
man den Chip ja sowieso nicht. Und Hardware SPI ist bei der unegalen 
Bitzahl von 35 auch eher nicht ...

von Peter D. (peda)


Lesenswert?

Axel S. schrieb:
> N-mal Daten und
> ein gemeinsamer Clock sind wahrscheinlich das beste.

Ja, für diesen Spezialfall muß man das so machen.
Ich hatte so eine Anforderung noch nie und habe sie eh zu Fuß, d.h. ohne 
SPI angesteuert.

von Axel S. (a-za-z0-9)


Lesenswert?

Peter D. schrieb:

> Ich hatte so eine Anforderung noch nie und habe sie eh zu Fuß, d.h. ohne
> SPI angesteuert.

Ich ebenfalls. Wobei mir einfällt: ich habe nie ausprobiert, was der 
MM5450 macht, wenn man ihn atypisch ansteuert.

Also z.B. bei aktiviertem /DE mehr als 35 Impulse an CLK. OK, er 
übernimmt nach 35 Impulsen. Und dann? Alle 35 Impulse wieder? Oder was 
passiert wenn man /DE schon früher wieder auf H gehen läßt. OK, er 
latcht die Daten nicht. Aber wo fängt er beim nächsten Mal an zu zählen?

Normal würde man erwarten, daß der Bitzähler mit /DE zurückgesetzt wird. 
Aber es gibt ja auch den MM5451. Und der ist mutmaßlich nur eine 
Bondvariante...

von Dominik (dom_dom)


Lesenswert?

Jörg R. schrieb:
> Na ja, Du musst je 4 Stück von den TPIC6C595 kaskadieren, für ein
> 4-stelliges 7-Segment-Display. Du benötigst also 8 Stück TPIC6C595. Dazu
> kommen dann 8 Stück von den 57mm Displays mit gemeinsamer Anode, 28
> Vorwiderstände für die Segmente und einige Kondensatoren, u.a. zum
> abblocken.

Das klingt ja tatsächlich sehr spannend und machbar. Ich habe aber 
leider keine Vorstellung, wie ich die Kaskadieren soll und was ich da 
für ein Signal drauf geben muss. Und funktioniert das auch mit 
gemeinsamer Anode?

Ich muss wahrscheinlich die Anoden alle gemeinsam schalten an +12V.
Dann an jeden Segmentanschluss einen 220 Ohm Widerstand und das dann an 
die Anschlüsse des TPIC6C595?

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Axel S. schrieb:
> Aber wo fängt er beim nächsten Mal an zu zählen?

Beim nächsten 1-Bit.

von Peter D. (peda)


Lesenswert?

Jörg R. schrieb:
> Du benötigst also 8 Stück TPIC6C595.

Man kann auch normale 74HC595 nehmen, wenn der Strom nicht maximal sein 
muß.
Der IC muß ja nur die Differenz von LED off zu LED on abkönnen, d.h. 
V_Anode kann größer als 5V sein. Im Datenblatt steht ja, daß unter 7,2V 
die LEDs aus sind. In die DP legt man noch 3,9V Z-Dioden.

von Axel S. (a-za-z0-9)


Lesenswert?

Dominik schrieb:
> Jörg R. schrieb:
>> Na ja, Du musst je 4 Stück von den TPIC6C595 kaskadieren, für ein
>> 4-stelliges 7-Segment-Display. Du benötigst also 8 Stück TPIC6C595. Dazu
>> kommen dann 8 Stück von den 57mm Displays mit gemeinsamer Anode, 28
>> Vorwiderstände für die Segmente und einige Kondensatoren, u.a. zum
>> abblocken.
>
> Das klingt ja tatsächlich sehr spannend und machbar. Ich habe aber
> leider keine Vorstellung, wie ich die Kaskadieren soll und was ich da
> für ein Signal drauf geben muss.

Kaskadieren bedeutet, daß du mehrere TPIC verkettest. Wie im hiesigen 
Wiki beschrieben: Porterweiterung mit SPI

Da sind nur 2 Stück 74HC595 gezeichnet. Aber du kannst die Kette auch 
länger machen. Einfach immer einen weiteren mit seinem SER Eingang an 
den QH* Ausgang des vorherigen verknüppern. SCK und RCK alle parallel. 
Für N Stück mußt du N Worte a 8 Bit rausschieben. Das Wort das du als 
erstes rausgeschoben hast, landet im hintersten HC595/TPIC.

Der TPIC6C595 verwendet leicht unterschiedliche Pin-Bezeichnungen. Aber 
funktional sind sie identisch:
1
74HC595        TPIC6C595
2
------------------------
3
SER            SER_IN
4
SCK            SRCK
5
SCL            CLR
6
RCK            RCK
7
G              G
8
QH*            SER_OUT
9
QA .. QH       DRAIN0 .. DRAIN7

> Und funktioniert das auch mit gemeinsamer Anode?

Klar. Deswegen habe ich es dir ja empfohlen.

> Ich muss wahrscheinlich die Anoden alle gemeinsam schalten an +12V.
> Dann an jeden Segmentanschluss einen 220 Ohm Widerstand und das dann an
> die Anschlüsse des TPIC6C595?

Das andere Ende des Widerstands an den entsprechenden Ausgang DRAIN0 .. 
DRAIN7 des TPIC. Das Segment leuchtet, wenn das entsprechende Bit im 
Schieberegister auf 1 gesetzt ist.

Wichtig in deiner Anwendung: das Signal EN = RCK überträgt die Daten vom 
Schieberegister zum Ausgang. Da du ja willst, daß alle Anzeigen 
gleichzeitig updatet werden, mußt du EN dazu kurz auf L ziehen. Wenn es 
auf 1 geht, werden die Daten übernommen.

: Bearbeitet durch User
von Gerald B. (gerald_b)


Lesenswert?

Wenn es denn unbedingt der MAX7219 UND diese Anzeigen sein sollen, dann 
würde ich für die LED Matrix Optokoppler nehmen und mit denen dann die 
LEDs schalten. Ist ein bissel Aufwand, aber mit 2x 4-fach OK p. Digit 
machbar.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

> Man kann auch normale 74HC595 nehmen
Peter hat recht, so macht man es auch bei Nixie-Röhren. Die Anoden sind 
an  >140V angeschlossen, der Treiber SN74141 hält nur 55V aus. Da aber 
an den Röhren (auch wenn sie nicht leuchten) mindestens 90V abfallen 
reicht das aus. Genauso fällt an den LED genug Spannung ab, dass der 
Treiber keine Überspannung abbekommt.

Es gibt zwei Standardbauteile "Serial-in, Parallel-out mit latch", den 
xx595 und den xx4094, die 8 Schieberegister und 8 Latches enthalten:

https://www.ti.com/lit/ds/symlink/sn74hc595.pdf
https://www.ti.com/lit/ds/symlink/cd74hc4094.pdf

Soweit ich noch weiß unterscheiden sich die Ansteuersignale irgendwie, 
ich müsste die Datenblätter genauer anschauen.

von Michael B. (laberkopp)


Lesenswert?

Rainer W. schrieb:
> Ein ganz wesentlicher Parameter bei TTL war die Treiberleistung,
> gemessen als Vielfaches eines Standardeingangs der Logikfamilie
> (Fan-out).
> Bei heutiger CMOS-Technik spielt die praktisch kaum eine Rolle.
> Nein, TTL hat mit CMOS nicht viel zu tun.

Glücklicherweise ist es kompatibel.

CMOS ist in jeder Hinsicht besser als TTL und spricht TTL kompatibel 
sogar bei nur 3.3V Versorgungsspannung.

Nur open collector geht mit CMOS nicht.

Er hat aus seinem tPi saubere high und low Pegel kompatibel mit TTL 
Pegrln und trotz des niedrigen Stroms eines rPi trotzdem mehr als bei 
TTL üblich war zur Verfügung.

Also passen TTL Bausteine dran.

von Jörg R. (solar77)


Lesenswert?

Peter D. schrieb:
> Jörg R. schrieb:
>> Du benötigst also 8 Stück TPIC6C595.
>
> Man kann auch normale 74HC595 nehmen, wenn der Strom nicht maximal sein
> muß.

Ich würde beim TPIC6C595 bleiben. Der hat einfach mehr Reserven. Wenn 
ich das DB des 74HC595 richtig deute verträgt der in Summe „nur“ 70mA 
insgesamt zu Vcc bzw. GND.


Axel S. schrieb:
> Dominik schrieb:
>> Jörg R. schrieb:
> (..)
> Wichtig in deiner Anwendung: das Signal EN = RCK überträgt die Daten vom
> Schieberegister zum Ausgang. Da du ja willst, daß alle Anzeigen
> gleichzeitig updatet werden, mußt du EN dazu kurz auf L ziehen. Wenn es
> auf 1 geht, werden die Daten übernommen.

Das sorgt auch dafür dass die Daten in die Chips übertragen werden ohne 
dass die Displays flimmern.

@TO
Versuche mal anhand der Beschreibung von Axel einen Schaltplan zu 
erstellen.

: Bearbeitet durch User
Beitrag #7737973 wurde vom Autor gelöscht.
von Ralf D. (doeblitz)


Lesenswert?

Michael B. schrieb:
> Nur open collector geht mit CMOS nicht.

Logisch, bei FETs heisst das dann Open Drain (-> CD40107). ;-)

von Rainer W. (rawi)


Lesenswert?

Michael B. schrieb:
> Nur open collector geht mit CMOS nicht.

Was an open collector geht mit CMOS nicht?

Edit: Zu spät gesehen:

Ralf D. schrieb:
> Logisch, bei FETs heisst das dann Open Drain (-> CD40107). ;-)

von Axel S. (a-za-z0-9)


Lesenswert?

Michael B. schrieb:
>> Nein, TTL hat mit CMOS nicht viel zu tun.
>
> Glücklicherweise ist es kompatibel.

Bis auf die Pegel. Zum Spaß gibt es die 74HCTxxx jedenfalls nicht.

> CMOS ist in jeder Hinsicht besser als TTL ...

Seit der Verfügbarkeit der 74HCxxx Reihe stimmt das sogar.
Die alte 4000er CMOS Reihe war ziemlich lahm.

Aber wie du richtig bemerkst: echtes TTL ist eigentlich nur noch in 
Vintage-Geräten anzutreffen. Deswegen ist auch fast immer Unsinn, wenn 
jemand von TTL brabbelt. Er meint statt dessen praktisch immer CMOS 
Signale mit 5V H-Pegel.

> Nur open collector geht mit CMOS nicht.

Gehen tut das schon. Es gibt halt nur wenige Bausteine mit open drain 
Ausgängen. Z.B. TPIC6C595 :)

von Michael B. (laberkopp)


Lesenswert?

Axel S. schrieb:
> Deswegen ist auch fast immer Unsinn, wenn jemand von TTL brabbelt. Er
> meint statt dessen praktisch immer CMOS Signale mit 5V H-Pegel.

Dumm nur, dass Dominik 0V/3.3V Pegel mit 1.75V Schaltschwelle hat und 
damit exakt TTL und das sehr richtig beschrieben hat.

Der Unsinn kommt von dir.

von Rainer W. (rawi)


Lesenswert?

Michael B. schrieb:
> Dumm nur, dass Dominik 0V/3.3V Pegel mit 1.75V Schaltschwelle hat und
> damit exakt TTL ...

... oder eben CMOS bei 3.3V Betriebsspannung.

von Axel S. (a-za-z0-9)


Lesenswert?

Michael B. schrieb:
> Dumm nur, dass Dominik 0V/3.3V Pegel mit 1.75V Schaltschwelle hat und
> damit exakt TTL und das sehr richtig beschrieben hat.

Albern. Scrolle doch mal hoch. Es ging nie darum, die Pegel vom RasPi zu 
konvertieren. Es sollten die Ausgangssignale vom MAX7219, der 
anscheinend mit 5V laufen sollte, konvertiert werden.

von Dominik (dom_dom)



Lesenswert?

Jörg R. schrieb:
> @TO
> Versuche mal anhand der Beschreibung von Axel einen Schaltplan zu
> erstellen.

Ich habe mal versucht den Schaltplan mal nachzubauen. Ich hoffe, dass 
der so richtig ist und ich keine Fehler gemacht habe.

Ich habe da auch quasi schon beide Display´s a 4 Dig integriert.

Jetzt wäre noch die ganz große Frage, wie ich das über den Pi überhaupt 
ansteuern kann. Wie muss ich was machen :)

Danke schonmal

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Dominik schrieb:
> Ich habe mal versucht den Schaltplan mal nachzubauen.
Ein Tipp: gib den TIP auch Bauteilnamen.

> Ich hoffe, dass der so richtig ist
Denn dann muss ich nicht sagen: "Der zweite links unten sieht seltsam 
angeschlossen aus", sondern kann sagen: "kontrollier mal den Anschluss 
vom IC6". Ich würde da anhand der Punkte einen Kurzschluss zwischen den 
mittleren beiden der 4 Leitungen vermuten.

Und generell: poste Schaltpläne besser als Screenshot im PNG Format. 
Dann ist das Ansehen und Korrigieren einfacher.

> Jetzt wäre noch die ganz große Frage, wie ich das über den Pi überhaupt
> ansteuern kann. Wie muss ich was machen :)
Üblicherweise geht das so: man liest das Datenblatt des entspechenden 
ICs und erzeugt die Signale in der Reihenfolge wie der es braucht. Das 
nennt sich "hardwarenahes Programmieren".

Andere würde den Chat-Antwortautomaten oder Google nach Code zur 
Ansteuerung des TIP fragen. Nur muss man dann auch bewerten können, ob 
der vorgeschlagene Code das macht, was man braucht.

: Bearbeitet durch Moderator
von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Und generell: poste Schaltpläne besser als Screenshot im PNG Format.
> Dann ist das Ansehen und Korrigieren einfacher.

Ne, PDF ist das einzig richtige Format. Dann kann man beliebig 
reinzoomen und die Schrift bleibt immer sauber lesbar.
Keine Schatten und Krakel, wie bei PNG.
PDF-Export sollte heutzutage jedes CAD-Tool können.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Keine Schatten und Krakel, wie bei PNG.
JPEG ist das Format, das solche Kompressionsartefakte mit sich bringt.

Aber im speziellen Fall hier hast du Recht: der Plan ist so unhandlich 
(mit rießengroßen und winzigen Fonts gleichzeitig), dass ein Screenshot 
unscharf wird.

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Dominik schrieb:
> Jetzt wäre noch die ganz große Frage, wie ich das über den Pi überhaupt
> ansteuern kann. Wie muss ich was machen :)

Anbei mal die Wandlung nach 7s und Ausgabe für 7 Stück 3-stellige 
Anzeigen (= 21 Schieberegister 74HC595) auf einem ATtiny261.
Es können 3 beliebige Portpins verwendet werden.
Nur der Pin OEN geht an einen PWM Ausgang zur Helligkeitseinstellung.
Die Segmente sind für ein optimales Routing zugeordnet.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Nur der Pin OEN geht an einen PWM Ausgang zur Helligkeitseinstellung.
Genau so würde ich die Helligkeit hier nicht einstellen. Denn dann 
könnte es sein, dass die Kamera die Anzeige genau dann aufnimmt, wenn 
die grade dunkel ist.

Die Helligkeit würde ich wie gesagt über die 12V-Segmentversorgung 
ändern, denn nur dann sind die Anzeigen auch bei kürzester 
Belichtungszeit immer an.

von Rainer W. (rawi)


Lesenswert?

Lothar M. schrieb:
> Denn dann könnte es sein, dass die Kamera die Anzeige genau dann
> aufnimmt, wenn die grade dunkel ist.

Eine Kamera macht keine Momentaufnahmen, sondern integriert über die 
Belichtungszeit. Die Belichtung muss idealerweise mit dem PWM-Signal 
sychronisiert sein, oder man wählt die Belichtungszeit lang gegen die 
Periode des PWM-Signals.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rainer W. schrieb:
> integriert über die Belichtungszeit.
Sag ich ja: wenn die Led dann grade aus ist, gibts nichts zu belichten.

> Die Belichtung muss idealerweise
> mit dem PWM-Signal sychronisiert sein
Gehen wir einfach mal davon, dass der TO Dominik das nicht hinbekommt.

> oder man wählt die
> Belichtungszeit lang gegen die Periode des PWM-Signals.
Wenn man das kann.

Aber wenn man den ganzen Zinnober nicht will, dann dimmt man über die 
Versorgungsspannung.

: Bearbeitet durch Moderator
von Falk B. (falk)


Lesenswert?

Lothar M. schrieb:
>> Die Belichtung muss idealerweise
>> mit dem PWM-Signal sychronisiert sein
> Gehen wir einfach mal davon, dass der TO Dominik das nicht hinbekommt.

Er könnte eine fertige Lösung nachbauen. Ist aber vermutlich zu einfach 
;-)

Beitrag "Re: TTL Signal Verstärken und invertieren"

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

Dominik schrieb:
> Jörg R. schrieb:
>> @TO
>> Versuche mal anhand der Beschreibung von Axel einen Schaltplan zu
>> erstellen.
>
> Ich habe mal versucht den Schaltplan mal nachzubauen. Ich hoffe, dass
> der so richtig ist und ich keine Fehler gemacht habe.

Der Plan ist nicht besonders schön, und er enthält viele Fehler..das 
wurde ja schon geschrieben. Immerhin gibt es aber einen Plan, dass ist 
vielmehr als in anderen ähnlichen Threads.

Versuche die Fehler zu beseitigen. Gib den Bauteilen Bezeichnungen, also 
z.B. IC1, IC2, R1, R2 usw.. Die ICs benötigen Abblockkondensatoren.

Dann solltest Du einen kleinen Versuchsaufbau auf einem Breadboard 
machen, fürs erste mit 2 Chips und 2 Displays. Die Displays können für 
den Test kleine sein, bei denen die 5V Versorgungsspannung der Chips 
ausreicht.

Die Widerstände von 220R würde ich größer auslegen, bei modernen 
Displays brauchst Du keinen 20mA Segmentstrom.

Ich würde auf grüne Displays wechseln, wegen der Leuchtkraft.
Egal ob rot oder grün, eine Filterscheibe gehört auf jeden Fall vor die 
Displays.

> Ich habe da auch quasi schon beide Display´s a 4 Dig integriert.

Ja, das sieht auch schon ganz gut aus.

> Jetzt wäre noch die ganz große Frage, wie ich das über den Pi überhaupt
> ansteuern kann. Wie muss ich was machen :)

Das ist eigentlich Deine Baustelle, Du kommst doch aus der Software:-)

Dimmen würde ich wie Lothar es geschrieben hat, über die 
Versorgungsspannung. Das ginge z.B. mit dem historischen IC LM317.

Hier ist ein Video in dem der 74HC595 sehr gut erklärt wird:

https://youtu.be/2Cs4IFqiVW8?si=8sc7SsVxl7nzJJL8

Das hilft Dir auch bei der Kontaktierung zum Raspi, oder einem anderen 
IC. Die Zuordnung der Segmente A-G (DP?) zwischen ICs und Software 
sollte für Dich kein Problem sein.

Datenblätter:
https://www.ti.com/lit/ds/symlink/tpic6c595.pdf
https://www.ti.com/lit/ds/symlink/sn74hc595.pdf?

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.