Ankündigung

Einklappen
Keine Ankündigung bisher.

RGBW LED Strip / Steuerung mit RaspberryPi über i2c

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    RGBW LED Strip / Steuerung mit RaspberryPi über i2c

    Hi,
    hier eine kurze Vorstellung meiner letzten Bastelei.

    Steuerung eines RGBW LED Strip von einem Raspberry Pi mittels I2C
    Der Raspberry hat das „Problem“ das er nur einen PWM Ausgang hat.
    Um das analoge RGBW LED Band zu dimmen/steuern,
    benötigt man nun halt mal vier PWM Ausgänge,
    die auch ein paar Ampere bei 12V vertragen.





    Hier meine Stückliste:
    LED 5050 SMD RGB Strip (ebay 5m incl Netzteil und Controller 25€)
    LED warm weiß Strip (ebay)
    Raspberry PI
    2x PCA9530 (i2c LED Dimmer 1,45€ )
    4x BC 547 (0,04€ Treiber Transistor und NOT Gate für die TIP 120)
    4x TIP 120 NPN Darlington Transistor 0,30€
    Kleinzeugs: DC Buchse,SO8 Adapter, Wiederstände, Lochplatine, Schraubklemmen… aus der Bastelkiste




    Der Raspberry versorgt die PCA9530 mit 5V.
    Die PCA9530 hängen parallel beide am I2c vom raspberry.
    Damit die beiden IC auf dem i2c andere Adressen bekommen liegt der Pin 1 einmal auf 0V
    der vom anderen IC auf 5V

    RPI ---- PCA9530
    -------------------------------------
    3 (SDA) <--> Pin 7 (SDA)
    5 (SCL) <--> Pin 6 (SCL)
    6 Ground <--> Pin 4 Ground
    2 5V <--> Pin 8 + Pin 5


    Die Ausgänge vom PCA9530 sind an der Basis vom BC 547 der Emitter liegt auf GND und am Collector hängt der TIP 120.
    Der Emitter bekommt über 100k die 5V und der Collector über 10K.
    Der TIP 120 schaltet 5A und ist ausreichend für mehrere Meter LED Band.
    Sollten 5A nicht reichen kann auch ein Power MOSFET wie ein IRF2807 verwendet werden, der macht dann mit kleinem Kühlkörper 82A.
    MOSFET wäre bei mir mit 4meter LED overkill.


    Auf dem raspberry muss nur noch I2c aktiviert werden:
    cat /etc/modprobe.d/raspi-blacklist.confblacklist spi-bcm2708#blacklist i2c-bcm2708 sudo adduser pi i2csudo reboot sudo apt-get install i2c-tools


    root@raspi:~# i2cdetect -y 1
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: 60 61 -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    root@raspi:~#
    Die beiden PCA9530 erscheinen mit der adresse 60 und 61
    Ich habe rot und grün auf den ersten chip gelegt blau und weiß auf den zweiten.
    Nun kann man mit i2cset das ganze steuern.

    alles ein (ff hex = 256 = 100%)
    #i2cset -y 1 0x60 0x11 0x00 0xff 0x00 0xff 0xe i
    #i2cset -y 1 0x61 0x11 0x00 0xff 0x00 0xff 0xe i

    alles aus
    #i2cset -y 1 0x60 0x11 0x00 0x00 0x00 0x00 0xe i
    #i2cset -y 1 0x61 0x11 0x00 0x00 0x00 0x00 0xe i

    50% rot (80 hex = 128 = 50%)
    #i2cset -y 1 0x60 0x11 0x00 0x80 0x00 0x00 0xe i

    50% weiß
    #i2cset -y 1 0x61 0x11 0x00 0x00 0x00 0x80 0xe i

    oder die eine Mischung:




    Das Skript für die Integration in smarthome.py oder linknx hab nicht noch nicht fertig.

    Da der gemeine Bastler erst mit einem Projekt aufhört,wenn die Platine voll ist,
    könnte ich mir vorstellen das mit Hilfe vom NCN5120MNG und dem minimalst arduino( https://incom.org/projekt/684 )
    es möglich ist die led steuerung für 15€ mehr auch direkt ans eib zu hängen.

    Grüße Stefan

    #2
    Hallo Stefan,

    zu meinem Verständnis:

    50% rot und 70% blau geht gleichzeitig nicht.
    Du hast ja nur einen PWM-Ausgang. Also nur einen %-Wert.
    Und den kannst du wahlweise auf rot, grün, blau und/oder weiß legen.
    Hab ich das richtig verstanden?

    War die Installation der i2c-tools schmerzfrei?
    Hab ich nämlich auch auf meiner ToDo-Liste stehen...
    Ciao
    Olaf
    Nichts ist so gerecht verteilt, wie der Verstand.
    Jeder meint, genug davon zu haben.

    Kommentar


      #3
      Warum eigentlich nicht PCA9685?? Der ist doch eigentlich prädestiniert für mehrkanaliges LED dimmen.... Für CV-Leds einen IRLU 024N dahinter und fertig.

      Kommentar


        #4
        Zitat von dundee Beitrag anzeigen
        Hallo Stefan,


        50% rot und 70% blau geht gleichzeitig nicht.
        Du hast ja nur einen PWM-Ausgang. Also nur einen %-Wert.
        Hi dundee,
        ja der raspberry hat nur einen PWM output. Desshalb verwende ich den PWM Ausgang des raspberry nicht,
        sondern steuer die LED´s mit den beiden IC´s "PCA9530".
        Den raspberry verwende ich nur um i2c comands an die beiden chips zu senden.

        i2c aktivieren ist kein Problem.
        Einfach die Datei /etc/modprobe.d/raspi-blacklist.conf anpassen
        indem du die vor die zeile mit "blacklist i2c-bcm2708" ein setzt "#" und
        somit diese Zeile auskommentiert.
        Beim nächsten boot läd der Kernel das Modul.
        Die benötigten Tools kannst du ganz einfach mit
        "sudo apt-get install i2c-tools" nachinstallieren.

        Grüße Stefan

        Kommentar


          #5
          Zitat von uncletom Beitrag anzeigen
          Warum eigentlich nicht PCA9685?? Der ist doch eigentlich prädestiniert für mehrkanaliges LED dimmen.... Für CV-Leds einen IRLU 024N dahinter und fertig.
          Hi,
          PCA9685 is ein super Ding
          aber TSSOP28 löten ist für mich nichts und einen Pizzaofen hab ich nicht.
          Da hab ich lieber zwei PCA9530 (SO8) genommen.

          Der Hexfet IRLU024N ist aber besser als die TIP120 die ich verbaut habe.
          Die werde ich mir mal mit der nächsten Bestellung auf Lager legen. Danke für den Tip!

          Grüße Stefan

          Kommentar

          Lädt...
          X