www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Charlieplexing Infos


Autor: Thorsten S. (whitenoise)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Thorsten S. (whitenoise)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch ein Bild mit 8 Displays...

Autor: Jakob F. (jmf123) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Jakob F. (jmf123) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Jakob F. (jmf123) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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/

Autor: Charly K. (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wunschzettel für Weihnachten von Martin:

1. Ein Taschenrechner
.
.
.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... und ich wünsche mir von Sven: eine Erklärung.

Autor: gerhard (Gast)
Datum:

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

gruss
gerhard

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Pjotr Hansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Martin (Gast)
Datum:

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

> Richtig.

Falsch. Begründung (siehe oben).

Autor: Pjotr Hansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Weih Nachtsmann (Gast)
Datum:

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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pjotr Hansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jakob F. (jmf123) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hier geht es ja zu wie im Wirtshaus!

Autor: Timo S. (kaffeetas)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Pjotr Hansen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Timo S. (kaffeetas)
Datum:

Bewertung
0 lesenswert
nicht 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_%28Bauelem...

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

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

Grüße
 Timo

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nicki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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".

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Timo S. (kaffeetas)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Nicki (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.