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.
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
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
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/
Display 4 + 5 haben den gleichen Anschluss "ausgelassen". Pin 3 der Displays ist 9x angeschlossen. Scheint ein Fehler zu sein.
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
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
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
>> 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.
@peter: vielleicht kann der u.a. link deine "zweifel" betr. charlieplexing nehmen. http://en.wikipedia.org/wiki/Charlieplexing gruss gerhard
@ 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.
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?
> Peter Dannegger schrieb: >> Bei 330R ergeben sich etwa 10mA pro LED, > Richtig. Falsch. Begründung (siehe oben).
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.
Ich wünsche mir, dass einige Leute hier mal Brain 1.0 installieren, statt immer gleich rumzugiften obwohl sie selber keinerlei Plan haben.
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
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.
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.
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
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
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.
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
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
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
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.
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".
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.