Forum: Mikrocontroller und Digitale Elektronik 7 segment cd4543 und 7 Segment Grundsatzfrage


von Chris G. (Firma: keine) (schweiz)


Lesenswert?

Moin,
Ich hatte vor eine 3 stellige 7 Segment Anzeige zu realisieren indem ich 
3x einen cd4543 und 3 x 7segment (gemeinsame Anode) 12V und einen 
uln2803 benutze. Vom uP direkt angesteuert wird der uln2803 also einmal 
die 4 Datenleitungen (BCD code) und 3 mal der latchpin für jeweils eine 
7segment. Die Datenleitungen (A, B, C, D) + Latch wären alle parallel an 
den cd4543geschalten und mit pull up Widerständen versehen (wegen des 
uln2803). Ich sollte also mit 5V die cd4543 über den uln2803 schalten 
können.
Weiter ist meine Idee die jeweils anzuzeigende Stelle mit dem uP zu 
berechen (hunderter, Zehner und einer) und die jeweilige Zahl 
nacheinander an die 3 7 Segment Anzeigen zu schicken.
Beispiel: Zahl ist 987.
-den latch für die hunderter auf High
-Bcd Code für 9 an alle 7 segment schicken
-Latch wieder auf 0.
-latch für Zehner auf High
-bcd Code für 8 an alle 7 Segment schicken
-latch wieder auf 0
-und für einer nochmal das gleiche

Jetzt die Frage ob ich mit meinen Gedanken soweit richtig liege oder ob 
ich etwas grundlegendes vergessen habe. Also, dass der BCD Code  durch 
den uln2803 dann quasi invertiert ist sollte keine Probleme 
darstellen(?).
Gerade beim Timing des uP bin I h mir unsicher ob es nicht ins große 
flackern ausartet. Apropos, die Anzeige wird vielleicht 2-3 Mal pro 
Sekunde aktualisiert.
Das sollte doch eigentlich ausreichend schnell sein für den uP
Danke für eure Impressionen und Gedanken

Gruß
Schweizzzz

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Chris S. schrieb:
> Vom uP direkt angesteuert wird der uln2803

Welches Problem soll der da lösen?

von c-hater (Gast)


Lesenswert?

Chris S. schrieb:

[Gesülze]

Poste einen SCHALTPLAN, dazu eventuell noch kurze Anmerkungen. Das 
ist die Sprache der Leute, die sich über Elektronik unterhalten.

Alles andere ist nutzloses Gesülze, was alle Beteiligten nur sinnlos 
Zeit kostet...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Noch 'ne Frage: 12V? Wozu?

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

c-hater schrieb:
> Chris S. schrieb:
>
> [Gesülze]
>
> Poste einen SCHALTPLAN, dazu eventuell noch kurze Anmerkungen. Das
> ist die Sprache der Leute, die sich über Elektronik unterhalten.
>
> Alles andere ist nutzloses Gesülze, was alle Beteiligten nur sinnlos
> Zeit kostet...

Ja ja. Da hast du völlig Recht. Ich sitz schon dran. Rüge zurecht

Wenn ich die cd4345 mir 5V vom uP ansteuern blicken die das nicht bei 
12V Versorgungsspannung. Aber der Schaltplan kommt. Dann ist sicherlich 
einiges klarer

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Chris S. schrieb:
> blicken die das nicht bei 12V Versorgungsspannung.

Aber wozu brauchst Du 12V Versorgungsspannung, wenn Du damit 
Leuchtdioden ansteuern willst?

von Chris G. (Firma: keine) (schweiz)


Angehängte Dateien:

Lesenswert?

anbei der schaltplan wie ich mir das vorstelle.

die 12V sind vorgegeben, da lässt sich leider nichts dran rütteln. ich 
würde das gerne alles auf 5V belassen aber nunja.

von Harald W. (wilhelms)


Lesenswert?

Chris S. schrieb:

> die 12V sind vorgegeben,

Dann solltest Du zusätzliche Widerstände in die Segmentleitungen
schalten, um die überflüssigen 7V zu verbraten.

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

Harald W. schrieb:
> Chris S. schrieb:
>
>> die 12V sind vorgegeben,
>
> Dann solltest Du zusätzliche Widerstände in die Segmentleitungen
> schalten, um die überflüssigen 7V zu verbraten.

ja absolut! der widerstand an der gemeinsamen Anode bedeuted 
unterschiedliche Helligkeit je nachdem was angezeigt wird oder?

von Jens M. (schuchkleisser)


Lesenswert?

Die LEs brauchen auch Pullups, und die Segmente Widerstände, sonst sind 
die Ziffern verschieden hell.
Der Digitwiderstand kann weg.

Aber im Grunde kannst du die Sache viel einfacher mit 3 TPIC5B595 
ansteuern:
-weniger Pins am Proz
-Weniger ICs
-weniger Widerstände
-mehr Flexibilität an den Displays

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


Lesenswert?

Chris S. schrieb:
> die 12V sind vorgegeben, da lässt sich leider nichts dran rütteln

Na und? Ein Spannungsregler, um von 12V auf 5V runterzuregeln, wird ja 
wohl nicht verboten sein. Die LED brauchen einen gewissen Strom. Ob du 
die extra Spannung an den Vorwiderständen oder an einem Spannungsregler 
verbrätst, macht am Ende keinen Unterschied.

Die HDSP-7501 sind winzige (8mm) Displays mit typisch 2V Flußspannung. 
Betreibe die Decoder und Displays einfach mit 5V und fertig. Den ganzen 
Pegelwandler-Krempel kannst du dir sparen.

Und natürlich gehören die Strombegrenzungswiderstände in die 
Segment-leitungen. Die gemeinsame Anode der Anzeigen geht direkt an 5V.

von Jörg R. (solar77)


Lesenswert?

Chris S. schrieb:
> anbei der schaltplan wie ich mir das vorstelle.
>
> die 12V sind vorgegeben, da lässt sich leider nichts dran rütteln. ich
> würde das gerne alles auf 5V belassen aber nunja.

https://www.mikrocontroller.net/attachment/392080/7seg.PNG

Die Schaltung funktioniert meiner Ansicht nach nicht, aus mehreren 
Gründen:

- der CD4543 ist zur Ansteuerung von LCD 7-Segment konzipiert. Der 
treibt kein LED 7-Segment Display.

- selbst wenn er es treiben würde müsste das Display CK sein, nicht CA. 
Bei z.B. einer „8“ gibt er für jedes Segment „H“ aus. Ein Display wie 
dein HDSP-7501 benötigt aber „L“ um ein Segment leuchten zu lassen.

- der Widerstand an Pin 6 des Displays ist überflüssig, sogar 
kontraproduktiv. Mit 4K7 würden die Segmente nur glimmen, wenn 
überhaupt. Je mehr Segmente leuchten würden, umso dunkler wird es je 
Segment.

- die korrekten ICs vorausgesetzt müsste je Segment ein Vorwiderstand 
vorgesehen werden.

- der ULN2803 ist überflüssig, er invertiert die Signale des uC zudem. 
In der Schaltung soll er wohl als Pegelwandler dienen, aber das würde 
ich sauberer lösen. Ein 5V Spanungsregler, wie auch in einem anderen 
Kommentar erwähnt, würde so manches erleichtern. Der uC muss doch auch 
versorgt werden.

Sind die Displays vorgegeben? Sonst würde ich welche mit CK nehmen, zur 
Ansteuerung dann den CD4511.

: Bearbeitet durch User
von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Jörg R. schrieb:
> - der CD4543 ist zur Ansteuerung von LCD 7-Segment konzipiert. Der
> treibt kein LED 7-Segment Display.

Nexperia Datenblatt: "The HEF4543B is a BCD to 7-segment 
latch/decoder/driver for liquid crystal and LED displays."

> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA
Siehe Datenblatt Seite 11 ...

Also mal schön ruhig oder lesen!

von Jörg R. (solar77)


Lesenswert?

Manfred schrieb:
> Jörg R. schrieb:
>> - der CD4543 ist zur Ansteuerung von LCD 7-Segment konzipiert. Der
>> treibt kein LED 7-Segment Display.
>
> Nexperia Datenblatt: "The HEF4543B is a BCD to 7-segment
> latch/decoder/driver for liquid crystal and LED displays."
>
>> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA
> Siehe Datenblatt Seite 11 ...

Ich hatte dieses Datenblatt als Vorlage, und da steht in der 
Beschreibung „for LCD...“ (etwas abgekürzt)

http://www.ti.com/lit/ds/symlink/cd4543b.pdf

Im DB weiter steht dann allerdings das mit PH ausgewählt werden kann ob 
CK oder CA. das habe ich übersehen. Nicht übersehen habe ich aber dass 
der Chip nicht viel an Strom treibt, schon gar nicht bei 5 Volt.

Es gibt bessere als den, und welche der TO hat wissen wir nicht.


> Also mal schön ruhig oder lesen!

Und ganz ohne erhobenen Zeigefinger geht es wohl nicht, oder?!

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Manfred schrieb:

> Nexperia Datenblatt: "The HEF4543B is a BCD to 7-segment
> latch/decoder/driver for liquid crystal and LED displays."
>
>> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA

>nexp_11.png

Ich denke, der 4543 ist wohl schon hauptsächlich für LCDs gedacht.
Da er dafür laufend zwischen positiver und negativer Logik umschalten
muss, bietet sich der Steuereingang eben auch dazu an, um zwischen
CA- und CK-Betrieb umzuschalten. Das ist recht praktisch für Anfänger,
die versehentlich die falschen Displays gekauft haben.

von Jörg R. (solar77)


Lesenswert?

Manfred schrieb:
> Nexperia Datenblatt: "The HEF4543B is a BCD to 7-segment
> latch/decoder/driver for liquid crystal and LED displays."
>
>> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA
> Siehe Datenblatt Seite 11 ...

Zwischem dem DB von TI und dem von Nexperia gibt es einige Unterschiede, 
nicht nur in der Anfangsbeschreibung.
Den Chip von Nexperia gibt es wohl nur in der Bauform SO16, nicht in 
DIL. Die Ausgangsströme sind noch niedriger wie bei den von TI. Da 
benötigt man schon gute LED-Displays damit es vernünftig leuchtet.

Ich würde den Chip nicht verwenden.

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


Lesenswert?

Jörg R. schrieb:

> Die Schaltung funktioniert meiner Ansicht nach nicht, aus mehreren
> Gründen:
>
> - der CD4543 ist zur Ansteuerung von LCD 7-Segment konzipiert. Der
> treibt kein LED 7-Segment Display.

Doch, tut er. Zwar nicht mit viel Strom, aber die klitzekleinen 8mm 
Displays brauchen ja nicht viel Strom und bei paralleler Ansteuerung 
(kein Multiplex) braucht er auch keinen höheren Pulsstrom.

> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA.

Datenblatt lesen. Über den Eingang PH kann man den 4543 umschalten. Für 
LCD legt man da ein 50-200Hz Rechtecksignal an, mit dem man auch die 
Backplane treibt.

