Übertragung eines 5-V-Signals über ein langes Kabel

Ich suche hier Hilfe, da ich eine zuverlässige Antwort darauf brauche. Ich muss ein Eingangssignal (Niederfrequenz 5v digital pulse) von einem (Näherungs-)Sensor, der sich in einem Abstand von der Steuerplatine befindet, an einen Mikrocontroller senden.

Ich werde die wichtigsten Punkte auflisten.

  • Maximale Tx-Entfernung: 50 m
  • Max. digitale Impulsfrequenz: 10 Hz
  • Spannungsbereich des Sensors: 5 bis 30 V (er gibt die gleiche Spannung aus wie geliefert)
  • Max. Eingang zum Mikrocontroller: 5 V

Für eine einfache, ähnliche Anwendung habe ich das zuvor getan; Der Sensor wird mit 12 V versorgt. Am anderen Ende wird der Impuls (der jetzt 0-12 V beträgt) über einen 7805-Regler dem Mikrocontroller zugeführt. Das hat gut funktioniert, aber jemand hat mir gesagt, dass die Methode nicht schön und nicht für zuverlässige Anwendungen geeignet ist. Ich finde das auch hässlich, aber ich erwarte nicht, viel mit Hardware herumzuspielen, separate Schaltkreise usw. zu bauen ... Kann jemand eine bessere Lösung vorschlagen (oder meiner zustimmen: D).

Ich bevorzuge viel , wenn ich überhaupt keine Schaltungen bauen muss. Wenn nicht möglich, zumindest sehr einfach! (Einfach im Sinne von Hardwarekomplexität. Eine Schaltung, die keine Leiterplatte benötigt, nur hier und da zwei Drähte. Deshalb liebe ich die 7805-Lösung). Höchste Priorität hat aber (leider) die Zuverlässigkeit.

Ich verstehe nicht, warum Sie nicht bei Ihrer 7805-Lösung bleiben konnten. Ich vermute, dass diejenigen, die Sie wegen seiner Verwendung in dieser Anwendung tadeln, dies tun, weil es ihnen schwer fällt, die etwas unkonventionelle Verwendung eines Spannungsreglers zu akzeptieren. Ich sehe auch kein Problem mit der Zuverlässigkeit, würde aber die Hinzufügung eines einzelnen kleinen 0,1-uF-Kondensators zwischen dem Ausgang und GND des Teils empfehlen, um die Stabilität zu gewährleisten. Bei einer Ansprechrate von 10 Hz glaube ich nicht, dass der zusätzliche Kondensator Probleme beim Ansprechen auf den Sensorimpuls verursachen wird, es sei denn, der Impuls ist im Vergleich zur Impulsrate von 100 ms sehr, sehr schmal.
@MichaelKaras toll!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Antworten (2)

Ein empfohlener Ansatz wäre die Verwendung eines Optokopplers gefolgt von einem Komparator (z. B. LM339 ) oder besser einem integrierten Teil wie dem Fairchild Semi FODM8071 Logikgatter-Ausgangs - Optokoppler .

Der Grund, warum der Optokoppler empfohlen wird :

Es besteht wahrscheinlich eine Massepotentialdifferenz über ein 50-Meter-Kabel sowie die Möglichkeit, dass EMI über das lange Kabel aufgenommen wird. Der Optokoppler eliminiert alle Bedenken hinsichtlich Masseschleifen/Potenzialabweichungen sowie jegliche Notwendigkeit, die Versorgungsspannung des Sensors genau an die des Mikrocontrollers anzupassen.

Die Verwendung des Opto ermöglicht die Verwendung einer höheren Spannung für die Sensorschaltung, wodurch die EMI-Rauschempfindlichkeit verringert wird.

Ein zusätzlicher Vorteil des oben vorgeschlagenen spezifischen Fairchild-Teils ist seine hohe Störfestigkeit. Dies führt zu einer stabileren Signalerfassung, was angesichts der beteiligten Entfernungen wichtig ist.

FODM8071 ist ein 5-poliges bedrahtetes SMT-Bauteil, daher ist seine Verwendung im Wesentlichen so, als müssten Sie keine zusätzliche Schaltung bauen – Sie könnten das Bauteil und seine wenigen unterstützenden diskreten Komponenten im Deadbug-Stil verdrahten , wenn Sie möchten, oder sie auf einem Prototyp zusammensetzen -Leiterplatte.

