Problem mit WS2812b 4-Layer Board

OP #7792901
Lesenswert?

Moin Zusammen,

Ich habe ein Problem, ich habe mir aus dem Schaltplan zu den Neotrellies M4, ein eigenes Board gebaut, aber mit identischer Hardware und nahezu identischem Schaltplan, ich habe lediglich einige unnötige Dinge entfernt die ich nicht benötige, da das Board eigentlich nur als LED Eingabetastatur dienen soll, die per I2C die Tastendrücke meldet.

Ich habe das Board auch als 4-Layer machen lassen, ich habe auch schon die Platine auf Fehler überprüft, aber keine gefunden, im Schaltplan ist mir auch kein Fehler aufgefallen.

Ich habe den ATSAMD51G19A mit einem Sketch (Der auf meinem gekauften Neotrellies M4 Board läuft) programmiert, aber die LEDs leuchten einfach nicht. Sie werden korrekt mit +4.99V versorgt.

Als LEDs kommen "WS2812B-Mini-V3" wie beim Original board zum Einsatz.

Als Pegelwandler zwischen LEDs und Microchip kommt ein 74HCT1G125GW zum Einsatz, der auch schon gegen einen neuen getauscht wurde. Ohne Erfolg.

Ich habe schon mit meinem Logicanalyzer geprüft ob PA27 auch Daten an den 74HCT sendet und ja, er sendet auch Daten an den Pegelwandler, der Weg vom Ausgang Pegelwandler zur ersten LED ist soweit auch in Ordnung.

Ich stecke hier echt fest und habe keine Idee mehr...

Jemand noch eine Idee oder findet einen Fehler?

Bauteil Pegelwandler: https://www.mouser.de/ProductDetail/Nexperia/74HCT1G125GW125?qs=P62ublwmbi9fxWhuHktl8w%3D%3D&srsltid=AfmBOop0y2r7NFjwOliVzg8zkcItkYg2rsOeyulcRA9xVQgej5qE941K

Edit1 VDD ist im Übrigen +5V und kommt von einem Labornetzteil. Edit2 Sketch ist nun als Datei im Anhang.

Grüße, Daniel

Angehängte Dateien:
#7792915
Lesenswert?

Du beschreibst Deinen Aufbau, aber nicht, was das Problem ist.

(Deinen Quelltext hättest Du besser als Anhang statt in Deinen Beitrag packen sollen, aber das ist sicher nicht das Problem, dessentwegen Du um Hilfe fragst)

Was passiert, bzw. was passiert nicht?

Hast Du Dir mit dem Oszilloskop auch die Datenleitung zwischen der ersten und zweiten LED angesehen?

Hast Du mal die Anzahl der gleichzeitig angeschlossenen LEDs reduziert?

OP #7792935
Lesenswert?

Moin Harald,

Habe mal den Quelltext in eine Datei gepackt, dann ist der Beitrag kleiner.

Es passiert einfach nichts, die LEDs gehen nicht an. Der Sketch läuft. Wenn ich z.B. mit dem Multimeter am Ausgang des Pegelwandels (Ausgang <-> Dateneingang LED) Messe, flackern die LEDs wie wild und gehen bis zur letzten LED an, leuchten aber wahllos.

Habe hier leider kein Oszi zur Verfügung, lediglich ein Logicanalyzer.

Starte ich den Sketch neu, sollten die eingeschalteten LEDs ausgehen, tun Sie aber auch nicht.

Die Anzahl der LEDs kann ich nicht so einfach Reduzieren, SMD Bauteile. Habe aber mal nach der 3. LED eine mit der Heisluft entfernt, hat leider nichts gebracht.

Gast #7792951
Lesenswert?

Wenn ich z.B. mit dem Multimeter am Ausgang des Pegelwandels (Ausgang <-> Dateneingang LED) Messe, flackern die LEDs wie wild

Was unmöglich ist, wenn der Pegelwandler tut was er soll: Saubere 5V Signalpegel ausgeben.

Prüfe seine Stromversorgung und die Signale an seinen Eingängen (auch /OE) mit einem Oszilloskop. Ein billiges DSO150 würde dazu schon genügen.

Ein Logic Analyzer wäre praktisch, nachdem das Flackern behoben ist.

#7793134
Lesenswert?

Daniel S. schrieb:

Die Anzahl der LEDs kann ich nicht so einfach Reduzieren, SMD Bauteile.

Leiterbahnen kann man durchkratzen.

Gut, wenn Dein aus irgendeinem Grund /vierlagiges/ Layout die wichtigen Leiterbahnen auf die Innenlayer hat, dann natürlich eher nicht.

Wenn Du mit Dranhalten Deines Multimeters das Verhalten der Schaltung änderst, dann -- steht das Multimeter möglicherweise im Strommessbereich?

#7793155
Lesenswert?

Da deine LEDs ja scheinbar flackern, wenn du mit einem hochohmigen Multimeter am Ausgang vom Pegelwandler misst, floated da etwas rum. Laut Datenblatt vom Pegelwandler ist der Ausgang Hochohmig, wenn der OE Pin high ist. Im Schaltplan wird er korrekt mit GND verbunden. Ich sehe aber kein Layout und habe schon Einhörner kotzen sehen. Also prüfen, ob der OE Pin wirklich auf Masse ist.

