Forum: Mikrocontroller und Digitale Elektronik Charlieplexing Infos


von Thorsten S. (whitenoise)


Angehängte Dateien:

Lesenswert?

Hi,

hier ein paar Infos zum Charlieplexing wie ich es seit Jahren mache. Es 
gibt sehr viele Verdrahtungsmethoden, zwei habe ich zusammengestellt, 
die Methode 2 (ich nenne sie shift Methode) habe ich schon hier und da 
gesehen. Ich mache das immer anders (Tausch Methode 1). Ich habe die 
Sache mal vervollständigt, denn man kann bei 9 Leitungen auch 9 Displays 
anschließen, wenn man etwas darüber sieht dann meist nicht mit 9 
Displays. Ich nutze die HDSP-F101. Das ist eine Low Current, da braucht 
man tatsächlich nur 9 widerstände und das wars...

Gruß,
w.

von Thorsten S. (whitenoise)


Angehängte Dateien:

Lesenswert?

hier noch ein Bild mit 8 Displays...

von Jakob F. (jmf123) Benutzerseite



Lesenswert?

Hallo Thorsten,

nach Methode 1 in obigem PDF habe ich einen Schaltplan und ein Board mit 
neun Siebensegment-Anzeigen mit Eagle gemacht.

Grüße,
Jakob

von Jakob F. (jmf123) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo nochmal,

gerade programmiert habe ich für obiges Display auf einem ATmega8 einen 
Zähler.

Der Zähler läuft von 0x0 bis 0xff alle zehntel Sekunde eins hoch, fängt 
dann wieder bei 0x0 an. Im Code habe ich fürs erste nur die ersten zwei 
7-Segment-Anzeigen angesteuert, der Rest ist hoffentlich 
selbsterklärend.

Grüße,
Jakob

von Jakob F. (jmf123) Benutzerseite



Lesenswert?

Hallo nochmal,

ich habe gerade obige Schematik und das Board nochmal überarbeitet und 
werde das wahrscheinlich so wie es jetzt im Anhang ist, zum 
Platinenfertiger geben.

Hat hier im Forum noch jemand Interesse an so einer Platine? -- Bitte 
PM.

Grüße,
Jakob

--
http://koppi.me/

von Charly K. (Gast)


Lesenswert?

Display 4 + 5 haben den gleichen Anschluss "ausgelassen".
Pin 3 der Displays ist 9x angeschlossen.
Scheint ein Fehler zu sein.

von Peter D. (peda)


Lesenswert?

Wozu braucht man so etwas?
Es macht nur die Software deutlich umständlicher.

Bei 330R ergeben sich etwa 10mA pro LED, d.h. ein Portpin muß max 80mA 
treiben können. Ich kenne keinen MC der solche Powerausgänge hat.
Es müßten also noch Treibertransistoren mit aufs Board.


Peter

von Thorsten (Gast)


Lesenswert?

Hi,

es sind Low Currents HDSP-F101. Das ist ja der Clou an der Sache.

"Wozu braucht man so etwas?"
Ich habe es so aufgebaut das man mit 9 Widerständen und 8 Dioden, 8 
7-Segment Displays und 8 Tasten ansteuern kann, man benötigt nichts 
sonst, wenn das kein Argument ist, was dann?

Thorsten

von Peter D. (peda)


Lesenswert?

Thorsten schrieb:
> es sind Low Currents HDSP-F101. Das ist ja der Clou an der Sache.

Trotzdem kannst Du nicht das Ohmschen Gesetz außer Kraft setzen:
Bei 330R fließen etwa 10mA pro LED, also muß der MC 80mA abkönnen!
Und welcher kann das schon?

Ich benutze keine (Edelbastler-)Schaltungen, die prinzipiell schon 
außerhalb der Spezifikationen arbeiten.

Deshalb sind die richtigen Maxim-Treiber (MAX6951) auch bis 440mA 
spezifiziert.
Damit geht das dann.


Peter

von Martin (Gast)


Lesenswert?

>> Bei 330R ergeben sich etwa 10mA pro LED, d.h. ein Portpin muß max 80mA
>> treiben können.

Das stimmt nicht.

>> Trotzdem kannst Du nicht das Ohmschen Gesetz außer Kraft setzen:

Was soll diese blödsinnige Unterstellung.

>> Bei 330R fließen etwa 10mA pro LED, also muß der MC 80mA abkönnen!