> - der Widerstand an Pin 6 des Displays ist überflüssig
> - die korrekten ICs vorausgesetzt müsste je Segment ein Vorwiderstand
> vorgesehen werden.

Ja. Hatten wir jetzt schon mehrfach festgestellt.

von svensson (Gast)


Lesenswert?

Wenn die Anzeige doch mit 5V betrieben werden darf, wie wäre es mit dem 
74HCT4511 und gemeinsamer Kathode?
Der liefert immerhin bis zu 10mA pro Segment.

von Jens (Gast)


Lesenswert?

>>die 12V sind vorgegeben?

der uc läuft aber nicht lange mit 12V? Warum darf der uc mit 5V 
betrieben werden?

Für wen sind ie 12V vorgegeben? Für die Displays, oder auch für die 
Ansteuerung?

Gruß

JJ

von Jörg R. (solar77)


Lesenswert?

Axel S. schrieb:
>> - der Widerstand an Pin 6 des Displays ist überflüssig
>> - die korrekten ICs vorausgesetzt müsste je Segment ein Vorwiderstand
>> vorgesehen werden.
>
> Ja. Hatten wir jetzt schon mehrfach festgestellt.

Ja, und ich habe es etwas ausführlicher erklärt.


Axel S. schrieb:
>> Die Schaltung funktioniert meiner Ansicht nach nicht, aus mehreren
>> Gründen:
>>
>> - der CD4543 ist zur Ansteuerung von LCD 7-Segment konzipiert. Der
>> treibt kein LED 7-Segment Display.
>
> Doch, tut er. Zwar nicht mit viel Strom, aber die klitzekleinen 8mm
> Displays brauchen ja nicht viel Strom und bei paralleler Ansteuerung
> (kein Multiplex) braucht er auch keinen höheren Pulsstrom.

...nicht viel Strom ist relativ. Der 4543 liefert jedenfalls nicht viel, 
schon gar nicht bei 5V Versorgungsspannung.


>> - selbst wenn er es treiben würde müsste das Display CK sein, nicht CA.
>
> Datenblatt lesen. Über den Eingang PH kann man den 4543 umschalten. Für
> LCD legt man da ein 50-200Hz Rechtecksignal an, mit dem man auch die
> Backplane treibt.

Datenblatt lesen...
Zu CK, CA und PH hatte ich mich aufgrund von Manfreds Kommentar doch 
schon geäußert. Also, erstmal selber lesen;-)

Beitrag "Re: 7 segment cd4543 und 7 Segment Grundsatzfrage"


Ich würde die Schaltung auf 5 Volt auslegen, einen anderen 
Decoder/Treiber nehmen und den ULN...weglassen.

: Bearbeitet durch User
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
der CD4056 läuft bei mir ganz gut.
Der kann "alles".
GK , GA, und LCD mit Vee, falls gewünscht.

Und was wichtig ist: Der LE ist ein Impuls - kein Dauersignal nötig.
Das ist für die Ansteuersoftware wichtig.

Multiplexing auch gut.

ciao
gustav

: Bearbeitet durch User
von Ach Du grüne Neune (Gast)


Lesenswert?

Jörg R. schrieb:
> Ich würde die Schaltung auf 5 Volt auslegen, einen anderen
> Decoder/Treiber nehmen und den ULN...weglassen.

Ich würde es genau umgekehrt machen. Die drei 4543 weglassen und die 
7-Segmentanzeige über den ULN mit sieben Leitungen direkt ansteuern. 
Dann in der Anodenleitung je einen PNP-Transistor zum vermuxen einbauen.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Karl B. schrieb:
> der CD4056 läuft bei mir ganz gut.

Hi,
noch das Bildchen dazu.
Also, Widerstände für LEDs anpassen. GK.
Das Monoflop liefert mir die Latch-Impulse.
(Damit flimmert es unter anderem nicht.)
D0...D3 sind für Multiplexing zu "Bus" zusammengeschaltet.

ciao
gustav

: Bearbeitet durch User
von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Jörg R. schrieb:
> Ich würde die Schaltung auf 5 Volt auslegen, einen anderen
> Decoder/Treiber nehmen und den ULN...weglassen.

Full Ack.

1000 Wege führen nach Rom bzw. zur Anzeige.

Spannungsregler 5V (7805 , AMS 1117 5.0, o.ä.)

- mit 3 Stck. PCF8574 (I2C) statischer Betrieb
- mit 2 Stck. PCf8574 dynamischer Betrieb: 1 Chip steuert die Segmente 
A-G, der andere wird gemultiplexed und schaltet die Anzeigendigits durch

- mit 3 Stck. Schieberegister 74HC595 statischer Betrieb
- mit 2 Stck. Schieberegister 74HC595 dynamischer Betrieb (wie mit I2C)

da Dezimalpunkt nicht aufgelegt ist:

- mit 1 Stck. TM1651

----------------------------------------------

Democode für 2 Schieberegister gemultiplext beigefügt, Compiler ist SDCC 
3.6

Anschlüsse:
1
SCLK               = P1.0
2
STROBE_CLK (Latch) = P1.1
3
DIO                = P1.2

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Ach Du grüne Neune schrieb:
> Ich würde es genau umgekehrt machen. Die drei 4543 weglassen und die
> 7-Segmentanzeige über den ULN mit sieben Leitungen direkt ansteuern.
> Dann in der Anodenleitung je einen PNP-Transistor zum vermuxen einbauen.

Hi,
auch gute Idee.

Die "Russen" machen das so.
Und hier gibt es einen Artikel dazu noch:

https://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige#Schaltung

https://www.mikrocontroller.net/articles/Datei:Tut_7_Seg_03.gif