Dann noch sehr Auffällig. Im Code ist Pin 10 als Ausgabe definiert. Laut Schaltplan sollte es PA27 (Pin 39) sein. Erstaunlicher Weise ist das so aber auch in den Daten von Adafruit drin. Schaltplan und Source Code passen da scheinbar nicht zusammen. Ist das eine Eigenheit vom SAMD? Ich kenne den Chip nicht, kommt mir aber komisch vor. Probier doch mal, was passiert, wenn du den Pin entsprechend änderst.

Anonsten hast du mal Daten und Timings mit deinem Logicanalysier kontrolliert?

Was ich gerade noch gesehen habe. Scheinbar kann man in Arduino bei den Board Einstellungen den Takt vom SAMD festlegen. Da kannst du auch schauen, ob der richtige Wert eingestellt ist, sonst passt das Timing für die LEDs nicht.

Beitrag #7793279 wurde von einem Moderator gelöscht.
OP #7793455
Lesenswert?

Harald K. schrieb:

Daniel S. schrieb: Die Anzahl der LEDs kann ich nicht so einfach Reduzieren, SMD Bauteile. Leiterbahnen kann man durchkratzen.

Ja, nur bei 4-Layer uncool...

Stephan schrieb:

Da deine LEDs ja scheinbar flackern, wenn du mit einem hochohmigen Multimeter am Ausgang vom Pegelwandler misst, floated da etwas rum. Laut Datenblatt vom Pegelwandler ist der Ausgang Hochohmig, wenn der OE Pin high ist. Im Schaltplan wird er korrekt mit GND verbunden. Ich sehe aber kein Layout und habe schon Einhörner kotzen sehen. Also prüfen, ob der OE Pin wirklich auf Masse ist.

Check, OE liegt definitiv auf Masse, hatte das auch schon im Verdacht.

Dann noch sehr Auffällig. Im Code ist Pin 10 als Ausgabe definiert. Laut Schaltplan sollte es PA27 (Pin 39) sein. Erstaunlicher Weise ist das so aber auch in den Daten von Adafruit drin. Schaltplan und Source Code passen da scheinbar nicht zusammen. Ist das eine Eigenheit vom SAMD? Ich kenne den Chip nicht, kommt mir aber komisch vor. Probier doch mal, was passiert, wenn du den Pin entsprechend änderst.

Ist mir auch aufgefallen, wenn ich PIN auf 27 / GPIO27 ändere, kommt am PIN10 / PA27 nichts mehr raus.

Anonsten hast du mal Daten und Timings mit deinem Logicanalysier kontrolliert?

Ja, ich habe einen WS2812B Analyzer, der sagt mir aber Invalid Data... Ich werde mal ein Screenshot davon machen.

Was ich gerade noch gesehen habe. Scheinbar kann man in Arduino bei den Board Einstellungen den Takt vom SAMD festlegen. Da kannst du auch schauen, ob der richtige Wert eingestellt ist, sonst passt das Timing für die LEDs nicht.

Habe mal eben, noch den SAMD ausgelötet, komplett. Habe mir mal Spring-Wires dran gelötet und das ganze mit einem ESP32 versucht, also +5V und GND vom ESP32 und GPIO5 auf Eingang vom Pegelwandler mit Adafruit Script, die WS2818B LEDs direkt mit +5V ans Netzteil auch nichts...

#7793599
Lesenswert?

Daniel S. schrieb:

Ja, ich habe einen WS2812B Analyzer, der sagt mir aber Invalid Data... Ich werde mal ein Screenshot davon machen.

An welcher Stelle sagt der Analyzer das, vor oder nach dem Level Shifter? Du kannst den Levelshifter auch überbrücken. Inzwischen kommen fast alle WS2812 auch mit 3V3 Pegel aus, besonders wenn die Wege bis zur ersten LED kurz sind. Danach ist egal, weil die erste LED sowieso einen Shift auf 5V macht.

#7793825
Lesenswert?

Daniel S. schrieb:

Ja, ich habe einen WS2812B Analyzer, der sagt mir aber Invalid Data... Ich werde mal ein Screenshot davon machen.

Es macht wenig Sinn, den Analyzer anzuschmeißen, wenn gar nicht klar ist, ob halbwegs sinnvolle Pegel und Timing kommt. Erstmal würde ich mit dem Oszi gucken. Ändere dein Testprogramm, so dass nur wenige LEDs mit Daten gefüttert werden und dann lade auch die Rohdaten vom Logikanalyzer (Typ?) hoch. In einem Screenshot lässt sich so schlecht zoomen und messen.

Stephan schrieb:

Inzwischen kommen fast alle WS2812 auch mit 3V3 Pegel aus

ab WS2812B V5

Moderator (Firma: Titel) Persönliche Seite #7794079
Lesenswert?

Daniel S. schrieb:

der Weg vom Ausgang Pegelwandler zur ersten LED ist soweit auch in Ordnung.

Hast du direkt am Eingangspin der LED gemessen? Passt das Timing?

im Schaltplan ist mir auch kein Fehler aufgefallen.

Mir fehlen da einige Blockkondensatoren an den LEDs. Im Datenblatt tauchen die als C104 an jeder LED auf.

Etwas verwirrend ist auch, dass VDD und +5V eigentlich das selbe sind.

ich habe auch schon die Platine auf Fehler überprüft, aber keine gefunden

Lass doch mal sehen.

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren