Arbeiten mit Schieberegistern (tlc5940 und Bibliothek) auf Sparkfun-Breakout-Boards, die einzelne LEDs ansteuern.
Die Platinen sind für den seriellen Anschluss von VPRG, GSCLOCK, BLANK, XLATCH, SIN/OUT, SCLK, VCC, GND ausgelegt. Alles funktioniert perfekt auf Board #1-10. Allerdings brauche ich einige Boards/Chips mehr (bis zu 28) und die Signale werden ab Board 11 verrückt.
Ich hatte gehofft, einige Optionen zu finden, um die Signalstärken zu und über Board Nr. 11 zu erhöhen, während das Timing korrekt bleibt. Jede Hilfe mit möglichen Lösungen / spezifischen Schaltplänen wird SEHR geschätzt.
Die TLC-Breakout-Boards sind alle drei Zoll beabstandet. LEDs, Chips und Arduino werden alle von einer geregelten 5-V-Quelle mit 40 Ampere (MeanWell) gespeist. Die Stromversorgung erreicht das letzte Board und seine LEDs. Die Verbindungen/Lötungen sind solide und nicht kurzschließend. Jede LED und Platine wurde einzeln getestet.
Ich verstehe, dass dies eine große Aufgabe ist, Impedanz, Verbindungen, Leitfähigkeit, die Platine usw. spielen hier eine Rolle, aber ich muss die Platinen unbedingt in dieser langwierigen Konfiguration halten (notwendig für die Kunstinstallation). Auch wenn dieser Boost nicht alle 28 Chips zum Laufen bringt, würde ich gerne mehr darüber erfahren, wie die verschiedenen Takt-, Latch- und Datensignale über einen erweiterten seriellen Bus funktionieren und was ich tun kann, um sie zu bereinigen, zu stärken und weiter voranzutreiben .
Chip-Datenblatt: https://www.sparkfun.com/datasheets/Components/General/tlc5940.pdf Spark-Fun-Board: https://www.sparkfun.com/products/10616
EDIT: RUNDE ZWEI
Ich hoffe, dass die Unterbrechung dieses Projekts es nicht begräbt, aber ich habe noch ein paar Fragen, die auf dem Versuch basieren, die obigen Vorschläge zu verwenden.
Ich habe die Kunstinstallation so umgestaltet, dass ich die Chips/Platinen zentral und nebeneinander/Arduino bekommen konnte, anstatt sie auf die 4 LED-Raster zu verteilen. Ich werde eine viel, viel dickere durchgezogene gerade Linie für Verbindungen, Masse und Strom führen (die ich auf 6 V erhöhen werde). Die Hauptfrage, die ich habe, betrifft den Unterschied zwischen einem Buffer Amp und dem Clock-Treiber. Da die TLC5940-Boards für den seriellen Betrieb ausgelegt sind und ich so viele (ca. 30) benötige, wurde vorgeschlagen, dass ich alle drei Boards einen 74HC7014 Non-Invert-Verstärker betreibe. Ich kann das tun, aber sollte ich alle Signale aus demselben Puffer treiben? Daten, VPRG, Blank und beide Taktsignale (GSclock, Sclk)?
Oder sollte ich beide Taktsignale parallel von einem "robusten" Takttreiber (Irgendwelche Vorschläge, welcher?) und den Rest der Signale seriell durch die Platinen und Puffer schieben?
Ich habe mich auch gefragt, wie und ob ich etwas tun muss, um eines der Signale / Masse zu beenden? Würde es helfen, dass alles so funktioniert, wie es soll? Im Moment sind alle Signale/Strom und Erde nur in einer langen Linie, vom Arduino direkt durch alle Platinen und Treiber (es biegt sich jedoch in zwei Hälften, um es kompakt zu halten). Gibt es irgendetwas, das nach der letzten Platine getan werden sollte? ? Oder können sie einfach enden?
Könnte ein wenig mehr Vorschlag auf dem Schaltplan gebrauchen, bevor ich das löte und es ausprobiere. @alter Furz ?
Erstens:
Mir ist aufgefallen, dass jede Platine einen 5V-Regler für den LED-Treiber hat. Sie geben an, dass Ihre Stromversorgung auch 5 V beträgt. Dies bedeutet, dass der Regler nichts anderes tut, als einen leichten Spannungsabfall zu verursachen. Der TLC5940 arbeitet mit einer Spannung von etwas UNTER 5 V. Es hat einen Betriebsbereich von 3..5 V, was für den Chip kein Problem darstellt. Wenn Ihre LEDs es aushalten können, verwenden Sie eine höhere VCC-Spannung. Es wäre besser, wenn Sie zB 6 V verwenden und dann 1 Volt über das Kabel und den Regler verlieren können.
Mögliche Lösung:
Da es auf 11 Platinen zu funktionieren scheint, würde ich vorschlagen, dass Sie eine kleine "Signal-Repeater"-Platine bauen. Nur eine Reihe von Puffern, die die Eingangssignale aufnehmen und wieder aussenden. Machen Sie zB fünf oder sechs dieser Bretter und fügen Sie sie in regelmäßigen Abständen ein. (Denken Sie nicht: es hat mit 11 funktioniert, also 28/11 = ~3 Bretter. Sie benötigen einen Sicherheitsabstand). Ich habe einen kurzen Blick darauf geworfen und der 74HC7014 sieht gut aus: sechs nicht-invertierende Puffer mit Schmidt-Trigger-Eingang. Wahrscheinlich gut bis 1MHz bei 5V. Vielleicht finden Sie die 14-DIP-Version, die einfach auf einem Steckbrett zu löten ist.
Zuletzt:
Wenn Sie das nächste Mal ein Elektronikprojekt dieser Größenordnung starten, sprechen Sie mit einem erfahrenen Elektronikingenieur. Am liebsten einen alten Furz wie mich. Wir kennen die Fallstricke solcher Konstruktionen.
Ihr Anschlussplan sieht bis auf ein Detail besser aus: Sie speisen die HCT-Takttreiberplatinen von der VCC, die 6 V beträgt. Aber Ihre Erweiterungskarten haben einen Regler, der sie auf 5 V bringt. Versuchen Sie, ein 5-V-Signal auf einer der Erweiterungskarten neben dem Takttreiber zu finden, und verbinden Sie dieses mit der HCT-Karte anstelle von VCC. Die Alternative wäre gewesen, jeder HCT-Pufferplatine einen 5-V-Regler hinzuzufügen.
Sie sollten alle Signale puffern. Auf diese Weise erhalten alle mehr oder weniger die gleiche Verzögerung und somit ändert sich als Gruppe wenig. In diesem Fall funktioniert es, da alle Signale in die gleiche Richtung gehen. Es gibt keinen „Rückkanal“.
Sie müssen die Stromversorgung/Masse nicht abschließen. Zur Terminierung der seriellen Signale. Es ist keine schlechte Idee, aber da das System zuvor mit etwa 10 Boards funktionierte, würde ich es zuerst ohne versuchen. Sie können sie jederzeit hinzufügen. Es wäre schön, ein Scope-Bild der Signale am Anfang und am Ende zu haben.
jsotola
jsotola
adlib33e
Paul Uszak
adlib33e
Peter Bennett
adlib33e