Das stimmt auch nicht.

Es fließen keine 10 mA pro Portpin, das verhindern schon die MOSFETS im 
ATMega8, für die  zweimal 30 - 50 Ohm anzusetzen sind. Der Strom liegt 
somit eher bei 7 mA und damit innerhalb der Spezifikationen eines 
ATMega8.

von Sven (Gast)


Lesenswert?

Wunschzettel für Weihnachten von Martin:

1. Ein Taschenrechner
.
.
.

von Martin (Gast)


Lesenswert?

... und ich wünsche mir von Sven: eine Erklärung.

von gerhard (Gast)


Lesenswert?

@peter:
vielleicht kann der u.a. link deine "zweifel" betr. charlieplexing 
nehmen.
http://en.wikipedia.org/wiki/Charlieplexing

gruss
gerhard

von Uwe N. (ex-aetzer)


Lesenswert?

@ Sven:
Hm, ich gehe mal von 3.3V Spannung auf Martins Schaltung aus, da stimmen 
die 10mA schon.
Was hast du denn gerechnet ?

Bei Charlieplexing ist (AFAIK) IMMER nur eine LED an.

von Pjotr Hansen (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Bei 330R ergeben sich etwa 10mA pro LED,

Richtig.

Peter Dannegger schrieb:
> d.h. ein Portpin muß max 80mA
> treiben können.

Nein, warum? Beim Charlieplexing leuchtet immer nur eine LED zur 
gleichen Zeit, warum sollten da 80mA fließen?

von Martin (Gast)


Lesenswert?

> Peter Dannegger schrieb:
>> Bei 330R ergeben sich etwa 10mA pro LED,

> Richtig.

Falsch. Begründung (siehe oben).

von Pjotr Hansen (Gast)


Lesenswert?

Martin schrieb:
> Begründung (siehe oben)

Jain. Die Mosfets sind zwar vorhanden, bleiben aber üblicherweise bei 
der Berechnung unberücksichtigt, da die genauen Werte von Exemplar zu 
Exemplar abweichen können. Also: I=U/R -> I=(5V-2.1V)/330R = 0,009mA, 
also aufgerundet etwa 10mA.

von Weih Nachtsmann (Gast)


Lesenswert?

Ich wünsche mir, dass einige Leute hier mal Brain 1.0 installieren, 
statt immer gleich rumzugiften obwohl sie selber keinerlei Plan haben.

von Peter D. (peda)


Lesenswert?

Martin schrieb:
> Es fließen keine 10 mA pro Portpin, das verhindern schon die MOSFETS im
> ATMega8, für die  zweimal 30 - 50 Ohm anzusetzen sind.

Angesetzt VCC = 5V, U_LED = 1.7V,  2 * 30R MC-Innenwiderstand und alle 8 
Segmente an, ergeben immer noch 44mA.
Ist also immer noch außerhalb der Spezifikation.
Und dafür leuchten dann auch die Segmente der '1' sichtbar heller als 
die '8'.


Martin schrieb:
> Der Strom liegt
> somit eher bei 7 mA und damit innerhalb der Spezifikationen eines
> ATMega8.

?
Bitte erstmal das Ohmsche Gesetz lernen.


Peter

von Pjotr Hansen (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Angesetzt VCC = 5V, U_LED = 1.7V,  2 * 30R MC-Innenwiderstand und alle 8
> Segmente an, ergeben immer noch 44mA.

ABegesehen davon, das U_LED bei roten LEDs üblicherweise im Bereich von 
≈2.1V liegt, leuchten ja eben NIEMALS alle 8 Segmente gleichzeiti. Du 
musst also vom Stromverbrauch EINER einzelnen LED ausgehen.

von Martin (Gast)


Lesenswert?

Peter, es wirklich übel, wie du durch Unterstellungen "Bitte erstmal das 
Ohmsche Gesetz lernen." versuchst die Wahrheit zu verdrehen.

Mein Strom " ... eher bei 7 mA .." bezog sich auf einen Pin, was auch 
klar aus meinem Post hervorgeht.

>> Und dafür leuchten dann auch die Segmente der '1' sichtbar heller als
>> die '8'.

Auch diese Aussage ist falsch, da die Helligkeit durch die Software 
leicht ausgeglichen werden kann

Deine Methode besteht, wie man an der Abfolge Beiträgen gut erkennen 
kann, aus Unterstellungen, Behauptungen und Unwahrheiten.

Mein persönlicher Eindruck von dir ist, dass du zwanghaft alles 
kleinreden musst, was nicht von dir stammt.

von Jakob F. (jmf123) Benutzerseite


Lesenswert?

Hier geht es ja zu wie im Wirtshaus!

von Timo S. (kaffeetas)


Lesenswert?

so nun habe ich mir die sache auch mal angeschaut.
Und ich muß Peter rechtgeben.
Zugegeben die Diskussion ob nun 7 oder 10mA pro Led ist müßig. In jedem 
Fall kann der Gesammtstrom größer als 20mA bzw. 40mA werden und dieser 
Gesamtstrom fließt durch einen PIN zurück.

Der Link verdeutlicht den Stromfluss:

http://www.maxim-ic.com/app-notes/index.mvp/id/1880

Und es muss mehr als eine LED gleichzeitig leuchten sonst wird es sehr 
sehr dunkel. 8 Digits * 8 Leds würden ein Taktverhältniss von 1/64 
ergeben. Ausserdem müsste der Takt sehr hoch werden damit man noch kein 
Flackern wahr nimmt (64*100Hz = 6.4Khz).

Mit Low Current-Leds und entsprechenden Widerständen funktionierts 
natürlich.

Grüße
 Timo

von Peter D. (peda)


Lesenswert?

Pjotr Hansen schrieb:
> ABegesehen davon, das U_LED bei roten LEDs üblicherweise im Bereich von
> ≈2.1V liegt, leuchten ja eben NIEMALS alle 8 Segmente gleichzeiti. Du
> musst also vom Stromverbrauch EINER einzelnen LED ausgehen.

Datenblatt: 1.7V bei 5mA.

Ich bin natürlich von einem 1:9 Multiplex ausgegangen, damit man ne 
brauchbare Helligkeit erhält. Und dann leuchten bis zu 8 LEDs 
gleichzeitig.

Daß man auch ein 1:72 Multiplex machen kann, habe ich garnicht erst in 
Betracht gezogen (wurde ja auch nicht explizit erwähnt).

Das ergibt dann effektiv nur funzelige 7mA/72 = 98µA LED-Strom.
Bei Tageslicht dürfte da nichts mehr zu sehen sein.

Beim 1:72 Multiplex werden die Spezifikationen zwar eingehalten, bloß 
man sieht nichts mehr.


Peter

von Pjotr Hansen (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Datenblatt: 1.7V bei 5mA.

OK, ich bin jetzt vom Durchschnitt bei roten LEDs ausgegangen. In dem 
Speziellen Fall hast du Recht.

Peter Dannegger schrieb:
> Bei Tageslicht dürfte da nichts mehr zu sehen sein.

Tja, die Praxis schlägt da die Theorie mal wieder um Längen. Oder 
würdest du sagen, das auf dem Bild im zweiten Posting "nichts mehr zu 
sehen" ist? Wie ne Nachtaufnahme sieht das nicht gerade aus... Außerdem 
könnte man den Strom ja auch noch bis zum pro Port zulässigen 
Höchststrom erhöhen, denn man hat ja immer nur eine LED an.

von Peter D. (peda)


Lesenswert?

Pjotr Hansen schrieb:
> Tja, die Praxis schlägt da die Theorie mal wieder um Längen. Oder
> würdest du sagen, das auf dem Bild im zweiten Posting "nichts mehr zu
> sehen" ist?

Das ist ja auch kein 1:72 Multiplex.
Das sieht man ganz deutlich daran, daß die '8' dunkler ist als die '7' 
und das '-' ist noch viel heller.
Es werden also eindeutig die Innenwiderstände der MC-IOs wirksam.

Sowas kann ich einem Kunden natürlich nicht anbieten. Und auch nicht, 
daß später die Geräte mit ausgefallenen MCs zur Reparatur zurückgerufen 
werden müssen.


Peter

von Timo S. (kaffeetas)


Lesenswert?

Wenn ich die Widerstände in obigem Bild richtig entziffere dann sind es 
nur 39 Ohm!

orange - weiss - schwarz - gold

http://de.wikipedia.org/wiki/Widerstand_%28Bauelement%29#Farbkodierung_auf_Widerst.C3.A4nden

Hoffentlich sind da noch zusätzlich Widerstände verbaut!

Der Quelltext von Jakob F. macht auch 1:9 Multiplexing.

Grüße
 Timo

von Peter D. (peda)


Lesenswert?

Ich weiß jetzt ehrlich nicht, was diese ganze Knauserei soll.

9 Transistoren für 3 Cent und das Thema ist vom Tisch. Alle Segmente 
gleichhell und der MC innerhalb der Spec.


Peter

von Uwe N. (ex-aetzer)


Lesenswert?

Das beste ist, Thorsten misst einfach mal den tatsächlichen Strombedarf, 
und falls er noch nicht geflüchtet ist, sagt er's uns bestimt ;-)

Gruss Uwe

PS.: vielleicht ist ein Blick in das Datenblatt vom MAX6954 
Aufschlussreich (das Ding arbeitet mit Charlieplexing), speziell Seite 
19.

von Nicki (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Ich weiß jetzt ehrlich nicht, was diese ganze Knauserei soll.

Naja, ganz so schlecht kann Charlieplexing ja wohl nicht sein, wenn 
sogar Maxim LED-Treiber-ICs produziert, die damit arbeiten. Der MAX6951 
z.B. macht einen 1:64 Multiplex nach genau dem diesem Verfahren. Also 
soll keiner behaupten, das wäre "Knauserei".

von Uwe N. (ex-aetzer)


Lesenswert?

Hallo Nicki,

Vorsicht !
Der Max6954 hat angepasste FETs als Treiber (ok., könnten einen Ticken 
stärker sein), und knausrig darf man bei knapp 20Euronen für einen 
solchen Ic auch nicht sein :-)

Gruss Uwe

von Timo S. (kaffeetas)


Lesenswert?

Ein Ing. bei Maxim hats "erfunden" ist ja wohl logisch das Maxim das 
benutzt.

Schau dir den oben von mir geposteten Link an und staune (aternativ lies 
die App-Note 1880). Der Max6951 macht kein 1:64 decoding sondern maximal 
1:8! RTFM!

Timo

von Nicki (Gast)


Lesenswert?

Vielleicht sollte es heißen: RAUTFM = Read And Understand That F* 
Manual...
Charlieplexing bedingt die Ansteuerung einer LED nach der anderen, das 
IC kann 64 LEDs ansteuern. Das bedeutet, das es zwangsläufig 
(Charlieplexing!) 1:64 Multiplexing machen muß. Weder im Datenblatt, 
noch in der Appnote steht etwas gegenteiliges. Zugegeben, in der Appnote 
ist es etwas mißverständlich dargestellt, weil in den Abbildungen immer 
acht LEDs auf einmal in rot dargestellt sind, aber das symbolisiert nur 
die jeweiligen acht LEDs, deren gemeinsame Kathode gerade auf GND liegt. 
Das hat nicht damit zu tun, das die LEDs einzeln multiplext werden 
müssen.

von Sven (Gast)


Lesenswert?

Lasst doch mal diesen Schwachsinn mit dem 1:64 oder 1:72 Multiplexing. 
Peter hat recht, die Physik lasst sich nicht wegreden:

Die Helligkeit eines Segmentes ist proportional Strom x Zeit. So grob 
jedenfalls. Wenn das Segment nur 1:64 tel der Gesamtzeit an ist, muss 
für den gleichen Helligkeitseindruck etwa der 64fache Strom fließen. 
Wenn das Segment bei 1mA Dauerstrom (das ist schon recht wenig für die 
meisten LED-Displays) eine akzeptable Helligkeit hat, muss also im 1:64 
Multiplexing ein Strom von 64 mA fließen. Ausserhalb der Specs.

Oder anders ausgedrückt: Um eine bestimmte Helligkeit zu erreichen, muss 
im Durchschnitt eine bestimmte Leistung umgesetzt werden. Bei konstanter 
Uf muss also ein bestimmter Strom fließen. Ob das 1:8tel der Zeit für 8 
Segmente 8 x 8mA => 64mA sind oder 1:64tel der Zeit für 1 Segment 64mA, 
der Controller ist ausserhalb der Specs.

Beim normalen Multiplexing umgeht man das, indem man für die 
Spaltentreiber extra Transis verwendet. Beim Charlieplexing geht das 
nicht, weil die Treiber nach + und GND schalten müssen. Aber auch dafür 
gibt ICs für unter 20Eur.

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.