-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Charlieplexing vs. Schieberegister

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2008
    Beiträge
    29

    Charlieplexing vs. Schieberegister

    Anzeige

    Hallo zusammen, ich hoffe ich bin hier im richtigen Forum .

    Ich möchte eine LED-Funkuhr bauen (mit dem Atmega32) und benötige dazu min. 36 LEDs. Diese möchte ich jetzt entweder über Charlieplexing oder Schieberegister ansprechen. Das Charlieplexing funktioniert schon ganz gut, benötigt für die LEDs allerdings 16 Pins (es werden 4 x 9 LEDs, also eigentlich 4 x 12 LEDs angesteuert). Daher überlege ich auf Schieberegister zu wechseln.

    Könnte mir jemand die Vor- und Nachteile von Schieberegistern gegenüber Charlieplexing erklären? Ich bin noch relativ neu in der Materie . Leuchtet z. B. bei Schieberegistern auch immer nur eine LED oder können auch mehrere gleichzeitig leuchten? Muss man was besonderes beachten etc. ?

    Bin für jede Hilfe dankbar .

    mfg,
    gyrosp

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Wenn ich das so lese, dann denke ich eher, das du deine LEDs bisher per Multiplexing angeschlossen hast. Nachteil ist, das deine LEDs halt nicht die ganze Zeit leuchten, sondern nur (bei 4x9) zu einem Viertel der Zeit.

    Schieberegister bergen den Nachteil, das du alle Anzeigeinfos erstmal in diesen Strang schieben musst und dir in dieser Zeit die Anzeige spinnt oder es dunkel ist. Wie stark das stört, liegt natürlich an der "Länge" des Schieberegisters.

    Ich würde es weder über Schieberegister, noch über Multiplexing, sondern über Latches realisieren, wenn die Dunkelphasen stören.

    Wenn die Dunkelphasen nicht stören, würde ich es bei Multiplexing belassen, allerdings mit 5x8 LEDs = 13 Pins, bzw. 11 Pins, wenn die Gruppenauswahl über nen Binär-Dezimal-Dekoder geht.

    Das mit den Schieberegistern ist die aufwändigste Lösung und nur dann meiner Meinung nach sinnvoll, wenn die Anzahl der verfügbaren Pins
    zu gering ist, oder die Anzahl der zu steuernden LEDs erheblich höher.
    Denkbar ist dann auch eine Kombination aus Schieberegistern und Multiplexing. So habe ich z.B. LED-Matrix mit 105 LEDs gebaut, die über 8 Pins angesteuert wird.

    Siehe http://www.youtube.com/watch?v=S_BhZdTcSvE

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2008
    Beiträge
    29
    Danke erstmal für die Antwort .

    Zitat Zitat von MeckPommER
    Ich würde es weder über Schieberegister, noch über Multiplexing, sondern über Latches realisieren, wenn die Dunkelphasen stören.
    Ist vielleicht ne dumme Frage aber was sind Latches und wie verwendet man die?


    Zitat Zitat von MeckPommER
    Wenn die Dunkelphasen nicht stören, würde ich es bei Multiplexing belassen, allerdings mit 5x8 LEDs = 13 Pins, bzw. 11 Pins, wenn die Gruppenauswahl über nen Binär-Dezimal-Dekoder geht.
    Ich benötige 4 Segmente a 9 LEDS (Zehner Stunden, Einer Stunden, Zehner Minuten, Zehner Minuten). Daher habe ich bis jetzt für jedes Segment 4 Pins beim Charlieplexing eingeplant, womit ich also sogar 12 LEDS ansteuern könnte.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Ich sehe den Vorteil deines Charlieplexings momentan nicht. Du erhälst ein Tastverhältnis von 1:9 bei 9 LEDs und 16 Pins, wogegen du bei "normalem" Multiplexen zwischen den Stellen der Uhr bei 1:4 und 13 Pins wärst.

    Latches sind Zwischenspeicher. Bei einem Latch legst du deine Informationen am Eingang an und gibst einen Impuls auf ein Steuerpin. Nun werden die die Infos am Eingang zu den Ausgängen durchgereicht und bleiben (das ist der Sinn der Sache) auch dann erhalten, wenn sich die Infos am Eingang ändern.
    Du kannst also z.B. von 8-Bit am µC ausgehend 4 Latches parallel anschließen und die Infos am µC landen nur dort, wo du auch den Übernahmepin aktivierst. Das ist etwas mehr Schaltung, aber dafür keine Dunkelzeit an den LEDs.

    Wie kommst du auf 9 LEDs pro Ziffer? 7 als 7-Segmentanzeige + 2 für Dezimalpunkte?

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2008
    Beiträge
    29
    Zitat Zitat von MeckPommER
    Wie kommst du auf 9 LEDs pro Ziffer? 7 als 7-Segmentanzeige + 2 für Dezimalpunkte?
    Sorry, hatte ich vergessen zu erwähnen. Ein Segment zeigt den Zahlenwert als Farbpunkt an, nicht als eigentliche zahl. Eine 3 wird z.B. durch drei Punkte dargestellt.

    Zitat Zitat von MeckPommER
    Ich sehe den Vorteil deines Charlieplexings momentan nicht. Du erhälst ein Tastverhältnis von 1:9 bei 9 LEDs und 16 Pins, wogegen du bei "normalem" Multiplexen zwischen den Stellen der Uhr bei 1:4 und 13 Pins wärst.
    Das verstehe ich jetzt nicht ganz. Ich habe 16 Pins bei 36 LEDs (4 Pins pro 9LED-Segment). Ich bin wie gesagt noch nicht ganz so vertraut mit der Materie und mir ist gerade auch nicht der genaue Unterschied zwischen Charlie- und Multiplexing bekannt .

    Zitat Zitat von MeckPommER
    Latches sind Zwischenspeicher. Bei einem Latch legst du deine Informationen am Eingang an und gibst einen Impuls auf ein Steuerpin. Nun werden die die Infos am Eingang zu den Ausgängen durchgereicht und bleiben (das ist der Sinn der Sache) auch dann erhalten, wenn sich die Infos am Eingang ändern.
    Das hört sich interessant an. Hast Du vielleicht einen Link zu einem Beispielprojekt (Schaltplan und/oder C-Quellcode). Das wäre vielleicht eine gute Alternative.

    Kann ich Latches denn auch der PMW betreiben? Ich würde Die Uhr gerne mit einem Helligkeitssensor betreiben, der die LEDs je nach Umgebungslicht dimmt. Beim Charlieplexing hab ich überlegt Transistoren hinter die Controller-Pins zu klemmen und mittels PMW zu 'steuern'. Gibt es für Latches eine ähnliche Möglichkeit?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Ahhh *klick* Die Zahlen als Balkenanzeige, NU hab ichs verstanden

    Multiplexing ist um einiges einfacher zu realisieren als Charlieplexing. Stelle dir einfach deine 4 x 9 Dioden als Gitter (oder Matrix) vor. Die Anoden zeilenweise verbunden, die Kathoden spaltenweise. Wenn du nun vom µC aus 9 Leitungen an die Zeilen legst (+ aktiv) und 4 Leitungen an die Spalten (GND aktiv), dann kannst du die 36 LEDs ohne viel Aufwand steuern.
    WELCHE der 9 LEDs leuchten soll, bestimmst du mit deinen 9 Leitungen zu den Zeilen. WO, also an welcher Stelle die leuchten sollten, bestimmst du mit den 4 Leitungen zu den Spalten.

    Auch hier wäre PWM-Dimmung möglich, indem du z.b. an die Spaltenleitungen die Transistoren setzt. Allerdings sollte die PWM-Frequenz um ein mehrfaches höher sein als die Umschaltfrequenz zwischen den einzelnen Spalten, sonst bekommst du schöne aber ungewollte Lichteffekte.

    Mit Latches geht PWM auch, allerdings würde man die Transistoren nicht (aus der Sicht der LEDs) nicht auf die Seite der Latches anbringen.

    Latches erscheinen mir für dieses Projekt aber wenig sinnvoll, da ja nur zwischen 4 Zeilen multiplext wird.

    Mal ne andere Idee ... vielleicht wäre es ja eine nette Idee, die Ziffernwerte nicht als einfachen Balken darzustellen, sondern in Form einer Würfelanzeige Warum? Wenn du 7 oder 8 LEDs in einer Reihe am leuchten hast, kann das Auge die Anzahl der LEDs nicht mit einem Blick erfassen. Stellst du die Anzahl als Würfelaugen (2 Würfel übereinander pro Ziffer) dar, kann das Auge das erheblich schneller erfassen. Nur so eine Idee Selbst wenn du das Ganze mit zwei kompletten Würfeln pro Ziffer realisierst und gleiche Ziffern nicht immer mit den selben Würfelkombinationen darstellst, brauchst du 14 LEDs pro Ziffer = 18 Pins.
    Mein Hexapod im Detail auf www.vreal.de

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    MeckPommer, ich glaube er meinte nicht als Balkenanzeigen, sondern so hier:


  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2008
    Beiträge
    29
    Also erstmal vielen Dank für die vielen Antworten, Tips und Erklärungen, langsam steig ich durch .

    Zitat Zitat von MeckPommER
    Mal ne andere Idee ... vielleicht wäre es ja eine nette Idee, die Ziffernwerte nicht als einfachen Balken darzustellen, sondern in Form einer Würfelanzeige Freudig Warum? Wenn du 7 oder 8 LEDs in einer Reihe am leuchten hast, kann das Auge die Anzahl der LEDs nicht mit einem Blick erfassen. Stellst du die Anzahl als Würfelaugen (2 Würfel übereinander pro Ziffer) dar, kann das Auge das erheblich schneller erfassen. Nur so eine Idee Freudig Selbst wenn du das Ganze mit zwei kompletten Würfeln pro Ziffer realisierst und gleiche Ziffern nicht immer mit den selben Würfelkombinationen darstellst, brauchst du 14 LEDs pro Ziffer = 18 Pins.
    Genau das hatte ich vor . Ich hab einen großen Bilderrahmen (ca. 120cm x 40cm) der 4 abgetrennte Bildbereiche nebeneinander hat. Jeder Bildbereich stellt dann eine Ziffer in einer 3x3 Matrix dar . Ich möchte dann verschiedene Anzeigemodi entwerfen, wie z.B. Würfel, Zufall etc. .


    Da jedes Segment ne 3x3 Matrix ist und ich die einzeln ansteuern möchte, werde ich wohl beim Charlieplexing bleiben (Hab ich doch jetzt richtig verstanden, Multiplexing bräuchte 6 Pins und Charlieplexing 4 oder ?).

    Eine Frage fällt mir da gerade noch ein :
    Sind zum dimmen eher 'normale' Kondensatoren oder Feldeffektkondensatoren geeignet?

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    @gyrosp, versuch dich mal gedanklich davon zu trennen, das eine optische Anordnung auch einer schaltungstechnischen Anordnung entspricht.
    Nur weil die LEDs eines Segments in einer 3x3 Matrix angeordnet sind, musst du deswegen keine 3x3 Schaltungsmatrix aufbauen.
    Bleibe einfach beim 4x9 Multiplexing, das wird dir die wenigstens Schwierigkeiten machen.
    Auch die Programmierung vom Charlieplexing ist komplexer als beim Multiplexen ... ich würde es an deiner Stelle mit dem Charlieplexing lieber lassen, ehrlich!

    Öhm ... was willst du mit den Kondensatoren beim Dimmen? Falls du transistoren meinst, so reichen "normalen" Transistoren aus. BC548 oder BD179 (grob geschätzt) je nach Stromhunger deiner favorisierten LEDs. Ein Blick ins Datenblatt der Transistoren ist angebracht.

    @thewulf00: 12:34 ... sieht cool aus
    Mein Hexapod im Detail auf www.vreal.de

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    30.10.2008
    Beiträge
    29
    Zitat Zitat von MeckPommER
    @gyrosp, versuch dich mal gedanklich davon zu trennen, das eine optische Anordnung auch einer schaltungstechnischen Anordnung entspricht.
    Nur weil die LEDs eines Segments in einer 3x3 Matrix angeordnet sind, musst du deswegen keine 3x3 Schaltungsmatrix aufbauen.
    Das stimmt natürlich, fällt mir aber noch ein bißchen schwer. Ich bin noch in der Phase in der es einfacher ist, wenn die Schaltung auch dem Aufbau der Logik entspricht .

    Zitat Zitat von MeckPommER
    Bleibe einfach beim 4x9 Multiplexing, das wird dir die wenigstens Schwierigkeiten machen.
    Auch die Programmierung vom Charlieplexing ist komplexer als beim Multiplexen ... ich würde es an deiner Stelle mit dem Charlieplexing lieber lassen, ehrlich!
    Ich habe schon eine 3 Pin Charlieplexing-Testschaltung mit 6 LEDs aufgebaut und entsprechend programmiert. Funktioniert auch . Daher wäre ein Umstieg auf Multiplexing jetzt wahrscheinlich mehr Arbeit als die Erweiterung der bestehenden auf 4 Pins und 9, bzw. theoretischen 12 LEDs.

    Zitat Zitat von MeckPommER
    Öhm ... was willst du mit den Kondensatoren beim Dimmen?
    Oh, ich meinte natürlich Transistoren .


    Danke nochmal! Werde gleich meil beim Reichelt ein bißchen was bestellen .

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •