TTL Signal Verstärken und invertieren

#7736906
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?

#7736913
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.

#7736922
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?

#7736954
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.

Moderator (Firma: Titel) Persönliche Seite #7737009
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.

#7737016
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]

Moderator (Firma: Titel) Persönliche Seite #7737044
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.

#7737054
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.

Angehängte Dateien:
#7737057
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.

#7737068
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.

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7737176
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:

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

#7737184
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.

#7737437
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.

(Firma: Schweigstill IT) Persönliche Seite #7737449
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.

#7737607
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

#7737633
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.

#7737689
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

#7737750
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.

#7737753
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 :)

#7737764
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.

#7737769
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 ...

#7737782
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...

#7737783
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?

#7737821
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.

#7737932
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.

#7737949
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.

#7737971
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.

Beitrag #7737973 wurde von einem Moderator gelöscht.
#7738074
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 :)

#7738349
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

Moderator (Firma: Titel) Persönliche Seite #7738372
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.

Angehängte Dateien:
#7738385
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.

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7738430
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.

#7739174
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.

Moderator (Firma: Titel) Persönliche Seite #7739213
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.

#7739410
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?

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren