Hallo, Ich habe mir den Artikel zum Wellenwiderstand jetzt schon mehrmals durchgelesen und komme trotzdem nicht zu einer befriedigenden Lösung. Ich habe hier insgesamt 25 Meter leuchtende Platinen vor mir (LED Treiber ist der TLC5922), die über SPI daisy-chained angesteuert werden sollen. Da es wohl unmöglich ist alle 25 Meter mit einem SPI Signal zu versorgen, wollte ich alle paar Meter einen neuen neuen AVR einsetzen. Ich habe insgesamt 5 Datenleitungen (SIN, SCLK, CS, BLANK, MODE) die ich wohl alle terminieren muss. Da alle 50cm das Signal aufgegriffen wird, kommt entweder eine Parallel oder eine AC Terminierung in Frage. Mein großes Problem ist, dass ich zwar ein Signal ganz gut parallel terminiert bekomme, ein zweites aber nicht mehr so einfach funktioniert, da sie sich dann gegenseitig beeinflussen. Testweise habe ich hier 6 Meter liegen, die ich unter bestimmten Umständen auch alle zum Leuchten bewegen kann, allerdings sehen die Signale alles andere als schön aus. Als zusätzliches Problem sehe ich, dass mein Multimeter ca 15 Ohm für eine Datenleitung anzeigt, was bei einem Terminierungswiderstand von 170 Ohm einen hübschen Spannungsteiler ergibt. Meine Frage wäre wie ich die Datenleitungen am geschicktesten terminiere, wäre es vielleicht sinnvoll die SCLK Leitung anders (parallel?) zu terminieren als CS, BLANK und MODE (AC Terminierung?), da letztere nur sehr selten ihr Potential wechseln? Vielen Dank im Vorraus Kai
@ Kai Franke (kai-) Benutzerseite >Ich habe mir den Artikel zum Wellenwiderstand jetzt schon mehrmals >durchgelesen und komme trotzdem nicht zu einer befriedigenden Lösung. Hmmm. >Ich habe hier insgesamt 25 Meter leuchtende Platinen vor mir (LED WOW! Wenn die Platinen leuchten, dann muss da ja EINIGES an Strom drüber gehen. ;-) SCNR >Treiber ist der TLC5922), die über SPI daisy-chained angesteuert werden >sollen. Da es wohl unmöglich ist alle 25 Meter mit einem SPI Signal zu >versorgen, wollte ich alle paar Meter einen neuen neuen AVR einsetzen. Wozu? Ein einfaches Logikgatter kann genauso als einfacher Repeater arbeiten. >Ich habe insgesamt 5 Datenleitungen (SIN, SCLK, CS, BLANK, MODE) die ich >wohl alle terminieren muss. Da alle 50cm das Signal aufgegriffen wird, Nöö. Blank und Mode sind vollkommen unkritisch, SIN und CS eigentlich auch. Bleibt einzig und allein SCK. >kommt entweder eine Parallel oder eine AC Terminierung in Frage. >Mein großes Problem ist, dass ich zwar ein Signal ganz gut parallel >terminiert bekomme, ein zweites aber nicht mehr so einfach funktioniert, <da sie sich dann gegenseitig beeinflussen. ??? >Testweise habe ich hier 6 Meter liegen, die ich unter bestimmten >Umständen auch alle zum Leuchten bewegen kann, allerdings sehen die >Signale alles andere als schön aus. Als zusätzliches Problem sehe ich, >dass mein Multimeter ca 15 Ohm für eine Datenleitung anzeigt, was bei >einem Terminierungswiderstand von 170 Ohm einen hübschen Spannungsteiler >ergibt. Und? d.h. deine Spannung an Ende des Kabels ist um 15/(15+170)= 8,1% kleiner. So what. >Meine Frage wäre wie ich die Datenleitungen am geschicktesten >terminiere, wäre es vielleicht sinnvoll die SCLK Leitung anders >(parallel?) zu terminieren als CS, BLANK und MODE (AC Terminierung?), da >letztere nur sehr selten ihr Potential wechseln? Parallelterminierung ist sehr stromhungrig bei 3,3V CMOS. Keine gute Idee. Bestenfalls Thevenin-Terminierung, das ist es einigermassen erträglich. Vorsicht, dann wird ein Kondensator für die Versorgungsspannung nahe der Terminierung benötigt (fehlt im Artikel). MFG Falk
>> WOW! Wenn die Platinen leuchten, dann muss da ja EINIGES an Strom drüber >> gehen. Genau hier sehe ich ein weiteres Problem. Dadurch, dass so viel Strom drüber fließt hebt sich die Masse an, was besonders bei den letzten Leisten deutlich wird. Ich habe die Leiterbahnen zwar so breit wie nur möglich layoutet, allerdings ist der Spannungsabfall nach 5 Meter deutlich über einem Volt. Ich denke einfach mal, dass recht viele Sachen zusammen kommen wieso es nicht wirklich sauber funktioniert. Ob man CS terminieren muss weiß ich nicht genau, ich habe mal eine Messung angehängt, schön sieht er nicht aus. SIN sehe ich auch als unkritisch, da dieses Signal jede 50cm neu erzeugt wird. Ich werde mich im Laufe der Woche mal mit jemanden mit Oszi zusammensetzen und verschiedene Terminierungen ausprobieren, die Thevenin hatte ich noch nicht versucht. Der Grund mehrere AVRs einzusetzen kam daher, dass die Übertragung momentan (6 Meter) schon recht lange dauert, bei 25 Metern wird mir der AVR dann wohl in die Knie gehen, ich werde aber mal schauen wo ich den Code noch optimieren kann, dass ich vielleicht auch mit einem AVR und Bus Treibern auskomme
Wenn die Spannungsversorgung auch über die langen Kabel läuft, dann würde ich eine höhere Spannung verwenden (z.B. 24V) und auf jeder Platine mittels Stepdown auf die 5V runterwandeln. Damit sollte der Strom weitaus erträglicher sein.
@ Kai Franke (kai-) Benutzerseite >Genau hier sehe ich ein weiteres Problem. Dadurch, dass so viel Strom >drüber fließt hebt sich die Masse an, was besonders bei den letzten >Leisten deutlich wird. Ich habe die Leiterbahnen zwar so breit wie nur >möglich layoutet, allerdings ist der Spannungsabfall nach 5 Meter >deutlich über einem Volt. Herr Ohm kann das ausrechnen. >Ich denke einfach mal, dass recht viele Sachen zusammen kommen wieso es >nicht wirklich sauber funktioniert. Jo. >Ob man CS terminieren muss weiß ich nicht genau, ich habe mal eine >Messung angehängt, schön sieht er nicht aus. Naja, ist halt ein fetter Überschwinger, der aber nach ~ 400ns wieder abgeklungen ist. >Der Grund mehrere AVRs einzusetzen kam daher, dass die Übertragung >momentan (6 Meter) schon recht lange dauert, bei 25 Metern wird mir der >AVR dann wohl in die Knie gehen, ich werde aber mal schauen wo ich den ??? Rechung? MFG Falk
ich habe zwei verschiedene Versorgungsspannungen:
5V für die TLCs und 12V für 3 in Reihe geschaltete RGBs
Da die TLCs nicht so viel Strom ziehen, fällt die 5V Spannung auch nicht
so stark ab, die 12V dürfen bis unter 10V abfallen.
Es ist klar, dass diese Spannung ca alle 5 Meter neu eingespeist werden
muss.
>Rechung?
Rechnung gibt es nicht, es handelt sich hier um die subjektive
Wahrnehmung beim Farbwechsel Modus. Das Programm durchläuft das
Farbspektrum indem es immer eine Farbe ein stückchen heller oder dunkler
macht. Natürlich könnte man hier auch 2er oder 3er Sprünge einbauen oder
das ganze etwas logarithmisch ansteuern, das kommt aber erst wenn die
Hardware läuft :)
>ich habe zwei verschiedene Versorgungsspannungen: >5V für die TLCs und 12V für 3 in Reihe geschaltete RGBs >Da die TLCs nicht so viel Strom ziehen, fällt die 5V Spannung auch nicht >so stark ab, die 12V dürfen bis unter 10V abfallen. >Es ist klar, dass diese Spannung ca alle 5 Meter neu eingespeist werden >muss. Unpraktikabel. Lieber eine höhere Spannung nehmen und diese pro Modul herunterschaltwandeln. Spart eine Menge Leitungsaufand und der Strom geht über der Strecke entsprechend zurück. Mit mehreren schon passend stabilisierten Spannungen geht man nicht über Leitungsmeter.
Über die Versorgungsspannung hatte ich mir auch schon Gedanken gemacht, da ich aber sowohl die Kosten, als auch den Bestückungsaufwand in Grenzen halten wollte, habe ich mich gegen jegliche Spannungswandler entschieden. Mehr als 12V sind auch nicht möglich, da sonst der erste Treiber, der noch die vollen 12V abbekommt zu heißt läuft. Es geht in diesem Thema allerdings auch nicht um die Versorgsspannung der LEDs, ändern kann ich am Layout auch nichts mehr, da ich schon 100 Platinen bestellt habe (cheaper by the dozen :P ) Idealerweise wollte ich an den Anfang einen Treiber setzen und am Ende eine passende Terminierung. Die Idee kam übrigens glaub ich von Falk, vielen Danke dafür nochmal :) Die Frage ist eigentlich nur was ich alles terminieren muss und wie ich das am Geschicktesten mache.
@ Kai Franke (kai-) Benutzerseite >Mehr als 12V sind auch nicht möglich, da sonst der erste Treiber, der >noch die vollen 12V abbekommt zu heißt läuft. ??? Du bruachst sinnvollerweise eine Schaltregler pro Board. Dann kann man super mit 24V und ggf. mehr arbeiten. >Es geht in diesem Thema allerdings auch nicht um die Versorgsspannung >der LEDs, ändern kann ich am Layout auch nichts mehr, da ich schon 100 >Platinen bestellt habe (cheaper by the dozen :P ) Wäre ja auch vollkommen sinnlos, mal vorher bissel zu rechnen un einen paar Prototypen zu bauen . . . >Idealerweise wollte ich an den Anfang einen Treiber setzen und am Ende >eine passende Terminierung. Die Idee kam übrigens glaub ich von Falk, >vielen Danke dafür nochmal :) Dein Treiber und die Terminierung hilft dir aber nciht gegen Masseverschiebung durch hohen Strom. Dort braucht man dann RS485 Tranceiver, die können grosse Masseverchiebungen tolerieren. >Die Frage ist eigentlich nur was ich alles terminieren muss und wie ich >das am Geschicktesten mache. SCK mit Thevenin, der Rest sollte egal sein. MFG Falk
Hallo, habe mich jetzt mit einem Mensch mit Oszi zusammengesetzt und wir haben das Problem weitgehend in den Griff bekommen :) Die Thevenin Terminierung für die Clockleitung hat ganz gut funktioniert, ich habe 220 Ohm verwendet. Es funktionierte zwar auch ohne, das Signal stieg aber kurzzeitig auf über 6,5V an. Das wichtigste weshalb es am Ende überhaupt funktionierte war, dass wir die CS Leitung eine AC Terminierung verpasst haben (mit keiner anderen Terminierung klappte es) Das Problem war sehr wahrscheinlich, dass das CS Signal durch den starken Überschwinger als weitere fallende Flanke erkannt wurde, dem wieder eine steigende folgte. Da dazwischen logischerweise keine Daten eingespeist wurden, blieb die Leiste dunkel. Als Werte für die AC Terminierung habe ich 100 Ohm und 10nF verwendet, dadurch wurde die CS Leitung stark geglättet. Da CS aber sowieso nur sehr selten geschaltet wird war das Timing unproblematisch. Der komplette SPI Bus ist jetzt 6 Meter lang, wird nur von einem ATmega8 getrieben und funktioniert soweit ohne Probleme. Damit das auch so bleibt werde ich wahrscheinlich alle 4 Meter einen Bustreiber einbauen, der alle Signale wieder auffrischt und sauber sendet. So, das wars eigentlich, wollte hier nur noch aufklären wie es funktioniert, weil es nichts schlimmeres gibt als einen Thread zu lesen in dem die Lösung dann nicht mehr drin steht, vielleicht kann es ja jemand gebrauchen Gruß Kai
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.