- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 25 von 25

Thema: Charlieplexing vs. Schieberegister

  1. #21
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    59
    Beiträge
    1.080
    Anzeige

    Powerstation Test
    Zusätzliche ICs, die beim Multiplexen nicht gebraucht werden. Zumal es ein Erstlingsprojekt ist, bei dem ich den Schaltungsaufwand möglichst gering halten würde.

    Ansonsten ist eine Lösung mit einem Schieberegister natürlich die bessere Lösung, da die LEDs mit voller Leuchtkraft betrieben werden können.
    Mein Hexapod im Detail auf www.vreal.de

  2. #22
    1hdsquad
    Gast
    Viel geringer gehts doch nicht, ist doch nur ein SPI-Bus... Naja, ihr macht das schon.

  3. #23
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    59
    Beiträge
    1.080
    Klar, es sind weniger Leitungen vom µC zum Schieberegister, aber dafür halt z.B. 4 Käfer mehr. Ich selber würde es sicherlich auch mir SR machen, da ich gerne mit PortPins geize
    Für die Fehlersuche und als Anfangsprojekt würde ich halt nur, wie gesagt, die Schaltung einfach halten.

    Ich bin auch sicher, das gyrosp das hinbekommt. Er lötet nicht gleich drauflos, sondern plant erstmal
    Mein Hexapod im Detail auf www.vreal.de

  4. #24
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Als Fan des Charlieplexing (weil es so minimalistisch ist) habe ich mir darüber noch ein paar Gedanken gemacht:
    ...aber das Tastverhältnis wird irgendwann gruselig, oder?
    Für neun LEDs an 4 Pins kann man das erwartete 1:9-Verhältniss eigentlich recht einfach auf 1:3 verbessern. Das funktioniert einfach, weil das hier nicht stimmt:
    Nochmal der Hinweis: Beim Charlieplexing brennt... immer nur eine LED!
    Am Beispiel 4 Ports/12 LEDs erklärt: Die 12 LEDs sind eigentlich in vier 3er-Gruppen zusammengefasst, je gesetztem Ausgang entsprechen drei nicht gesetzte oder hochohmige Ausgänge der jeweils leuchtenden LED. Bei vier Ausgängen A0 bis A3 sieht der Aufbau der ersten Gruppe so aus: Je eine LED mit Vorwiderstand von A0 nach A1,A2 und A3, alle Anoden an A0. Ein Programm zur einzelnen Ansteuerung muss folgende Ausgangsmuster erzeugen:

    LED0: A0=1, A1=0 A2=x A3=x (1 ist Ausgang high, 0 ist Ausgang low und x ist Eingang ohne PullUp)
    LED1: A0=1, A1=x A2=0 A3=x
    LED2: A0=1, A1=x A2=x A3=0

    Die anderen drei Gruppen sind analog mit A1, A2 und A3 als Anodenanschluss aufgebaut. Bei jedem Aufruf der ISR wird jeweils nur eine Kombination ausgegeben und es leuchtet deshalb auch nur eine LED. Um nun alle LEDs anzusteuern muss die ISR 12 mal aufgerufen werden.

    Einfacher und schneller geht es wohl (ich habe es noch nicht getestet) wenn man die LEDs gruppenweise ansteuert:

    If(gruppe==0)
    {
    A0=1
    if(LED0) A1=0 else A1=x
    if(LED1) A2=0 else A2=x
    if(LED2) A3=0 else A3=x
    }
    If(gruppe==1)
    {
    A1=1
    if(LED3) A0=0 else A0=x
    if(LED4) A2=0 else A2=x
    if(LED5) A3=0 else A3=x
    }
    ...

    Man benötigt so nur 4 ISR-Aufrufe um alle 12 Leds auszugeben, bzw. 3 Aufrufe für 9 LEDs. Nachteil: Der gemeinsame Pin muss bis zu drei LED-Stöme treiben, das muss man bei der Auswahl der Vorwiderstände berücksichtigen. Ich hoffe, dass funktioniert auch in der Praxis.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #25
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn ein Pin den Strom für mehrere LEDs treiben muß, dann hat nicht viel damit gewonnen das man mehrere LEDs Gleichzeitig an hat. Das Problem mit dem Tastverhältnis ist weniger der Rechenaufwand als die Gesamthelligkeit und da kann man nicht viel machen, wenn der Strom durch die Leistungsfähigkeit der Portpins bestimmt wird. Bei 12 LEDs überchariepxeling kreigt man halt entweder 1/12 der Zeit 24 mA oder 1/4 der Zeit 8 mA. Das entspricht dann 2 mA im Mittel. Das kann mit hellen LEDs noch reichen, bei low Cost LEDs aber kaum.
    Wirklich was einsparen kann man nur wenn man weiß, das nie alle LEDs gleichzeitig an sind.

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

12V Akku bauen