Forum: Mikrocontroller und Digitale Elektronik Schieberegister - max. Kabellänge??


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von arno_nym (Gast)


Lesenswert?

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.pdf
http://www.nxp.com/documents/data_sheet/74HC_HCT125.pdf
http://www.ti.com/lit/ds/symlink/cd4050b.pdf

Tausend Dank!

von arno_nym (Gast)


Lesenswert?

Hab nochmal geschaut - bei 280mA pro LED reichen die 100mA des TPIC 
6C595 ja nicht - also doch 74HC595 und ein ULN2803.

Also: MR auf 5V, OE auf 0V, SHCP und STCP gepuffert, sowie Q7S durch 3 
Meter Kabel.

Datenblatt: http://www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

von Falk B. (falk)


Lesenswert?

@ 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.

von Frank (Gast)


Lesenswert?

280mA * 96 = 26,88A über Netzwerkkabel?
Oder habe ich etwas falsch verstanden?

von Frank K. (fchk)


Lesenswert?

arno_nym schrieb:
> Hab nochmal geschaut - bei 280mA pro LED reichen die 100mA des TPIC
> 6C595 ja nicht - also doch 74HC595 und ein ULN2803.

Es gibt auch den TPIC6A595 mit 350mA pro Ausgang.
http://www.ti.com/lit/ds/slis005b/slis005b.pdf

fchk

von arno_nym (Gast)


Lesenswert?

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...

von Falk B. (falk)


Lesenswert?

@ 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.

von arno_nym (Gast)


Lesenswert?

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?

von arno_nym (Gast)


Lesenswert?

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!

von stefanus (Gast)


Lesenswert?

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.

von arno_nym (Gast)


Lesenswert?

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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.