ich bin neu hier und muss sagen, ein echt cooles Forum mit vielen Tipps und Ideen. Auch ich habe mich der Treppenbeleuchtung mit einen Arduino uno r3 zu steuern zugewandt. Aber jetzt brauche eure Hilfe. Nach unzähligen Suchen hier im Forum und im Netz bin ich ratlos.
Meine Stufenbeleuchtung schafft genau 622 Pixel zu beleuchten. Bei 623 Pixel bleibt die Beleuchtung und der Arduino stehen oder schafft es irgendwie nicht.
Ich möchte insgesamt 770 Pixel beleuchten.
Zu meiner Bauweise:
Treppenbeleuchtung 14 Stufen mit jeweils 55 Pixel .
Stromzufuhr ist an jeder Stufe gegeben mit jeweils 2 Adern (+5V) und jeweils 2 Adern (Gnd) eines Netzwerkkabels .
Externes Netzteil 5V 10 A 50W
Datenleitung besteht ebenfalls aus 2 Adern gefädelt vom Netzwerkkabel.
Nachträglich habe ich an jeder 3 Stufe einen Widerstand von 330 Ohm eingebaut.
Weil ich erst dachte, dass es am mangelnden Strom liegt, habe ich es mit 250 W ausprobiert aber keine Veränderung!
-Die Datenleitung hat natürlich ein Widerstand von 330 Ohm vorweg.
Die Verbindungen zu den Strips zum Kabel sind alle mit 3poligen 10mm Klemmen verbunden.
Um sicher zu gehen benutze ich zum Test das Programm Strandtest auf dem 6. Pol.
Ich kenne mich mit Widerständen und Kondensatoren leider nicht so gut aus. Daher hoffe ich auf eure Hilfe! Habt ihr eine Idee, was ich verkehrt habe, vergessen habe oder falsch mache?
Für jede Erkenntnis bin ich sehr dankbar. Beste Grüße und Danke schon mal
Ich hatte Mal das Problem, dass sich ein Beinchen von einer WS2812b LED auf einem Stripe gelöst hat, dann funktionieren alle darauffolgenden LEDs nicht mehr.
Es kann allerdings auch sein, dass dir der RAM ausgeht. Eine LED benötigt etwa 3 Byte, du möchtest 770 betreiben, das wären dann 2310 Byte. Der Arduino Uno hat allerdings nur 2000 Byte.
Warum hast du eigentlich an jeder 3. Stufe einen 330 Ohm Widerstand verbaut, das braucht man eigentlich nur vor der ersten LED auf der Datenleitung.
Widerstand an Datenleitung setzt man bei jeder Stromeinspeisung.
Bitte mach eine Schematische Zeichnung wie du verkabelt hast, inkl. Abmessungen der Kabel.
Beschreibe EXAKT was deine Stripes machen sollen und was sie statt dessen machen.
Also den Fehler beschreiben.
Poste deinen Testsketch - wie sollen wir sonst wissen was du programmiert hast?
Bilder wären sowieso gut, damit wir SEHEN was bei dir Sache ist.
hast du die Möglichkeit den Sketch auf einem Mega laufen zu lassen?
622 * 3 Byte ist schon sehr an der Grenze dessen was auf einem Uno laufen könnte...
Globale Variablen verwenden 2407 Bytes (117%) des dynamischen Speichers, -359 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. Not enough memory;
okay, dann werd ich mal versuchen mit den Daten weiter oben anzufangen um zu schauen, dass kein Defekt an Beinchen oder Leitung besteht.
In vielen Beiträgen liest es sich, ein Widerstand zwischen jeder Stufe zu setzten aber in anderen dann auch nur vor der Datenleitung. Daher der Versuch mehrere Widerstände zu setzen.
Wie gesagt, das wäre so eine Vermutung. Es wird wahrscheinlich eher daran liegen, dass dir dein RAM voll läuft. Da hilft dann ein anderer Microcontroller mit mehr Arbeitsspeicher, vielleicht hast du ja einen in der Bastelkiste.
DIN ist für eine Spannung zwischen VDD-0,6V und VCC+0,6V spezifiziert, sonst geht er kaputt, weil eine Schutzdiode dutchbrennt.
Hat Stufe A VDD = 0 V und VCC = 5 V, die nachfolgende Stufe B hingegen VDD = VCC = 0 V, dann geht DIN des ersten Pixels von Stufe B kaputt, wenn direkt verbunden. Mit einem Widerstand wird der Strom durch die Schutzdiode begrenzt, so daß die Diode warm wird, aber nicht überhitzt.
Widerstände sind also zwischen unterschiedlich mit Spannung versorgten Abschnitten unbedingt notwendig. Wird der Arduino nicht mittels USB, sondern vom Netzteil des Neopixel-Streifens versorgt, so braucht es überhaupt keinen Widerstand.
ABER
Ein Widerstand zu viel stört nicht, daher würde ich zwischen Arduino und Streifen immer einen Widerstand einbauen, ebenso zwischen allen Trennstellen der Streifen, also auch zwischen den Stufen. Ein Wackelkontakt in der Versorgung, eine kalte Lötstelle können dann keinen Schaden anrichten, hoffentlich
Ja vom Gefühl her würde auch sagen, dass der Arduino dass nicht mitmacht. Ich hätte noch einen RaspberryPi 3b in der Bastelkiste. Aber kenne mich mit Python nicht so aus.
Welche Alternative würde denn sonst am besten laufen? Arduino Mega ?
Ich würde allerdings einen ESP32 oder ESP8266 nehmen. Da hast du WLAN an Board und so eventuelle Erweiterungsmöglichkeiten für zukünftige Ideen wie eine Steuerung mit dem Browser o.ä. gibt auch zu hauf Tutorials hier im Forum oder im Internet, kannst du ebenfalls über die ArduinoIDE programmieren. Wenn du Glück hast musst du nichteinmal etwas an deinem Code ändern. Ist sogar günstiger als der Mega.
770 WS2812 brauchen wenn alle weiß leuchten ca 46A.
Für 46A brauchst Du Kabel mit ca 6mm^2.
Da ist es besser Du montierst bei jeder Stufe einen 3A DC/DC Wandler und versorgst diese mit 24V. Da reicht ein 1,5mm^2 Kabel.
Die Streifen zu 55 Pixel würde ich beidseitig einspeisen.
Vergiß das. Die Netzwerkkabel sind viel zu dünn.
Die WS2812 werden normalerweise alle in 1 Reihe hintereinander geschaltet.
Wie bereits gesagt an jedem Teilstück das getrennt mit Spannung versorgt wird gehört ein Widerstand in die Datenleitung. In Deinem Fall am Anfang jeder Stufe.