Ambilght blinkt wenn im Zimmer Licht eingeschaltet wird

  • Hi,

    Ambilight funktioniert prima und vielen Dank an alle beteiligten.

    Ich habe 130 sk6812 LEDs mit einem 10a Netzteil und einem levelshifter.

    Problem ist folgendes: Wenn in irgendeinem Zimmer das Licht ein oder ausgeschaltet wird blinken alle kurz LEDs auf. Egal ob grad der Fernseher an ist oder nicht. Masse vom Netzteil ist mitm levelshifter und RPi verbunden.


    Jmd eine Idee woran das liegen könnte?

  • Danke für die Antwort,

    Der Fernseher steht an der Wand zur außenfassade. Der Sicherungskaten ist fast entgegengesetzt in der Wohnung.
    RPI wird vom orginal netzteil versorgt.

    LEDs werden von einem LRS-50-5 von Digikey versorgt.

    Levelshifter gekauft bei amazon

    Verschaltung:

    Auf pin 1 zu 39 ist noch der lüfter vom rpi

  • ist der Pi währenddessen eingeschaltet?

    Es gehen tatsächlich alle LEDs kurz an? Welche Farbe?

    Wie kange ist die Leitung?

    So etwas passiert ganz gerne, wenn die Datenleitung als Antenne wirkt.

    Der Levelshifter ist für I2C, das ist eigentlich falsch. Kann gehen, kann aber auch knapp sein, da die high Pegel nur passiv erzeugt werden.

    Ein Levelshifter für uart oder spi (push pull) wäre besser. Alternativ könnte man an deinem versuchen den Pullup Widerstand kleiner zu machen. Dafür müsstest du allerdings SMD löten können.

    Ich vermute, ohne den Levelshifter gehen die LEDs gar nicht?

    Oft geht 5V Logik weit genug runter, dass 3.3V Pegel reichen. Deine LEDs brauchen nach Datenblatt leider 3.4V. Könnte aber trotzdem gehen.


    Och betreibe meine ws2801 ganz ohne Pegelwabdler, hab aber nur 50cm Kabel. Offiziell brauchen die auch 4V.


    Nachtrag:

    Zu dem Wandler gibt es viele negative Kritiken, die den, wie du, eingesetzt haben. Dafür ist der halt nicht gedacht.

    Edited once, last by katagia: Ein Beitrag von katagia mit diesem Beitrag zusammengefügt. ().

  • Der Level-Shifter sollte schon so passen, hab‘ die selbst bei WS2801, APA102 und SK6812 verbaut. Ich tippe eher auf zu lange, ungeschirmte Datenleitungen, die dann als „Antennen“ wirken, alles mögliche einfangen und damit die LEDs „ansteuern“. Aber diese Antwort ist uns der TE noch schuldig.

    Grüße aus Österreich / Greetings from Austria !

    - Don't wanna miss it anymore !

  • Katagia hat schon recht, dieses LevelShifter passt nicht ganz gut. Das sieht man wenn man mit dem Oscilloscope misst. Er bringt den Pegel gar nicht hoch, weil zu langsam ist. Schafft aber gewisserweise Impedanzanpassung. Man sollte bei dem eigentlich die 10k Ausgangswiderstände durch 1k ersetzten, dann hat er deutlich bessere Wirkung. So richtig gut ist aber nur ein Buffer wie 74AHCT125, daher verwende ich ausschliesslich den mittlerweile.

  • Mike72: Nur weil es bei dir funktioniert heißt es nicht, dass es bei jedem funktioniert.

    EMV wird oft als Gleichtaktstörung eingetrahlt. Wenn du einen Schirm um die Leitung packst, bekommt der die Störeintrahlung ab. Je nach Masseführung wackelt dann wieder das Eingangssignal, dass die LED sieht.


    Das ist genau das, was ich meinte. Wenn kein "high" Pegel vom Pi erzeugt wird, wird er 5V high Pegel auf 5V rein über den Pull-Up erzeugt.

    Wenn der tatsächlich 10k hat, sind beide Enden der Leitung recht hochohmig, man fängt sich sehr leicht Störungen ein.

    Ein richter Buffer ist niederimpedant, da kommt die Störung nicht weit.

    Ausserdem kann man bei einem Buffer an der Senke, also der LED, einen Kondensator anbringen. Der kopmensiert dann das, was noch übrig ist.


    Warum kein Kondensator an dem vorhandenem Levelshifter? Da der High-Pegel nur durch den Pull-Up erzeugt wird, ist das Signal, wie wladi schon schrieb, sehr langsam. Die Flanke ist rund und das Signal kommt nicht richtig hoch. Mit noch mehr Kapazität steigt der Pegel noch langsamer und es kommt gar nichts mehr durch.

  • Kann durchaus sein, dass es nicht ausschließlich am Level Shifter liegt, aber nach geschätzt 40 Hyperion-Projekten weiß ich aus Erfahrung, dass unkontrolliertes aufblitzen der LEDs zu 99% von zu langen, ungeschirmten Datenleitungen ausgelöst wird. Abgesehen davon, dürfte sich das Problem für den TE mittlerweile erledigt haben.

    Grüße aus Österreich / Greetings from Austria !

    - Don't wanna miss it anymore !

  • Ja, aber technisch ist das doch faktisch nicht möglich.


    Ich wollte das LED Signal mit dem Arduino abgreifen und auswerten, also habe ich mich mit der Steuerung beschäftigt. es müssen also eine menge Bits ausgewertet werden. Dass der SChaltimpuls zufällig die richtigen Bits ergibt ist schon schwer vorstellbar...



    Wobei, wo ich so darüber nachdenke... die LED Daten werden Bitweise übertragen und wenn jetzt für eine Millisekunde durch Spannungsspitzen oder Induktion, ein High interpretiert wird, bedeutet das bei einer Busfrequenz von bis zu 25MHz folgende Anzahl LEDs weiß leuchten:

    25.000.000 Bits Pro Sekunde x 1 Milisekunde =25.000 Bits

    25.000 Bits / 8 Bit pro Farbe = 3.125 Farben

    3.125 Farben / 3 Farben pro LED = 1.041LEDs (Abgerundet)


    Also könnten die 130 LEDs bei einem deutlich kürzerem Impuls oder deutlich langsameren Takt tatsächlich alle weiß leuchten...


    Ich habe übrigens das selbe Problem, und hab mich wirklich gefragt, wo das her kommen kann. Aber mit der oberen erklärung macht es einen Sinn.

  • So eine Störung ist meist nicht nur eine Flanke, die kommt als Burst rein. Wenn der Pegel der Datenleitung im undefiniertem Bereich zwischen high und low liegt, kann theoretisch alles passieren.

    Das selbe gilt für jedes Signal, das nicht der Spezifikation entspricht.

    Ich vermute die LEDs haben eine State Machine oder andeten internen Zustand, der durcheinander kommt. Kann gut sein, dass deshalb dann alle LEDs leuchten.

  • Ja, das Problem ist einfach, dass nicht definierte Zustände existieren, die man versuchen kann zu erklären, aber das sind einfach Spekulationen.


    Also Signale gut schirmen und Versorgungsspannungen stabilisieren, das sollte Abhilfe schaffen.

  • Hallo,

    danke für die vielen Antworten. Es lag/liegt wohl wirklich am Levelshifter.

    es leuchteten alle LEDs weiß/blau auf wenn die lichter in irgendeinem zimmer angingen.

    Wenn ich die Channel geändert habe hat es ab und zu auch im noirmalen Betrieb angefangen zu flackern. Weg ging es gar nicht, bis mir ein versehen passiert ist. Ich habe die 5 V Versorgung vom levelshifter vergessen und auf ainmal ging alles 8|

    Wenn ich den Levelshifter komplett weglasse bekomme ich wieder ein Regenbogenflackern...

    Die länge der Datenleitung ist ca 50cm lang und zusammen mit der Versorgung in einem Schrumpfschlauch.

  • 50cm ist nicht wenig. Wenn das Problem weiterhin auftritt, nimm ein abgeschirmtes Kabel, z.B. altes Cinch-, oder Mikrofon-Kabel, die Abschirmung auf GND legen. Wichtig wäre auch die unbenutzten Kanäle des Level-Shifters ebenfalls auf GND zu legen.

    Grüße aus Österreich / Greetings from Austria !

    - Don't wanna miss it anymore !

  • Hallo,

    ich hatte ähnliche Probleme mit dem Flackern bei dem Betätigen des Lichtschalters. Ein Levelshifter hat bei mir geholfen. Habe dazu folgenden Levelshifter mit Hilfe des forums aufgebaut.



    https://forum-raspberrypi.de/f…lwandler-und-kondensator/


    Die unbenutzten Kanäle sind auch auf GND gelegt wurden.


    Meine Kabellänge ist ca. 1m und habe das mit dem geschirmten Kabel aufgebaut:


    https://www.ebay.de/itm/AUX-Ka…ksid=p2060353.m2749.l2649


    Die Schirmung hab ich mit auf GND des Levelshifters gehangen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!