Forum: Mikrocontroller und Digitale Elektronik Wecker LED 6-Seg Display ansteuern


von Julian B. (dediggefedde)


Angehängte Dateien:

Lesenswert?

Hallo!
Neulich hatte ich einen kaputten Wecker auseinander genommen und mir das 
Display behalten.
Ich hab noch einige passenden SMD-LEDs (kaputt auf board), aber ich 
verstehe die Ansteuerung nicht wirklich.
Leider konnte ich dazu kein Datenblatt finden.

In der Grafik habe ich die Leitungen mal verfolgt und die LEDs 
nummeriert.
Gelb sind die LEDs (9 & 26 sind keine LED, sondern evtl. Brücken).
Rot sind die Anschluss-Pins. X hat keinen Anschlusspin und ist 
vermutlich über die Brücke 9 mit Pin 2 verbunden.

Zunächst habe ich gedacht 1 & 2 sind GND und die anderen Pins gehen dann 
auf HIGH zum Anschalten der LEDs.
Wenn ich mir jetzt die 2. Ziffer (LED 10-16) anschaue, gibt es schon 
beim Anzeigen der "0" Probleme (Notation LED:Pin1-Pin2).
"0": AN 12:1-13, 10:x-13, 11:x-10, 14:x-12, 15:1-12, 16:1-9, 12:1-13; 
Aus 13:1-10.
Mit LED 14 & 15 müssen 1-12 und x-12 AN sein, aber bei LED 11 & 13 ist 
1-10 AUS und x-10 AN.

Daher sehe ich hier nicht, wie ich durch Anlegen von AN/AUS bei Pin 1/2 
bzw. Umdrehen der LED die Display-Zahlen hin bekomme.

Seht ihr wie man eine "0" auf der 2. Ziffer anzeigen kann?
Könnten hier vielleicht weitere Bauteile außer LEDs notwendig sein?

: Verschoben durch User
von Teo D. (teoderix)


Lesenswert?

Julian B. schrieb:
> Gelb sind die LEDs (9 & 26 sind keine LED, sondern evtl. Brücken).

Ja, sind es.
Hab mich nicht wirklich durch deine Prosa gearbeitet.
Das dürfte sowas wie Charlieplexing sein. Da wird es sich also um einen 
Netzsynchronen Wecker gehandelt haben(?). Da wird zur Ansteuerung der 
LEDs jeweils eine Halbwelle zur Ansteuerung genutzt. Genauer hab ich mir 
sowas aber noch nicht angesehen.

von Julian B. (dediggefedde)


Lesenswert?

Danke für die Antwort und Stichworte!

> Prosa
Hatte mich um Kürze bemüht. Wollte aber auch Beschreiben, was ich machen 
will, was ich probiert habe und wo ich Probleme sehe.

> Halbwellen
Damit könnte man 3 Zustände pro Leitung haben (Aus, AN 0°, AN 180° 
Phase).
Ist Pin 1 nun 0° Halbwelle und Pin 2 GND, könnte ich an die Pins
13=180°, 10=0°, 12=180°, 9=180°, 13=180° anlegen und bekäme die "0".
Muss ich nochmal an den anderen Ziffern durschauen, scheint aber auf zu 
gehen. Vom µ-Controller könnte man auch mit PWM ankommen und 4 Zustände 
erzeugen (+AN)...
Ich hatte zwar gehofft, dass die Ansteuerung über DC möglich wäre, aber 
sowas ist auch interessant. ^^

> Charlieplexing
Habe mich kurz  eingelesen. Soweit ich sehen kann, habe ich auf diesem 
Board keine LED Kette. Alle Anschluss-Pins sind über LEDs entweder mit 2 
oder 1 verbunden. Daher scheint mir das hier nichts zu bringen, 2 oder 1 
in einen hochohmigen Zustand zu setzen.

von Teo D. (teoderix)


Lesenswert?

Julian B. schrieb:
>> Prosa
> Hatte mich um Kürze bemüht. Wollte aber auch Beschreiben, was ich machen
> will, was ich probiert habe und wo ich Probleme sehe.

Schon OK, oft gehts ja nich anders. Hab Heut nur nen zu dicken Kop, um 
das zu sortieren... :/

>> Halbwellen
> Damit könnte man 3 Zustände pro Leitung haben (Aus, AN 0°, AN 180°
> Phase).
> Ist Pin 1 nun 0° Halbwelle und Pin 2 GND, könnte ich an die Pins
> 13=180°, 10=0°, 12=180°, 9=180°, 13=180° anlegen und bekäme die "0".

Gib bitte laut, wenn du das ausgetüftelt hast, gerne auch mit Photo vom 
Display. :)))

von Julian B. (dediggefedde)


Angehängte Dateien:

Lesenswert?

Hab mir mal die ersten beiden Ziffern angeschaut.
Dabei verfolge ich die Idee, dass ich 4 Zustände pro Leitung anlegen 
kann.
AN, Aus, Halbphase 0° und Halbphase 180° verschoben.

An Pin 1 & 2 lege ich 0 und 180° Halbphasen an, sodass ich mit dem 
Kontakt-Pin bei 2 LEDs alle 4 Kombinationen erzeugen kann:

LED1 LED2 Kontakt
0 0 0
1 0 180°
0 1 0°
1 1 1