ciao
gustav

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Karl B. schrieb:

> der CD4056 läuft bei mir ganz gut.
> Der kann "alles".
> GK , GA, und LCD mit Vee, falls gewünscht.

Kann der auch mehr Strom als der 4543?

von Jens (Gast)


Lesenswert?

Karl B. schrieb:
> Die "Russen" machen das so.

Kann man so machen, als Ossi würde ich das noch simpler machen...

Vorausgesetzt, man hat 11 freie I/O-Pins am µC würde ich die jeweiligen 
LED-Segmente alle parallel schalten und über einen Widerstand (z.B. 
220R) an den I/O-Pin vom µC. Also P1.0 an Segment A, P1.1 an B und so 
weiter. Die gemeinsamen Anoden der 7-Segment-Anzeigen werden über 3 
Transistoren oder FETs an 5V gelegt und die Basis/Gate-Anschlüsse über 
einen Basis-Widerstand an die restlichen 3 Pins vom µC.

Die Ansteuerung funktioniert so, dass der µC den Transistor vom ersten 
Digit ansteuert und den Inhalt der Segmente ausgibt. Danach wird ca. 5ms 
gewartet. Als nächstes wird der Vorgang mit Digit 2 wiederholt und 
danach mit Digit 3. Die BCD zu 7-Segment-Wandlung wird im µC über eine 
kleine Tabelle gemacht. Durch die recht hohe Refresh-Frequenz von 66Hz 
flimmert da auch nichts.

Einfach mal nach LED-Multiplexansteuerung suchen.

von Karl B. (gustav)


Lesenswert?

Hi,
für Multiplexing gibt es extra 
BCD-zu-Siebensegment-Zwischenspeicher-Decoder-ICs.
Man braucht bei dem CD4056 nur vier Bits für den BCD-Code, und diese 
Leitungen werden bei der Beschaltung im Bild parallelgeschaltet. Das 
Fan-In der CD4056-Ics ist dazu ausreichend, zumindest bei vier Stellen 
getestet.

Dann brauche ich nur noch vier Leitungen für die Stellen anzusteuern. 
Das mache ich mit definierten Impulsen für LE von Monoflops, die so kurz 
wie möglich und nur so lang wie nötig sein sollen. Das kann auch die MCU 
dann.
Davor kommen noch Buffer, davor RC-Glieder, die eine leichte Verzögerung 
bewirken, damit es nicht zum "Übersprechen" kommt und die Schaltung 
davor so weit wie möglich hochohmig entkoppelt/entlastet wird.
Also 8 Leitungen plus GND evtl. noch +Vcc. Mit dem 10-poligen 
Pfostenstecker kommt man da aus. Bei vier Stellen.,

ciao
gustav

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Chris S. schrieb:
> Jetzt die Frage ob ich mit meinen Gedanken soweit richtig liege

Wie KOMMT man auf so abstruse Ideen ?

Die reihenweisen Fehler hat man dir ja schon aufgezählt.

Hast du niemals geguckt, wie Andere so etwas machen ?

Chris S. schrieb:
> Apropos, die Anzeige wird vielleicht 2-3 Mal pro Sekunde aktualisiert.

Wie oft sich die Zahlen ändern ist egal, man muss schon mit 100 Hz die 
Stellen wechseln damit es nicht flimmert auch wenn man immer dieselbe 
Zahl darstellen will.

Zudem muss eine einzelne Stelle 3 mal so hell mit 3 mal so viel Strom 
betrieben werden damit sie, da sie 2/3 der Zeit ausgeschaltet ist, genau 
so hell erscheint wie mit Dauerstrom.

Ein ULN2803 (warum eigentlich ULN2803 statt ULN2003, ist es sinnvoll 
wenn 1 übrig bliebt ? Noch so eine abstuse Entscheidung von dir) ist 
nicht unbedingt schnell, jede Millisekunde die Stelle zu wechseln kann 
also zu Schmiereffekten führen.

Obwohl es Gründe geben könnte, 7-Segment Anzeigen mit 12V zu versorgen, 
die Grossanzeigen mit mehreren LEDs in Reihe, trifft das für HDSP7501 
nicht zu, ich denke also daß auch da deine Begründung warum du nicht die 
VCC des uC mit 5V verwenden willst, Humbug ist.

von Harald W. (wilhelms)


Lesenswert?

Karl B. schrieb:

> Das Fan-In der CD4056-Ics ist dazu ausreichend,
> zumindest bei vier Stellen getestet.

"Fan-In" kann man bei CMOS vernachlässigen. Das war nur bei TTL wichtig.

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


Lesenswert?

Karl B. schrieb:
> für Multiplexing gibt es extra
> BCD-zu-Siebensegment-Zwischenspeicher-Decoder-ICs.

Nein. Das hat nichts mit Multiplexing zu tun.

> Man braucht bei dem CD4056 nur vier Bits für den BCD-Code, und diese
> Leitungen werden bei der Beschaltung im Bild parallelgeschaltet.
>
> Dann brauche ich nur noch vier Leitungen für die Stellen anzusteuern.

Ja. Nur ist das kein Multiplexing, sondern eher vergleichbar mit einem 
einfachen parallelen Bus. Es gibt einen Datenbus mit 4 Leitungen und 
einen Adreßbus nicht mit binär codierten Adreßbits, sondern mit 
ausdecodierten Select-Signalen (ist bei nur 3 Empfängern am Bus egal, 
wie herum man das macht).

Die 3 Decoder steuern die LED-Displays dann statisch an. Im Gegensatz zu 
einer Mutiplex-Ansteuerung leuchtet jede Anzeige permanent. Und man muß 
auch nur dann neue Daten in die Decoder schreiben, wenn sich der 
angezeigte Wert ändern soll.

Bei einer echten Multiplex-Ansteuerung leuchtet jede Anzeige nur für 
einen Teil des Multiplex-Zyklus. Und man muß die Ansteuerung permanent 
(zwischen den Digits) umschalten, auch dann wenn immer nur der gleiche 
Wert angezeigt werden soll.

von Mein Senf (Gast)


Lesenswert?

Da es sich hier um eine Grundsatzfrage handelt, interessiert mich, warum 
man nicht ein dreistelliges LED-Display mit seriellen Anschluss 
verwendet.
Da kann man sich ne halbe Chipstüte einsparen. Zum Testen kann man das 
sogar fliegend verlöten.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ich bin schon im ersten Text an der Formulierung
"dass der BCD Code  durch den uln2803 dann quasi invertiert ist"
hängen geblieben. Hex kann man einfach invertieren, aber wenn man BCD 
0...9 invertiert kommen die Ziffern F...6 heraus.

von Harald W. (wilhelms)


Lesenswert?

Mein Senf schrieb:

> Da es sich hier um eine Grundsatzfrage handelt, interessiert mich, warum
> man nicht ein dreistelliges LED-Display mit seriellen Anschluss
> verwendet.

Nun, für Displays mit mehr Stellen gibts sowas schon lange
standardmäßig )bei Pollin habs ich nur am schnellsten gefunden):
https://www.pollin.de/p/lcd-modul-tc1602a-09-120422

von spess53 (Gast)


Lesenswert?

Hi

>Nun, für Displays mit mehr Stellen gibts sowas schon lange
>standardmäßig )bei Pollin habs ich nur am schnellsten gefunden):
>https://www.pollin.de/p/lcd-modul-tc1602a

Was hat das mit der Frage von Mein Senf (Gast) zu tun?

Das ist weder eine LED-Anzeige, noch ist es seriell.

MfG Spess

von Karl B. (gustav)



Lesenswert?

Axel S. schrieb:
> Bei einer echten Multiplex-Ansteuerung leuchtet jede Anzeige nur für
> einen Teil des Multiplex-Zyklus. Und man muß die Ansteuerung permanent
> (zwischen den Digits) umschalten, auch dann wenn immer nur der gleiche
> Wert angezeigt werden soll.
Yep,
ok. Die VFD-Röhren werden ja so angesteuert. Tatsächlich ist die 
Helligkeit in etwa "geviertelt."
Habe im Prinzip einen Impuls mit Duty cycle 1:4.
Die Tastung rutscht nun den High-Zustand jeweils um eine Viertelperiode 
weiter.
Dann liefert mir das Russen-IC vier Impulse und auch Ausgänge, zwar alle 
128 Hz, aber mit "Versatz".

Und ich war schon gedanklich etwas weiter, ich brauchte eine "statische 
Anzeige" zurück.
Also, wenn man so will, Demultiplexing.

Das Prob. war, dass sich die Impulse überlappen. Was für das Multiplexen 
der Anzeigeröhren gut geht, reicht für "sauberes" Demultiplexen nicht. 
Daher noch die R/c-Glieder und Puffer und Monoflops davor.

Hier noch einmal beide Schaltpläne im Zusammenhang.

Zu der µC-Lösung mit Multiplexing wäre zu sagen, dass die Anzeige 
ständig vom µC angesteuert werden muss, auch wenn sich an der Anzeige 
nichts ändert. Besser wäre es, den µC nicht mit dieser Aufgabe 
zusätzlich zu belasten, die Anzeige-Ausgabe nur zyklisch ausführen, 
damit der µC in der Zwischenzeit für andere Aufgaben frei bleibt. Dazu 
eben Speicher-ICs oder die BCD-Siebensegment-Decoder-Speicher-ICs. 
Proggi folgt auch. Ist sehr simpel.

ciao
gustav

: Bearbeitet durch User
von Mein Senf (Gast)


Angehängte Dateien:

Lesenswert?


von Karl B. (gustav)


Lesenswert?

Mein Senf schrieb:
> Sind allerdings 4 Digits. Aber bei dem Preis....
> Bin sehr zufrieden damit.

Chris S. schrieb:
> Danke für eure Impressionen und Gedanken

Er möchte doch basteln.

ciao
gustav

von Daniel S. (supernova01)


Lesenswert?

"der"

hat sich seit 2 Tage nicht mehr gemeldet - die Unterhaltung wird ohne 
Ihn geführt... :-)


Gruß
DS

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

Dennis S. schrieb:
> "der"
>
> hat sich seit 2 Tage nicht mehr gemeldet - die Unterhaltung wird ohne
> Ihn geführt... :-)

"der" meldet sich nach 2 Tagen wieder :P

> Wie oft sich die Zahlen ändern ist egal, man muss schon mit 100 Hz die
> Stellen wechseln damit es nicht flimmert auch wenn man immer dieselbe
> Zahl darstellen will.
> Zudem muss eine einzelne Stelle 3 mal so hell mit 3 mal so viel Strom
> betrieben werden damit sie, da sie 2/3 der Zeit ausgeschaltet ist, genau
> so hell erscheint wie mit Dauerstrom.

wenn ich die 3 digits mit dem latch "speichere" kann sich der uP um 
andere Dinge kümmern (Falsch?)
ich verstehe nicht warum ich die Digits ständig "updaten" soll, wenn die 
Änderung der Anzeige doch verhältnismäßig selten passiert. Ist es nicht 
besser die Änderung nur dann vorzunehmen, wenn sie eben nötig ist?

> Ein ULN2803 (warum eigentlich ULN2803 statt ULN2003, ist es sinnvoll
> wenn 1 übrig bliebt ? Noch so eine abstuse Entscheidung von dir) ist
> nicht unbedingt schnell, jede Millisekunde die Stelle zu wechseln kann also zu 
Schmiereffekten führen.

ULN2803 ist keine bewusste eintscheidung sondern schon gegeben

> Obwohl es Gründe geben könnte, 7-Segment Anzeigen mit 12V zu versorgen, die 
Grossanzeigen mit mehreren LEDs in Reihe, trifft das für HDSP7501 nicht zu, ich 
denke also daß auch da deine Begründung warum du nicht die VCC des uC mit 5V 
verwenden willst, Humbug ist.

es ist keine Frage des Wollens. siehe oben

Christoph db1uq K. schrieb:
> Ich bin schon im ersten Text an der Formulierung
> "dass der BCD Code  durch den uln2803 dann quasi invertiert ist"
> hängen geblieben. Hex kann man einfach invertieren, aber wenn man BCD
> 0...9 invertiert kommen die Ziffern F...6 heraus.

Der ULN "schaltet" doch nach Masse, was auch der Grund für die pull-ups 
nach dem ULN sind. Wenn der uP eine "0" ausgeben soll, muss ich die 4 
pins (die an den ULN I0 - I3 gehen) auf High setzen. an den Eingängen A 
B C D vom 4543 liegt ja dann jeweils ca. 0,7V an. Mit invertieren meinte 
ich also die Wahreitstabelle im DB vom 4543.

Ich hab die Schaltung mal zusammengeschustert und sie funktioniert gut.

von Jörg R. (solar77)


Lesenswert?

Chris S. schrieb:
> Ich hab die Schaltung mal zusammengeschustert und sie funktioniert gut.

Wenn Du sie nach diesem Schaltplan „zusammengeschustert“ hast möchte ich 
bezweifeln das sie gut funktioniert.

https://www.mikrocontroller.net/attachment/392080/7seg.PNG

Die 4K7 Widerstände zwischen den 12 Volt und der Anode an jedem Display 
wurden schon mehrfach als Nachteilig erwähnt. Er sorgt dafür dass die 
Segmente nicht gleichmäßig hell leuchten, je nachdem wieviele Segmente 
leuchten. Sind es alle 7 fließen ca. 300uA je Segment. Leuchten nur 2 
Segmente sind es ca. 1mA je Segment. Das ist nur eine grobe Berechnung. 
Leuchten die Displays wirklich hell genug, oder haben diese Widerstände 
einen kleineren Wert. Gleichmäßig leuchten sie mit Sicherheit nicht.

Die invertierenden Eingänge Pin 1 (LE) vom CD4543 sollten auch mit 
Pullups versehen werden. Andernfalls hängen sie in der Luft, wenn der 
ULN nicht schaltet.

von Michael B. (laberkopp)


Lesenswert?

Chris S. schrieb:
> wenn ich die 3 digits mit dem latch "speichere" kann sich der uP um
> andere Dinge kümmern (Falsch?)
> ich verstehe nicht warum ich die Digits ständig "updaten" soll, wenn die
> Änderung der Anzeige doch verhältnismäßig selten passiert. Ist es nicht
> besser die Änderung nur dann vorzunehmen, wenn sie eben nötig ist?

Richtig. Ich habe das Latch übersehen, entsprechende Schlussfolgerungen 
waren also falsch.

von Maxim B. (max182)


Lesenswert?

Karl B. schrieb:
> Die "Russen" machen das so.
> Und hier gibt es einen Artikel dazu noch:
>
> 
https://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige#Schaltung
>
> https://www.mikrocontroller.net/articles/Datei:Tut_7_Seg_03.gif

Die Russen machen das noch besser:
Schaltung 2: hier werden 4 Widerstände überflüssig, wenn 
npn-Transistoren genommen werden. Vorausgesetzt, Vcc = 5 Volt. Bei 3 
Volt und grünen Anzeige könnte das schon etwas grenzwertig werden (Blau 
geht mit 3 V Vcc gar nicht). Dann passen hier besser P-MOSFET.

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

Jörg R. schrieb:
> Chris S. schrieb:
>> Ich hab die Schaltung mal zusammengeschustert und sie funktioniert gut.
>
> Wenn Du sie nach diesem Schaltplan „zusammengeschustert“ hast möchte ich
> bezweifeln das sie gut funktioniert.
>
> https://www.mikrocontroller.net/attachment/392080/7seg.PNG
>
> Die 4K7 Widerstände zwischen den 12 Volt und der Anode an jedem Display
> wurden schon mehrfach als Nachteilig erwähnt. Er sorgt dafür dass die
> Segmente nicht gleichmäßig hell leuchten, je nachdem wieviele Segmente
> leuchten. Sind es alle 7 fließen ca. 300uA je Segment. Leuchten nur 2
> Segmente sind es ca. 1mA je Segment. Das ist nur eine grobe Berechnung.
> Leuchten die Displays wirklich hell genug, oder haben diese Widerstände
> einen kleineren Wert. Gleichmäßig leuchten sie mit Sicherheit nicht.
>
> Die invertierenden Eingänge Pin 1 (LE) vom CD4543 sollten auch mit
> Pullups versehen werden. Andernfalls hängen sie in der Luft, wenn der
> ULN nicht schaltet.

Moin,
ja Sie haben natürlich Recht. Ich sollte erwähnen, dass die LE Leitungen 
auch mit pullups versehen wurden. Die 4k7 Wid. habe ich auch durch 1k5 
Wid ersetzt. Es ist natrülich so wie Sie sagen, dass die "1" am hellsten 
leuchtet und die "8" am dunkelsten. Das hielt ich aber für den Aufbau 
für unwichtig. Es wurde ja bereits mehrfach erwähnt dass die Wid 
zwischen 7 Segment und den 4543 gehören. für das Proof of Concept, wie 
gesagt, hielt ich das für irrelevant.

Michael B. schrieb:
> Chris S. schrieb:
>> wenn ich die 3 digits mit dem latch "speichere" kann sich der uP um
>> andere Dinge kümmern (Falsch?)
>> ich verstehe nicht warum ich die Digits ständig "updaten" soll, wenn die
>> Änderung der Anzeige doch verhältnismäßig selten passiert. Ist es nicht
>> besser die Änderung nur dann vorzunehmen, wenn sie eben nötig ist?
>
> Richtig. Ich habe das Latch übersehen, entsprechende Schlussfolgerungen
> waren also falsch.

"Richtig und falsch, das sind doch bürgerliche Kategorien" (Joke 
intended)

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


Lesenswert?

Chris S. schrieb:
>
> wenn ich die 3 digits mit dem latch "speichere" kann sich der uP um
> andere Dinge kümmern (Falsch?)

Nicht falsch. Aber egal. Die Anzeige zu multiplexen braucht auch auf 
einem kleinen µC nur vielleicht 0.1% Rechenzeit. Und natürlich macht man 
so etwas im Timer-Interrupt.

> ich verstehe nicht warum ich die Digits ständig "updaten" soll

Du "sollst" gar nicht. Aber es ist eben eine Eigenheit der Multiplex- 
Ansteuerung, daß du mußt. Und Multiplexen macht man nicht aus Jux und 
Dollerei, sondern weil es handfeste Vorteile hat. Z.B. braucht man viel 
weniger Leitungen zwischen den Displays und dem Rest der Elektronik. Du 
bräuchtest dann auch nur einen Decoder statt drei. Bzw. gar keinen, denn 
natürlich kann der µC die Decodierung auch gleich in Software machen.

> ULN2803 ist keine bewusste eintscheidung sondern schon gegeben

Faszinierend. So ziemlich alles an deiner Schaltung scheint ja schon 
vorgegeben zu sein. Warum fragst du dann überhaupt, wenn du doch gar 
keine Freiheitsgrade mehr hast?

Auf jeden Fall ist es für uns höchst unbefriedigend, immer dann wenn 
wir dir ein besonders schlecht gelungenes Detail deiner Schaltung zeigen 
und eine Verbesserung vorschlagen, von dir zu hören "das ist 
vorgegeben".

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

> Faszinierend. So ziemlich alles an deiner Schaltung scheint ja schon
> vorgegeben zu sein. Warum fragst du dann überhaupt, wenn du doch gar
> keine Freiheitsgrade mehr hast?
>
> Auf jeden Fall ist es für uns höchst unbefriedigend, immer dann wenn
> wir dir ein besonders schlecht gelungenes Detail deiner Schaltung zeigen
> und eine Verbesserung vorschlagen, von dir zu hören "das ist
> vorgegeben".

Verstehe ich nicht so ganz. Die Vorschläge die kamen -> ULN weglassen 
oder die 12V in Frage zu stellen sind ja okay und auch gut. Nur sind es 
eben Dinge die vorhanden sind. Wäre es nicht höchst unbefriedigend, 
immer dann wenn ein Vorschlag kommt zu lügen und ihn als Spitzenidee zu 
benennen?

Wie gesagt, ich bin für jeden Vorschlag dankbar, aber es gibt ja Gründe 
warum ich das so nicht machen will/kann.

von Karl B. (gustav)


Lesenswert?

Hi,
Du kannst ja auch Treiber einbauen.
Siehe hier:
Beitrag "Schaltplanvergleich russische Digitaluhr"
Bitte ganz durchlesen.
Und ULN-Treiber natürlich auch. Nicht nur Transistoren.
Welche Vorteile das bringt, muss Du selbst entscheiden.


ciao
gustav

von Jörg R. (solar77)


Lesenswert?

Chris S. schrieb:
> ja Sie haben natürlich Recht. Ich sollte erwähnen, dass die LE Leitungen
> auch mit pullups versehen wurden. Die 4k7 Wid. habe ich auch durch 1k5
> Wid ersetzt. Es ist natrülich so wie Sie sagen, dass die "1" am hellsten
> leuchtet und die "8" am dunkelsten. Das hielt ich aber für den Aufbau
> für unwichtig. Es wurde ja bereits mehrfach erwähnt dass die Wid
> zwischen 7 Segment und den 4543 gehören. für das Proof of Concept, wie
> gesagt, hielt ich das für irrelevant.

Hier ein Widerstand ersetzt...da muss man sich Widerstände denken, hier 
wird ein Wert verändert...und..und...und.

Das ist nicht irrelevant, es führt allerdings zu unnötigen Verwirrungen 
und vermeidbaren Nachfragen.


Bis auf den uC hätte ich KEINES der Bauteile so gewählt. Kleine 
Siebensegment nehme ich i.d.R in CK. Als Treiber dazu z.B. den CD4511. 
Da ein uC eingesetzt wird besser einen MAX7219, ein Chip für die 3 
Displays. Weshalb unbedingt die 12 Volt verwendet werden müssen 
erschließt sich mir auch nicht. Der uC muss ja auch anders versorgt 
werden.