Dies ist wahrscheinlich die beste Lösung, aber wenn das Kabel einen Erdungsleiter hat, denke ich nicht, dass die potenzielle Diskrepanz signifikant wäre. Ich würde einen Widerstandsteiler ausprobieren, das ist die einfachste Lösung, oder die Zenerlösung unten, die noch genauer ist.
Opto am Mikroende ist definitiv die elegantere Idee, ich wäre paranoid (Erfahrung mit Telekommunikation / Blitz / EMV) und füge ein paar Schutzdioden / Tranzorbs hinzu, um das Opto vor Streu- / Rück- / Überspannungen zu schützen. Im Allgemeinen ist es vorzuziehen, ein größeres Signal über die Leitung zu senden (12 V zu senden und am Mikroende damit umzugehen), anstatt mit einem kleinen Signal zu beginnen und sich darum zu bemühen, es zuverlässig zu empfangen. Es kann Ihrer Ursache (Störimmunität) auch helfen, wenn Ihr Sensor einen gewissen Strom in die Leitung treiben kann, z. B. durch einen 100-Ohm-Abschlusswiderstand. Siehe RS485 / RS422-Standard für Beispiele.
Ich schlage vor, Sie schauen sich MIDI an, um echte Beispiele für diese Technik zu finden. Es gibt viele Tutorials für die Verbindung mit MIDI in beide Richtungen.
@PhilFrost Jeder Link ist hilfreich
@CodenamedSC: Suchen Sie nach "Midi-Mikrocontroller" oder "Midi-Schema". Tausende Dinge da draußen. Eine weitere Richtung für weitere Forschung ist die Stromschleife , wobei MIDI ein einfaches Beispiel dafür ist.
Einige Google/Wikipedia-Suchbegriffe für Sie: MIDI, DMX, RS-232, RS-485, RS-422, 20-mA-Stromschleife, differenzielle Signalisierung.
Dies ist wahrscheinlich für die betreffende Anwendung übertrieben, obwohl es, wie erwähnt, Anwendungen gibt, bei denen die zusätzlichen Kosten und die Komplexität gerechtfertigt sind.

Die Übertragung von 10 Hz über 50 m ist kein schwieriges Problem, daher gibt es zahlreiche Möglichkeiten, dies zu tun. Für eine Lösung, die fast so einfach ist wie die, die Sie zuvor hatten, würde ich eine einfache Zenerschaltung vorschlagen.

Geben Sie hier die Bildbeschreibung ein

Wie zuvor würden Sie Ihren Sensor einfach mit einer Spannung über 5 V versorgen. Sagen Sie 6 - 12 V, und lassen Sie diese Begrenzungsschaltung die Spannung auf ein Niveau reduzieren, das mit Ihrer nachgeschalteten Schaltung kompatibel ist. Sie müssen den Wert von R1 abhängig vom maximalen (oder gewünschten) Ausgangsstrom Ihrer Sensorschaltung und der von Ihnen gewählten Sensorspannung anpassen. Die Kosten können sehr nahe an der 7805-Lösung liegen, je nachdem, welchen Zener Sie wählen.

Wie der in einer anderen Antwort vorgeschlagene Optokoppler bietet dies Schutz vor im Kabel induzierten Hochspannungstransienten, da die Zenerdioden diese Transienten gegen Masse ableiten können. Die Optokopplerschaltung kann Masseschleifen zwischen dem sendenden und dem empfangenden System unterbrechen, aber wenn Ihre 7805-Lösung funktioniert, sollte der Zener genauso gut funktionieren.

Bearbeiten

Wenn Sie bereit sind, etwas mehr Arbeit zu leisten, können Sie diese Schaltung verbessern, indem Sie sie etwas aufwändiger gestalten:

Geben Sie hier die Bildbeschreibung ein

Die hinzugefügte Schottky-Diode schützt Ihre nachgeschaltete Schaltung vor negativen Transienten. Der Zener hätte dies getan, hätte aber nur begrenzte Transienten auf etwa -0,7 V gehabt. Der Schottky begrenzt sie auf -0,3 oder -0,2 V, was für das nachgeschaltete Gerät viel sicherer ist, wenn es sich um ein typisches Logikgatter handelt.

Der hinzugefügte 4,7-uF-Kondensator hilft, das Rauschen zu reduzieren, wenn der Eingang niedrig ist.

Schließlich habe ich die Zenerspannung nach unten angepasst, um sicherzustellen, dass der Ausgang für ein 5-V-Logikgatter sicher ist, wobei sogar eine gewisse Drift der Zenerspannung berücksichtigt wird, und R1 erhöht, um den zum Ansteuern des Eingangs erforderlichen Strom zu reduzieren.

All diese Dinge müssen an die Details Ihres Sensors und nachgeschalteten Schaltkreises angepasst werden.

Bearbeiten

Ein wichtiger Punkt, über den ich über Nacht nachdenken musste, bevor ich ihn sah:

Angenommen, Ihr 50-m-Kabel enthält eine Signalleitung und eine Masseleitung (oder Rückleitung), schützt ein Optokoppler vor Gleichtakttransienten (d. h. wenn sowohl die Signal- als auch die Masseleitung zusammen die Spannung relativ zur Masse des Empfangskreises ändern). während die Zenerschaltung vor differentiellen Transienten schützt, wenn sich die Spannung der Signalleitung relativ zur Erdleitung ändert.

Wenn ein Blitzeinschlag in der Nähe dazu führt, dass die Masse- und Signalleitung zusammen für eine Millisekunde auf 100 V springen, benötigen Sie die Optokopplerschaltung, um Ihren Empfänger vor Schäden zu schützen.

Aber wenn ein Motor in der Nähe einschaltet und die Signalleitung auf 30 V über der Masseleitung springt, benötigen Sie die Zenerschaltung, um Ihren Optokoppler vor Überlastung zu schützen.

Welches dieser Szenarien wahrscheinlicher ist, hängt natürlich von der Art des Kabels und seiner Umgebung ab. Wenn Sie Allzweck-Steuerkabel verwenden, ist jedes Szenario realistisch. Wenn Sie ein Koaxialkabel verwenden, sind Gleichtakttransienten wahrscheinlicher, aber Sie sollten auch die Möglichkeit von ESD-Schäden aufgrund der Handhabung berücksichtigen, wenn das Kabel nicht am Empfänger angeschlossen ist, und auch die Auswirkung, wenn das Kabel anfänglich aufgeladen wird wenn es an den Empfänger angeschlossen ist.

Dann gibt es einen zusätzlichen Vorteil, wenn Sie von 7805 zu Ihrer Lösung wechseln. Ich meine, ist es in Ordnung, auch wenn ich am vorherigen 7805-Design festhalte?
7805 ist ein Netzteil , diese Anwendung ist darauf angewiesen, dass sich das 7805 in einer Situation, für die es nicht ausgelegt ist, "ideal" verhält. Auch ist dies wirklich kein guter Ansatz zur Lösung des Problems. Der 7805 benötigt zum Betrieb etwas Strom (kann Ihr Sensor genügend Strom liefern? Ändert das Laden die Sensorleistung?) und zieht es vor, eine Last zu sehen, in die er hineinfahren kann, und eine Glättungskappe, um Oszillationen / Welligkeiten zu verhindern. Der Vorschlag von Anindo ist für Ihre angegebene Anwendung durchaus sinnvoll, die Antwort von Photon ist in Ordnung, geht jedoch von einem sehr "sauberen" Signalpfad aus (kein Schutz).
@JohnU Glättung ist nicht unbedingt erforderlich, da die Spannungen bereits Gleichstrom sind und es sich um einen 5-V-Regler handelt, der einen Eingang im Bereich von 5 V bis 18 V regeln kann. Ich bin mir nicht sicher, was Sie über den Strom erwähnt haben, aber das Datenblatt sagt nichts über einen Mindestwert aus. Der Näherungsschalter ist jedoch in der Lage, eine beträchtliche Strommenge zu verarbeiten, denke ich, mindestens etwa 500 mA. Das wird also kein Problem sein, oder?
@CodenamedSC - Ich kann diese große Lücke in Ihrem elektrischen Wissen / Verständnis hier nicht wirklich erklären, ich habe nicht wirklich genug Zeit, aber bitte glauben Sie mir, dass der 7805 eine wirklich schlechte Methode ist - beide oben genannten Vorschläge sind viel besser.
@CodenamedSC, Diese Schaltung entspricht funktional der 7805-Idee. Der Hauptnachteil des 7805 ist, dass der 7805 keine Fähigkeit hat, die Transienten zu absorbieren, die durch Interferenzen auf dem Kabel erzeugt werden könnten. Entweder diese Schaltung oder die Optokopplerschaltung sollte in der Lage sein, kurze Transienten im Hunderterbereich von Volt zu verarbeiten, wofür der 7805 nicht ausgelegt ist.
Das ist die bessere Antwort. Es ist einfach, und der Widerstand am Empfangsende hilft, Reflexionen zu absorbieren, obwohl eine bessere Leistung erzielt werden könnte, wenn der Widerstand zum Sendeende verschoben würde.
@ChrisStratton Ich denke, wenn ich den Optokoppler verwenden würde, würde ich etwas in der Nähe dieser Schaltung vorne hinzufügen, um zu verhindern, dass Transienten den Optokoppler ausblasen.
@ChrisStratton "Einfach" bedeutet nicht besser, es bedeutet nur einfach. Versuchen Sie, die Kombination von Lösungen zu verstehen, die ThePhoton sagt, anstatt voreilige Schlüsse zu ziehen.
@ChrisStratton, ExcitingProjects, es geht nicht darum, was einfacher oder komplexer ist, sondern vor welcher Art von Transienten Sie schützen möchten, Gleichtakt oder Differential. Ich musste darüber schlafen, bevor ich es sah, aber siehe meine Bearbeitung für weitere Details.
In der Praxis sind optoisolierte Schnittstellen eher Situationen vorbehalten, in denen ein ungewöhnliches Risiko von Problemen zu erwarten ist - Industrieumgebungen mit großen Schaltströmen in der Nähe, Bühnenbilder mit viel Leistung und schlechter Verkabelung (Midi) usw. Für die meisten Anwendungen ist dies wirklich der Fall weder notwendig noch üblich.
@ChrisStratton, das sind gute Beispiele für Situationen, in denen Erdschleifen wahrscheinlich Probleme verursachen.
„Erdschleife“ ist ein Begriff, der 100 Mal von jemandem missbraucht wird, der keine Ahnung hat, wovon er spricht, denn jedes Mal, wenn er sinnvoll und legitim verwendet wird.
@ChrisStratton, das stimmt. Das bedeutet nicht, dass es sich nicht um eine reale Situation handelt.