Hallo,
ich muss eine etwa 40m lange Lichterkette mit 96 Stück superhellen LEDs
als bidirektionales Lauflicht aufbauen, und zwar abmontierbar
(Lüsterklemmen-Steckverbinder), in Abschnitten mit 8 LEDs à 3m. LEDs
wurden bereits gekauft.
Ich wollte das ganze mit 12 einzelnen Schieberegister-Modulen pro 8 LEDs
realisieren, mit TPIC 6C595 spar ich mir auch die Treibertransen, am
Anfang sitzt ein ATmega8.
Den Artikel über Wellenwiderstand habe ich gelesen, bin mir aber nicht
sicher, wie ich alles berechne und ob ich aus den Datenblättern die
richtigen Werte lese.
Wäre wirklich genial, wenn jemand auf die folgenden Fragen antworten
könnte. Also:
G würde ich dauerhaft auf 0V legen und CLR auf 5V.
SRCK, RCK und SER OUT müssen jeweils etwa 3m Kabel durchlaufen.
Könnte es funktionieren, wenn ich SRCK und RCK jedesmal mit z.B. einem
74HC125 puffere? Oder lieber einen "langsameren" wie den CD4050?
Als Kabel würde ich geschirmtes Netzwerkkabel (billig) nehmen und die
drei Signale jeweils mit Masse verdrillt durchschicken, das vierte Paar
würde ich für 5V nehmen.
Welchen Widerstand müsste ich etwa zur Serienterminierung hinter die
Buffer-Outputs legen?
Die Zuleitung vom ATmega würde etwa 6-8 Meter vom Boden aus an die Decke
gehen, da brauche ich sicherlich nochmal nen anderen
Terminierungs-Widerstand, und evtl. Buffer?
Und zu guter Letzt: Sollte ich RCK und SRCK vor- und nach dem jeweiligen
Schieberegister puffern oder nur danach (parallel auf Schieberegister-
und Buffer-Input gehen)?
Hoffentlich waren dies nun nicht zu viele Fragen. Das Ding muß eben
funktionieren, da ich, wenn es erstmal hängt, nix mehr nachkorrigieren
kann und auch zuhause keinen 40m-Prototypan bauen kann!
Hier die Datenblätter:
http://pdf.datasheetcatalog.com/datasheet/texasinstruments/tpic6c595.pdfhttp://www.nxp.com/documents/data_sheet/74HC_HCT125.pdfhttp://www.ti.com/lit/ds/symlink/cd4050b.pdf
Tausend Dank!
@ arno_nym (Gast)
>als bidirektionales Lauflicht aufbauen, und zwar abmontierbar>(Lüsterklemmen-Steckverbinder),
Nimm lieber gescheite Steckverbinder, ala D-Sub, RJ45 etc.
>G würde ich dauerhaft auf 0V legen und CLR auf 5V.>SRCK, RCK und SER OUT müssen jeweils etwa 3m Kabel durchlaufen.
Kann man machen.
>Könnte es funktionieren, wenn ich SRCK und RCK jedesmal mit z.B. einem>74HC125 puffere?
Ja.
>Oder lieber einen "langsameren" wie den CD4050?
Geht auch.
>Als Kabel würde ich geschirmtes Netzwerkkabel (billig) nehmen und die>drei Signale jeweils mit Masse verdrillt durchschicken, das vierte Paar>würde ich für 5V nehmen.
Das reicht aber nur für die Schieberegister, nicht für die LEDs!
>Welchen Widerstand müsste ich etwa zur Serienterminierung hinter die>Buffer-Outputs legen?
Bei HC ca. 22-33 Ohm, bei 4050 wahrscheinlich gar keiner, die sind
langsam und hochohmig genug.
>Die Zuleitung vom ATmega würde etwa 6-8 Meter vom Boden aus an die Decke>gehen, da brauche ich sicherlich nochmal nen anderen>Terminierungs-Widerstand, und evtl. Buffer?
Ja.
>Und zu guter Letzt: Sollte ich RCK und SRCK vor- und nach dem jeweiligen>Schieberegister puffern oder nur danach (parallel auf Schieberegister->und Buffer-Input gehen)?
Nur danach.
>Hoffentlich waren dies nun nicht zu viele Fragen. Das Ding muß eben>funktionieren, da ich, wenn es erstmal hängt, nix mehr nachkorrigieren>kann und auch zuhause keinen 40m-Prototypan bauen kann!
Warum nicht? Einfach lose aufbauen geht da schon. Testen MUSST du
vorher.
>Hab nochmal geschaut - bei 280mA pro LED reichen die 100mA des TPIC>6C595 ja nicht - also doch 74HC595 und ein ULN2803.
Der reicht auch nicht, der kann nicht 8x235mA GLEICHZEITG. Nimm MOSFETs
ala IRF7103.
Cool, tausend Dank für die detaillierten Antworten!
Ich werds doch mit ULN machen, da ich in Berlin wohne und es den
TPIC6A595 nicht bei Segor gibt :-P
Wird auch gehen, da es ein Lauflicht wird, bei dem immer nur eine LED
gleichzeitig an sein wird. Die Leitungen zu den LEDs werden ohnehin
nochmal extern geführt, das Netzwerkkabel wird nur die IC-Steuersignale
führen.
Ich werd trotzdem zur Sicherheit (auch falls Programmierfehler
auftreten) eine Abschaltfunktion bei Überlast einbauen.
Wenn ich nun den 4050 nehme, kann es aber auch nicht schaden, wenn ich
zur Sicherheit, sagen wir 10 Ohm dahinterschalte, oder?
Sind die alten 5-poligen DIN-Stecker gescheit genug? Sind ja zumindest
geschirmt.
Danke, danke, danke...
@ arno_nym (Gast)
>Wenn ich nun den 4050 nehme, kann es aber auch nicht schaden, wenn ich>zur Sicherheit, sagen wir 10 Ohm dahinterschalte, oder?
Kann man machen.
Also gut,
es hat soweit fast alles geklappt. Mit 10 Ohm hinter den
4050-Ausgängen.
Die Daten des ATmega durchlaufen vor der 8m-Kabel-Odyssee nochmal einen
4050 + 33 Ohm, keine Probleme hier.
Das einzige Problem ist noch, daß das jeweils nächste Schieberegister
leider den Seriellen Output einen Takt zu früh übernimmt - sprich, wenn
ich eine 1 durchtakte, übernimmt Q0 des nächsten Registers den Inhalt
von Q7 bereits beim 7. Takt.
Gut, dachte ich - SHCP ist gepuffert, Serial Out aber nicht, also steht
beim DS schon HIGH-Pegel, wenn das (verzögerte) Clock-Signal ankommt.
Bestätigt wird dies dadurch, daß es funktioniert, wenn ich den
SHCP-Buffer des 4050 mit einem Drahtstückchen ersetze.
Blöderweise tritt das Problem immer noch auf, wenn ich Serial Out auch
durch den 4050 schicke - selbst, wenn ich es durch ZWEI Puffer
durchschicke, wodurch es ja noch später als das Clock-Signal ankommen
müsste!
Habe ich gerade nen Denkfehler oder was könnte noch als Fehlerursache in
Frage kommen?
Nun gut, ich hab jetzt eine Notlösung gefunden, die stabil zu arbeiten
scheint.
Die Flanken sahen auf dem Oszi sehr sauber aus, noise wars also nicht.
Ich hab jetzt hinter den Terminierungswiderstand am Serial Out einem
2n2-Kondi gegen Masse geschaltet, um den Flankenanstieg etwas zu
verzögern, und jetzt läuft alles, wie es soll.
Danke für die Hilfe nochmal!
Beim 4HC595 heisst der Ausgang zum Verketten Q7' (nicht Q7 !). Warum Du
da irgendwelche Verzöherungen einbaust, ist mir unklar. Das sollte nicht
nötig sein.
Oder Q7S, bei NXP, genau den hab ich auch benutzt.
Ist mir auch unklar, ehrlich gesagt. Auf dem Oszi kann ich mit bloßem
Auge keinen Unterschied zwischen 595 direkt verkettet und mit 4050
dazwischen erkennen, der IC scheinbar schon.
Wie gesagt, mit 4050-Gatter zwischen SHCP und Q7S, das Timing müsste
somit ja gleich bleiben...
Ich hätte zwar gerne verstanden, warum, aber es funktioniert wenigstens.