USB zu RS485: Kann ich A mit Common Ground verbinden?

Ich habe einen sehr billigen USB-zu-RS485-Dongle gekauft , um ihn an ein eigenes Experimentierboard anzuschließen.

Spezifikationen (kann von der von mir verwendeten abweichen, aber äußerlich ähnlich sein): - Beliebige Baudrate von 1200 bps bis 115 kbps - Strom: 100 mA Strom bei 5 V DC vom USB-Anschluss des PCs - Modi: RS-485 Halbduplex (2-Draht) - Eingebauter Abschlusswiderstand von 120 R Ohm - Das USB-RS485-Kabel ist ein serielles UART-Konverterkabel von USB zu RS485-Pegeln, das das FT232RQ USB-zu-seriell-UART-Schnittstellen-IC-Gerät von FTDI enthält, das alle USB-Signale und -Protokolle verarbeitet. Das Kabel bietet eine schnelle und einfache Möglichkeit, Geräte mit einer RS485-Schnittstelle an USB anzuschließen.

  • Jede Baudrate von 1200 bps bis 115 kbps
  • Strom: 100 mA Strom bei 5 V DC vom USB-Anschluss des PCs
  • Modi: RS-485 Halbduplex (2-Draht)
  • Eingebauter Abschlusswiderstand von 120R Ohm
  • Die Länge des Twisted-Pair-Kabels darf maximal 1,2 km (Kilometer) betragen
  • Kabeltyp für optimale Reichweite: Zweiadriger, verdrillter, geschirmter Typ, D+ und D- (eigentlich A und B) sollten miteinander verdrillt werden, um eine optimale Reichweite zu erzielen

Dieser Dongle hatte nur A- und B-Ausgänge. Kein GND-Pin. Mein Experimentierboard hat seinen Dateneingang mit dem Eingang eines Schmitt-Triggers verbunden. Um die Daten mit dem Schmitt-Trigger auszulesen, habe ich den Ausgang B des Dongles mit dem Schmitt-Trigger-Eingang (B-Leitung) und den Ausgang A mit Masse meines Boards verbunden. Zwischen dem USB-zu-RS485-B-Ausgang und dem Schmitt-Trigger BUF1 befindet sich ein 470-Ohm-Widerstand R1, eine Schottky-Diode D1 von Masse zur B-Limette, ein 5-V-Zener z1 zwischen Masse zur B-Leitung und ein zweiter Widerstand von 140 Ohm R2.Geben Sie hier die Bildbeschreibung ein

Bit "0" lag bei 3,2 V und Bit "1" bei 0 V. Ich habe die Schottky-Diode von Masse hinzugefügt, um einen sehr kurzen negativen Spannungsabfall an jeder fallenden Flanke zwischen einer "0" und einer "1" zu löschen. Die 5-V-Zenerdiode ist nur ein elementarer Schutz (nur für den Fall). Die Widerstände helfen, das Rauschen zu reduzieren, wenn auch nicht vollständig, und erhöhen den Schutz. Es gibt viel Rauschen auf der B-Leitung, aber es hat perfekt funktioniert. ... Bis nach ein paar Tests der Dongle anfing zu heizen und nicht mehr reagierte. Die Kunststoffabdeckung sogar thermoverformt. Ich habe sehr kurze Daten mit der Standardbaudrate von 19200 übertragen. Sie wurde nicht intensiv genutzt.

Jetzt verwende ich einen weniger billigen, aber immer noch recht billigen Dongle , der über A und B einen GND- und einen + 5V-Pin hat. Es funktioniert auch sehr gut. Aber ich fürchte, es wird genauso zerstört, wenn ich einen Fehler gemacht habe.

Ich habe nicht versucht, die USB-Masse mit der gemeinsamen Masse zu verbinden, da die Spannungsdifferenz nicht zum Erfassen von Daten mit dem Schmitt-Trigger passen würde. An Ausgang B liegt Bit „0“ auf 5 V relativ zur USB-Masse und Bit „1“ auf 2,5 V relativ zur USB-Masse. Am Ausgang A liegt Bit „0“ auf 0 V und Bit „1“ auf 2,5 V.

Meine Frage ist: Ist der sehr billige Dongle geschmolzen, weil er sehr billig war oder weil ich einen Fehler in der Schaltung gemacht habe?