Chris S. schrieb:
> Michael B. schrieb:
>> Richtig. Ich habe das Latch übersehen, entsprechende Schlussfolgerungen
>> waren also falsch.
>
> "Richtig und falsch, das sind doch bürgerliche Kategorien" (Joke
> intended)

Diese Reaktion auf die Antwort von Michael B. verstehe ich auch nicht. 
Vollkommen überflüssig.


Chris G. schrieb:
> Wie gesagt, ich bin für jeden Vorschlag dankbar, aber es gibt ja Gründe
> warum ich das so nicht machen will/kann.

Sorry, dann brauchst Du keine Vorschläge/Ratschläge. Was, außer der 
Fehler im Schaltplan soll man Dir dann mitteilen?

Viel Spass und Erfolg noch bei der Umsetzung;-)

: Bearbeitet durch User
von Chris (Gast)


Lesenswert?

> "Richtig und falsch, das sind doch bürgerliche Kategorien" (Joke
> intended)

Ist ne Anspielung auf "die Känguru Chroniken"

>
> Diese Reaktion auf die Antwort von Michael B. verstehe ich auch nicht.
> Vollkommen überflüssig.
>
> Chris G. schrieb:
> Wie gesagt, ich bin für jeden Vorschlag dankbar, aber es gibt ja Gründe
> warum ich das so nicht machen will/kann.
>
> Sorry, dann brauchst Du keine Vorschläge/Ratschläge. Was, außer der
> Fehler im Schaltplan soll man Dir dann mitteilen?
>
> Viel Spass und Erfolg noch bei der Umsetzung;-)

Eigentlich hab ich das was ich mir erhofft habe auch bekommen. 
Vorschläge, alternative Ansätze (z.B. max7219 den ich auch in Erwägung 
gezogen habe)
Wenn ich wieder Mal ein Thread eröffne muss ich mehr auf das drumherum 
eingehen. Warum etwas nicht geht oder warum etwas festgelegt ist.
Und keines Falls falsch verstehen. Ich finde es ja gut, dass vieles in 
Frage gestellt wird. Desshalb Frage ich ja.
Danke nochmal an alle die sich beteiligt und eingebracht haben.

von Harald W. (wilhelms)


Lesenswert?

Chris schrieb:

> Warum etwas nicht geht oder warum etwas festgelegt ist.

Man sollte auch bedenken das überflüssige Teile (z.B. oft auch
Optokoppler) die Zuverlässigkeit einer Schaltung verringern.

von Jörg R. (solar77)


Lesenswert?

Chris schrieb:
> Wenn ich wieder Mal ein Thread eröffne...

...verwendest Du auch nur einen Account...;-)


Chris schrieb:
> Vorschläge, alternative Ansätze (z.B. max7219 den ich auch in Erwägung
> gezogen habe)

Das ist in Deinen Kommentaren leider nicht erkennbar.

von Chris G. (Firma: keine) (schweiz)


Lesenswert?

Jörg R. schrieb:
> Chris schrieb:
>> Wenn ich wieder Mal ein Thread eröffne...
>
> ...verwendest Du auch nur einen Account...;-)

ja irgendwie war ich abgemeldet. der Wechsel zwischen Smartphone und 
Desktop PC ist ungünstig

von Maxim B. (max182)


Angehängte Dateien:

Lesenswert?

Chris G. schrieb:
> anbei der schaltplan wie ich mir das vorstelle.

Hier ist meine letzte Schaltuhr. Vielleicht könnte dir das Impulse 
geben.
Ich benutze kein CD4543 oder Ähnliches. Vorteil: es sind nicht nur die 
Ziffer möglich, sondern überhaupt alles, was mit 7 Segmenten darstellbar 
ist.
Um Ausgänge zu sparen, sind 4 Tasten gemeinsam mit Kathoden geschaltet. 
Die Widerstände entbinden MOSFETs und Tasten voneinander. R25 und R26 
sind evtl. nicht notwendig (aber auch nicht schädlich). Die Segmente 
sind so geschaltet, wie das für PCB bequemer ist: mit dem 
Mikrocontroller direkt ist das möglich, mit CD4543 nicht. Die Ausgänge 
von AT Mega liefern problemlos je 25 mA (und auch sogar mehr, falls 
notwendig), zum Unterschied von CD4543.

Immer wird nach ein paar ms eine neue Ziffer exponiert, gleichzeitig die 
Tasten abgefragt:
1. alle Segmenten ausschalten.
2. alle Ziffer einschalten (um Eingangskapazitäten von MOSFETs zu laden)
3. alle Zifferausgänge zum Eingang umgeschaltet
4. nach ein paar us die Tasten abgefragt
5. nächste Ziffer eingeschaltet
6. alle Zifferausgänge als Ausgänge geschaltet
7. auf Segmenten nächstes Zeichen geschickt.

Wenn noch mehr Ausgänge gespart werden sollten, könnte man für Segmente 
zusätzlich 74AHC164 o.Ä. verwenden, das spart 6 Ausgänge.

AT Mega hat hier Vorteil gegen deinen AT89 (ansonsten ziemlich 
ähnlichen): bessere Ausgänge, die von Vcc und zu Gnd hohen Strom liefern 
können.

Das Ganze wird von 24 V gespeist, da die Last 24 V braucht. Aber es wäre 
kein Problem auch mit 12 Volt: verwendete Impulswandler OKI-78SR hat 
sehr weiten Eingangsbereich (5,6 € bei Reichelt).

von Maxim B. (max182)


Angehängte Dateien:

Lesenswert?

Hier ist eine ältere Version, mit pnp-Transistoren. Arbeitet auch gut.

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.