-         

Ergebnis 1 bis 9 von 9

Thema: 3x Hardware PWM und Multiplexen mit dem Timer ATTiny2313

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    510

    3x Hardware PWM und Multiplexen mit dem Timer ATTiny2313

    Anzeige

    Hallo liebes Forum,

    ich habe noch nciht viel Erfahrung.. also bitte steinigt mich nicht.

    Ich möchte mit einem Tiny2313 RGB-LEDs ansteuern.
    Das sollte dank vier Hardware-PWMs ja kein Problem sein, ich brauche dafür ja nur drei.

    Meine Frage ist jetzt, kann man den Timer noch parallel anderweitig nutzen?
    Fürs Multiplexen benutzt man doch den Timer oder?
    Ich stecke noch nicht so tief in der Materie deswegen dachte ich, ich frage euch bevor ich in die falsche Richtung laufe.


    Edit:

    ich glaube es wäre sinnvoll zu erklären was ich vorhabe.

    Nehmen wir an ich habe zwei RGB LEDs.

    Diese hängen jedoch nicht direkt an den PWM-Ports des Controllers sondern dazwischen hängen noch Transistoren deren Basis an einen weiteren Pin des Controllers geht, so dass das PWM Signal nur zur LED gelangt wenn der Pin auf high gesetzt wird.

    Man bräuchte also sechs Pins an denen jeweils ein Transistor hängt um die beiden LEDs getrennt von einander an und aus zu schalten.

    Meine Idee war jetzt beim ersten durchlauf der Routine die Pins für die erste LED einzuschalten und eine Farbe mit den drei PWM-Kanälen zu erzeugen. Beim nächsten Durchlauf werden die anderen Pins auf high gesetzt und die der ersten LED auf low. Mit den PWMs stellt man nun eine andere Farbe ein. Dann beginnt das ganze von vorne.

    Wenn man jetzt zu Grunde legt, dass das sehr oft in der Sekunde passiert müsste es doch möglich sein, mit den gleichen PWM Kanälen "gleichzeitig" unterschiedliche Farben anzeigen zu lassen, oder?

    Danke für eure Mühe!
    Crypi

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn man einen Timer fürs PWM Signal nutzt, kann man damit auch noch was anderes machen. Man hat aber für das PWM Signal je ein Vergleichsregister blockiert, und der Timer sollte immer frei laufen, also nicht im CTC Modus.

    Man kann die 2 LEDs im Wechsel bedienen. Das umschalten wirklich synchron mit dem PWM Signal zu bekommen, damit es keine übersprechen von einer LED zu andern Bekommt geht, ist aber schon etwas komplizierter.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Ich glaube das wird so nicht wirklich was, mach die Dimmung lieber in Software.
    Ein guter Ansatz für viele LEDs ist hier BAM - BitAngleManipulation.
    Code hatte ich mal geschrieben:
    http://www.ledstyles.de/ftopic9256.html

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    510
    Guten Morgen,

    hm eine weitere Problematik wird die Helligkeit sein, oder?
    Man bräuchte eine höhere Spannung um die gleiche Helligkeit zu erreichen.

    @stefan deine Lösung verstehe ich nicht... ich fürchte da fehlt mir noch der Durchblick.


    Welche Lösungen gäbe es noch, um mein Vorhaben zu realisieren?
    Es sollte nach Möglichkeit auf 6 RGB-LEDs erweiterbar sein.

    hm schade, ich dachte ich hätte eine Lösung gefunden...

    Crypi

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Die Spannung erhöhen hilft nicht, das würde die LEDs schädigen.
    Und ja: wenn du die LED nur 1/2 der Zeit ansteuern kannst, wird sie gefühlt 1/2 so hell sein.
    Wenn du 6 RGBs treiben willst, brauchst du ja schon 16 PWM-Signale - das wird schwer am 2313.
    Alternativ kann man entsprechende Treiber nutzen (die haben dann I2C oder SPI z.B.) oder Schieberegister - was allerdings flackern dürfte.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    510
    Ok, ich bin ja aber nicht der erste der so etwas umsetzen möchte..

    Dann erstmal abseits der Möglichkeiten des Tiny2313..
    Wie geht man das generell an.
    Klar, wenn man genut pwm-Signale hat ist es kein Problem.
    Wenn man aber nun einen normalen Controller nimmt, der hat dann ja vielleicht 3 oder 4 Kanäle...

    Crypi

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    J dann trickst man es eben mit der BAM oder nimmt direkt nen IC der das für einen macht. TI hat z.b. die 59xx Reihe mit einigen Modellen - die machen dir dann schon 15x12Bit PWM mit digitaler mA Einstellung und allem - aber ganz so einfach ist das auch nicht.

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die einfachste Lösung um die volle Helligkeit zu behalten wäre wirklich ein unabhängiges PWM Signal für jede LED. Für 6 mal RGB also 18 Kanäle. Man kann es auch mit Multiplexing machen und dann den Strom etwas erhöhen - das ist aber ein gewisses Risiko (wenn das Programm Fehler hat) und die Frequenz zum Multiplexen muss dann eher höher sein (z.B. 1 kHz).

    Für einige wenige LEDs könnte man PWM noch in Software machen. In Bascom kann es da mit der Geschwindigkeit knapp werden - könnte aber gerade noch gehen, wenn man sich anstrengt und nicht zu viel Auflösung verlangt. Bei 18 Kanälen wäre da eher ein etwas größerer Kontroller (z.B. Mega4 angebracht statt Schieberegistern. Die Schieberegister gäben aber auch keine extra Verzögerung, wenn man Hardware SPI nutzt. Man könnte z.B. 2 Kanäle per Hardware PWM und 16 per Software PWM machen.

    Sonst halt die fertigen PWM ICs - die sind nur nicht überall zu bekommen.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2004
    Beiträge
    510
    schwierig, schwierig..

    Ich danke euch für eure Hilfe!
    Ich glaube das ist noch eine Nummer zu groß für mich, ich denke ich werde mit etwas kleinerem anfangen und mich langsam dahin tasten.

    Habt ein schönes Wochenende!
    Crypi

Berechtigungen

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