Wie lange zwischen Arduino Digital Pin und IC?


9

Mein aktuelles Projekt beinhaltet die Verwendung von 74HC595-Schieberegistern zur Steuerung einer LED-Anzeige. Die Anzeige kann jedoch bis zu 5 Meter von der Arduino-Platine entfernt sein. Es ist geplant, einige DB9 / RS232-Kabel zwischen einer Box mit dem Arduino und einem Gehäuse mit dem Display zu verwenden. Wäre die Länge zu lang, als dass das digitale Signal ohne Verschlechterung von den digitalen Ausgangspins zum Schieberegister gelangen könnte?


Was ist die Bitrate / Geschwindigkeit der Übertragung? Haben Sie es versucht und die Wellen auf einem Zielfernrohr betrachtet?
Endolith

Vielen Dank an alle für Ihre Antworten, insbesondere an Mark und justjeff. Ich habe kein richtiges Oszilloskop, um einige Messungen durchzuführen, also werde ich morgen einen Draht kaufen und sehen, was passiert.

Antworten:


7

Der 74HC595 ist eine CMOS-Technologie, daher sollte fast nichts Strom benötigt werden, um ihn anzutreiben, sodass ein IR-Abfall kein Problem darstellt.

Solange Sie die Frequenz der Signale unter 100 kHz halten, sollten Sie sich keine Gedanken über Übertragungsleitungseffekte machen müssen. Angenommen, Ihr vorgesehener Beobachter für die LEDs ist das menschliche Auge, sollten Sie sich ohnehin keine Gedanken über hohe Geschwindigkeiten machen müssen. Beispielsweise sind 8 Ziffern bei 7 Segmenten und ein Dezimalpunkt jeweils 64 LED-Elemente, und bei nur 9600 Bit / s können Sie die Anzeige in knapp 7 ms aktualisieren.

Das einzige, worüber ich mir Sorgen machen würde, ist, ob der digitale hohe Ausgangspegel des Arduino als hoher Eingang in Ihrem Schieberegister registriert wird. Solange das Schieberegister mit einer 5-V-Versorgung betrieben wird (und nicht mit etwas Seltsamem wie 6), sollte es Ihnen auch dort gut gehen. (und wenn dies ein Problem sein sollte, würde es sich über nur 10 cm Draht manifestieren, so dass dies leicht zu überprüfen ist)

Kurze Antwort: Sehr hohe Wahrscheinlichkeit, dass Sie problemlos von Arduino zu Kabel zu 74HC595 wechseln können.


5

Mein Gefühl ist, dass es dir bei dieser Länge gut gehen sollte. Am besten probieren Sie es aus und prüfen, ob es funktioniert.

Wenn es nicht funktioniert, können Sie einige Maßnahmen ergreifen, um zu helfen: - Verwenden Sie abgeschirmte Twisted-Pair-Kabel oder Twist-Kabel zusammen. - Setzen Sie am Ende eine kleine Kappe (etwa 0,01 uF) ein. Dies sollte helfen, einen Teil des Rauschens zu unterdrücken (die Verwendung eines zu großen Kondensators funktioniert nicht, daher ist größer in diesem Fall nicht besser). - Verwenden Sie Widerstände mit etwas niedrigerem Wert als normalerweise für Ihre Pulldowns. - Verwenden Sie ein niederohmiges Kabel.

Als Datenpunkt kann ein Arduino 9600 seriell über ungeschirmtes Kabel für 50 '(vielleicht mehr?) Ausführen.


5

Sie sollten es trotzdem einschränken, um sicherzustellen, dass es korrekt funktioniert. Hier ist jedoch der Denkprozess / die Mathematik, die Sie berücksichtigen müssen, um die Auswirkungen der Übertragungsleitung zu bestimmen.

  • Im Gegensatz zu dem, was einige hier gepostet haben, spielt die Frequenz des Signals bei der Bestimmung, wann Übertragungsleitungseffekte berücksichtigt werden müssen, keine Rolle. Es ist im Allgemeinen richtig, dass Hochfrequenzsignale schnellere Anstiegs- / Abfallzeiten aufweisen, Niederfrequenzsignale können jedoch auch sehr schnelle Anstiegs- und Abfallzeiten aufweisen, wenn sie von einem Transceiver mit hoher Anstiegsgeschwindigkeit mit niedriger Frequenz angesteuert werden. Da Sie immer die langsamsten Anstiegs- / Abfallzeiten verwenden, die möglich sind, um die Spezifikationen für die von Ihnen verwendeten Teile einzuhalten, können Sie die Anstiegs- und Abfallzeiten mit einem RC-Filter an der Quelle reduzieren. Im Allgemeinen müssen Sie Übertragungsleitungseffekte berücksichtigen, wenn die Länge des Kabels größer als Tr / (2 * Td) ist, wobei Tr = zur Signalanstiegszeit an der Quelle und Td = zur Ausbreitungsverzögerung pro Längeneinheit des Kabels Sie benutzen. Möglicherweise müssen Sie auch die Signalleitungen an kürzeren Kabeln ordnungsgemäß terminieren, wenn die Last hochkapazitiv ist. Dies ist im Voraus schwierig zu berechnen, da in einem solchen System viele Elemente mit kapazitiven Effekten vorhanden sind. Wenn Sie dieses Problem haben, werden Sie feststellen, dass das Signal klingelt (unter und über den Kanten).

  • Strom im Kabel, dies wird im Datenblatt des Empfangs-IC als Eingangsstrom definiert. In Kombination mit dem Widerstand des Kabels können Sie feststellen, ob der Spannungsabfall angesichts der Spezifikationen des Empfangs-IC akzeptabel ist. Dies ist nur ein durchschnittlicher aktueller Wert. Der tatsächliche Spitzenstrom kann von der Art der verwendeten Terminierung abhängen und muss bei der Entscheidung berücksichtigt werden, ob der Treiber-IC die Last aufnehmen kann oder ob Sie einen Leitungstreiber benötigen. Der Spitzenstrom sollte nur so lange dauern wie die Umlaufverzögerung der Schaltung.

Wenn Sie die Übertragungsleitungseffekte berücksichtigen müssen, müssen Sie auch die charakteristische Impedanz des Kabels und die Ausgangsimpedanz des Treiber-IC kennen.

Wenn Sie die Übertragungsleitungseffekte verarbeiten müssen, gibt es einige Optionen für den Terminierungsstil. Die einzigen zwei, die ich in Betracht ziehen würde, sind die Quellterminierung und die AC-vorgespannte Endterminierung.

Bei der Quellenbeendigung müssen Sie einen Widerstand so nahe wie möglich am Treiber-IC platzieren, dessen Wert der charakteristischen Impedanz des Kabels abzüglich der Ausgangsimpedanz des Treiber-IC entspricht. Möglicherweise müssen Sie diesen Wert ein wenig einstellen, um die Spezifikation zu treffen Die Impedanz der Kabelstecker wirkt sich auch auf das System aus und platziert die Treiber- und Empfangs-ICs wie immer so nahe wie möglich an den Steckern, um Reflexionen zu reduzieren. Dies ist wahrscheinlich die einfachste und in diesem Fall wahrscheinlich beste Methode. Der Spitzenstrom beträgt (Vhigh - Vlow) / (2 * Z0) mit Z0 = zur charakteristischen Impedanz des Kabels.

Bei einem mit Wechselstrom vorgespannten Endabschluss verbinden Sie einen Widerstand in Reihe mit einem Kondensator, dessen Kondensator mit Masse verbunden ist, so nahe wie möglich am Empfangs-IC an die Signalleitung. Der Wert des Widerstands sollte die charakteristische Impedanz des Kabels sein, der Wert des Kondensators wird durch die Frequenz des Signals bestimmt (R und C bilden ein Tiefpassfilter). Der Spitzenantriebsstrom ist der gleiche wie für die Quellenbeendigung. Der durchschnittliche Ansteuerstrom ist abhängig vom Tastverhältnis des Signals. Wenn er sehr nahe bei 50% liegt, entspricht er ungefähr dem Eingangsstrom des empfangenden IC. Wenn er über 50% liegt, ist der durchschnittliche Ansteuerstrom höher . Da R und C ein Tiefpassfilter bilden, filtert dieser Abschlussstil etwas Hochfrequenzrauschen heraus.

Paar andere Dinge zu beachten:

  • Die Verwendung von Twisted Pair für Single-Ended-Signale reduziert die Rauschaufnahme überhaupt nicht. Dies führt zu einer gleichmäßigeren charakteristischen Impedanz für die Übertragungsleitung. Dies kann dazu führen, dass der Ausgang besser aussieht, wenn Sie das Signal eigentlich ordnungsgemäß hätten beenden sollen, dies aber nicht getan haben. Es trägt nichts dazu bei, das externe EM-Rauschen auf der Leitung zu reduzieren.

  • Die Verwendung eines abgeschirmten Kabels an einem Single-Ended-System ist bestenfalls zweifelhaft. Es kann häufig vorkommen, dass Außengeräusche kapazitiv mit der Abschirmung gekoppelt werden, was zu einem Stromfluss auf der Abschirmung führt, der dann mit dem Signalkabel gekoppelt wird. Ich würde mir nicht die Mühe machen, ein abgeschirmtes Kabel zu verwenden, es sei denn, Sie verwenden eine Differenzialsignalisierung. Auch die Nützlichkeit einer Abschirmung bei hochfrequentem Rauschen hängt von der Induktivität gegen Masse ab. Pfade mit niedriger Induktivität erfordern normalerweise spezielle Steckverbinder.

Sie können auf jeder Leitung fast dieselbe Gedankenverarbeitung verwenden, sei es ein Kabel oder eine 2-Zoll-Leiterplattenspur.


Ich habe einige Kommentare, aber nur einen habe ich gerade Zeit zum Tippen. Wenn ich Frequenz des Signals sage, beziehe ich mich auf die Frequenzkomponenten meines Signals. Dies wird vollständig durch die Anstiegs- / Abfallzeit eines digitalen Signals bestimmt.
Kortuk

Ich gehe von einem digitalen Signal für meinen gesamten Beitrag aus und wenn ich die "Frequenz" eines digitalen Signals sage, beziehe ich mich auf die maximale Schaltfrequenz des Signals. Während es üblich ist, den Inhalt von analogen Signalen im Frequenzbereich zu diskutieren, ist es im Allgemeinen nicht so nützlich, digitale Signale in diesem Bereich zu diskutieren.
Markieren Sie

4

Sie benötigen wahrscheinlich Puffer, um diese Kabellänge anzusteuern - so etwas wie der Puffer- / Leitungstreiber 74HC244 sollte geeignet sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.