Datenblatt für den geschmolzenen Dongle. Ich meine ein Datenblatt, kein Ebay- oder Amazon-Link.
Zwei Probleme: 1. Der Dongle liefert kein GND, außerdem ist er nicht isoliert. Zweitens: Sie benötigen einen RS485-Transceiver, keinen Schmidt-Trigger.
@Andy alias Niemand scheint ein Datenblatt im PDF-Format zu haben. Ich konnte nur diese zusätzlichen Informationen finden (siehe bearbeitete Frage)
Meiner Meinung nach ist die beste Investition in den USB-RS485-Dongle derjenige, der auf derselben Website als FT232 + ADM2587 beworben wird. Es ist nicht annähernd so billig wie die von Ihnen vorgeschlagenen Geräte, aber ich denke, es funktioniert und kann den PC oder die MCU-Karte nicht brennen.
Marko Buršič Vielleicht sollte ich USB zu TTL verwenden (viel Auswahl), aber theoretisch würde ich RS485 für große Entfernungen brauchen. Ich habe darüber nachgedacht, einen RS485-Transceiver auf meinem Board zu verwenden, und ich würde dies schließlich tun, wenn dies in einigen Netzwerken erforderlich ist. Aber für eine billige Version macht der Verzicht auf einen RS485-Transceiver einen großen Kostenunterschied. Ich funktioniert perfekt (mit beiden Dongles), nur seltsam, warum der erste Dongle durchgebrannt ist. Ich kann nicht sehen, was mit meiner Schaltung falsch ist.
Der RS485-Ausgang ist differentiell. Sowohl A- als auch B-Ausgänge schalten um, sie sollten grundsätzlich beide komplementäre 3-V- oder 5-V-Ausgänge in Bezug auf die Masse des PC-Gehäuses sein, und um zu verhindern, dass der Gleichtaktbereich von RS485-Chips verlassen wird, muss Ihr anderes Gerät dieselbe Erdungsreferenz wie die PC-Masse haben . Die Verwendung erdfreier Netzteile oder einer ungeerdeten Steckdose für den PC ist falsch, wenn kein separates Massebezugskabel vorhanden ist. Es ist auch nicht ratsam, das A-Kabel direkt zu erden.

Antworten (1)

Es war ein Fehler. Durch Verbinden des Dongle-GND mit dem gemeinsamen GND auf meinem Board anstelle von Ausgang B verschwand nicht nur das starke Rauschen vollständig (was bedeutet, dass zwischen A und B eine widersprüchliche Spannung bestand), sondern eine LED-Anzeige auf dem Dongle hörte auf zu leuchten. Da sie diese Dinge ohne ernsthafte Anweisung verkaufen, wusste ich nicht, dass diese LED bedeutet, dass etwas mit dem Netzwerk nicht stimmt. Ich dachte, es sei normal.

Ich bin sehr überrascht, dass mein Experiment funktioniert hat, weil ich dachte, der Unterschied zwischen 2,3 V und 4 V würde vom Schmitt-Trigger nicht richtig interpretiert werden, aber es war so. Die gute Überraschung war ein kurzer Abfall auf fast 0 V für etwa 2 us. Dieser Abfall ermöglicht es dem Schmitt-Trigger, auf Low zu gehen, und er kehrt erst dann auf High zurück, nachdem sein Eingang den High-Pegel-Schwellenwert überschritten hat.

Der High-Pegel-Schwellenwert des Schmitt-Triggers (typ. 2,4 V bei 4,5 V Vcc) liegt jedoch sehr nahe an der Low-State-Spannung von Ausgang A (2,3 V) und könnte sogar darunter liegen, wenn er niedriger als typisch ist oder Vcc weniger als 5 V beträgt. Es ist also nicht sehr zuverlässig IMO. neuer SchaltplanDies ist das Signal mit der korrigierten Schaltung: Die gelbe Linie ist ein Ausgang des Dongles. Die rosa Linie ist das Signal nach dem Schmitt-Trigger.ergreifen

Der Grund, warum es einen Unterschied machte, liegt höchstwahrscheinlich darin, dass die Erdung nicht getrennt wurde. Der Dongle versuchte, Strom auf Leitung B zu lassen, um zu versuchen, ihn auf eine bestimmte Spannung zu erhöhen, aber egal wie viel Strom er ausließ, der Strom floss einfach auf einem Weg zurück zur Erde und die Spannung blieb bei 0.