Für für die beiden Ziffern geht die Technik auf:
Die linke angehangene Tabelle zeigt, welche LEDs für die Ziffer leuchten 
müssen. Die rechte was dafür an den Pins anliegen muss (Zustand).

Aber wie kann man das eigentlich realisieren?
Beide Halbwellen über 2 Transistoren an jeden Anschlusspin parallel 
anschließen und die Transistor-Basen über Schieberegister setzen?
Beziehungsweise eleganter mit IC-AND-Gates. ^^
Dann bräuchte ich für die 24 Pins 48 Transistoren mit entsprechend 
Schieberegister-Slots.

von Route_66 H. (route_66)


Lesenswert?

Julian B. schrieb:
> Aber wie kann man das eigentlich realisieren?

Das magische Wort heisst "Multiplex"!

von Peter D. (peda)


Lesenswert?

Ich denke mal auch, 1,2 sind die Gegenelektroden und ab 4 die Segmente.
Einfach mal ausklingeln mit 5V und 470R in Reihe, wann welche LED 
leuchtet.
Charliplexing wird das mit Sicherheit nicht sein, sondern ganz normales 
2x Multiplex.
Typisch steuert man die Segmente mit Stromausgängen direkt an und die 2 
Gruppenanschlüsse über 2 Transistoren im Wechsel.
Wenn es gemeinsame Anoden sind, z.B. über einen MM5450.

von Nosnibor (Gast)


Lesenswert?

Das ist (bis auf LED 2) eine Matrixschaltung, da muß man multiplexen.
1 und 2 sind vielleicht GND (vielleicht auch Plus, muß man 
ausprobieren), aber immer nur einer von beiden gleichzeitig. Die müssen 
sich also abwechseln, und zwar schnell genug, daß man es nicht flimmern 
sieht (400Hz, viele geben sich aber schon mit 100Hz zufrieden).
1 und 2 schaltet man normalerweise über Transistoren (weil dort der 
Strom mehrerer LEDs gleichzeitig fließt), die anderen Pins (durch die 
immer höchstens der einfache LED-Strom fließt) kommen jeweils über einen 
Vorwiderstand an einen Prozessorpin (oder Schieberegister-Ausgang). Und 
der Rest ist Software (naja, es gibt auch Chips, die das Multiplexen in 
Hardware machen, aber die wollen dann meist eine quadratische Matrix).

von Julian B. (dediggefedde)


Lesenswert?

Vielen dank für die Antworten!

> Ausprobieren
Ich muss halt überall erst die LEDs dran löten, daher ist das so ne 
Sache mit dem Ausprobieren. Hatte aber schon vor, die LED-Kathode zu Pin 
1/2 zu legen.

> Multiplexing
Ich kenne as Multiplexing auch nur mit weniger Kontakten, die dafür 
untereinander stärker vernetzt sind.
Im Prinzip müsste das aber auch hier gehen.

> Beispiel
Für eine "2" in der 2. Ziffer würde ich also
LED 10: 1 ms P1=1 P13=1 P2=0
LED 11: 1 ms P1=1 P10=1 P2=0
LED 12: 1 ms P13=0
LED 13: 1 ms P2=1 P10=1 P1=0
LED 14: 1 ms P12=0
LED 15: 1 ms P2=1 P12=1 P1=0
LED 14: 1 ms P2=1 P9=1 P1=0

Damit würde ich das Segment mit 143 Hz betreiben und die LEDs leuchten 
mit 1/7 der maximalen Leuchtstärke.

bzw. mit P1 und P2 als "Zeilen"
LED 10,11,14: 1 ms P1=1 P2=0 P10=1 P13=1 P12=0
LED 12,13,15,16: 1 ms P1=0 P2=1 P13=0 P10=1 P12=1 P9=1

dann ginge das schon bei 500 Hz (bzw. bei 100 Hz 5ms An-Zeit) mit 1/2 
Leuchtkraft.

Kommt mir auf jeden Fall einfacher vor, als über Halbwellen 4 Zustände 
auf den Leitungen zu erzeugen. ^^


> MM5450
Danke für den Hinweis!
Laut Datenblatt hat der IC 35 Slots und geht mit max 500 kHz 
Datentransferrate. Kann man hierüber auch P1 und P2 ansteuern?
Verstehe ich das richtig, dass man hier z.B. alle 5 ms die Pinbelegung 
pro Reihe sendet und dann quasi fertig das LED Multiplexing mit 100 Hz 
an den Ausgangspins erhält?

von Peter D. (peda)


Lesenswert?

Julian B. schrieb:
> Kann man hierüber auch P1 und P2 ansteuern?

Ja, über 2 pnp-Transistoren. Ich hab ein ähnliches Display damit 
angesteuert.

von Julian B. (dediggefedde)


Angehängte Dateien:

Lesenswert?

Geht das nicht auch direkt?
Ich hab zwar noch ein paar transistoren rum liegen, aber das müsste doch 
auch direct am IC Ausgang gehen, oder?

Bin jetzt mal alle Segmente durch gegangen und habe eine Tabelle für's 
Multiplexing gebastelt. Das scheint alles erstmal so aufzugehen.

von Peter D. (peda)


Lesenswert?

Julian B. schrieb:
> aber das müsste doch
> auch direct am IC Ausgang gehen, oder?

Nein. Erstmal stimmt die Polarität nicht und 2. muß man die Summe aller 
Segmente an dieser Elektrode aushalten.

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.