Empfehlung eines USB-zu-RS-232-Chips für eine industrielle Umgebung

Ich habe ein Gerät gekauft, das einen ATmega-Mikrocontroller und einen FTDI -Chip hat, der über USB an einen Computer angeschlossen wird. Der FTDI wird nur als RS-232-zu-USB-Adapter verwendet.

Mein Problem ist, dass dieses Gerät den PC auflegt, wenn einige der Maschinen laufen. Ich habe die Kabel gegen dicke, stark abgeschirmte ausgetauscht. Auch das Kabel befindet sich in einem Stahlrohr. Und das Gerät selbst steckt in einem 2 mm Edelstahlgehäuse. Das angeschlossene Gehäuse liegt an Masse.

Erstaunlicherweise tritt das Problem nicht auf, wenn man mit diesem Gerät arbeitet, sondern mit einer reinen RS-232-Version. (Die RS-232-Version funktioniert sogar mit billigem Kabel. keine Probleme.)

Meine Fragen sind:

  1. Hängt das Problem mit einem schlechten Design des Geräts zusammen oder ist der FTDI-Chip defekt? Ich bin mir jetzt sicher, dass es an einem schlechten Design des Konverters lag.
  2. Was wäre die beste Wahl für einen Chip zur Umwandlung von RS-232 in USB in einer industriellen Umgebung?
  3. Wie viel Arbeit ist es, einen Mikrocontroller mit eingebautem USB-Anschluss zu verwenden, beispielsweise einen Atmel-Mikrocontroller? Wird es billiger und schneller?

Einzige Voraussetzung ist, dass für den Konverter Treiber sowohl für Windows als auch für Linux vorhanden sein müssen.

Hast du einen Umfang? Wenn Sie die TX- und RX-Leitungen erfassen, sehen Sie möglicherweise das Problem. Womit ist die Masse der Platine (Arduino?) Verbunden oder wird sie vom USB gespeist?
Oh und wie lang ist das USB-Kabel und warum nicht einfach RS232 verwenden? Hat das Board einen UART-zu-RS232-Konverterchip?
Die Maschine ist jetzt außerhalb meiner Reichweite. Das Board war eine benutzerdefinierte Platine. Die Stromversorgung ist an die 12-V-Stromversorgung des PCs mit gemeinsamer Masse angeschlossen. Kabel ca. 5m lang. Jetzt funktioniert es hervorragend mit der RS232-Version des Geräts. Ja, es gibt einen Chip, um RS232 in TTL umzuwandeln. Ich frage nach einem USB-Konverter, weil ich ein ähnliches Gerät bauen muss, aber mit USB. Ich habe in der Vergangenheit ein Gerät mit FTDI gebaut, aber jetzt befürchte ich, dass FTDI bei Bedingungen mit hohem Magnetfeld nicht so gut ist.

Antworten (4)

Bei meiner letzten Firma haben wir festgestellt, dass USB-zu-RS-232-Konverter ein Problem haben können, wenn sie eine fast sofortige Antwort vom RS-232-Gerät erwarten. Ich wurde vom Konstrukteur unserer Geräte darauf hingewiesen, dass USB Datenpakete verwendet. Wenn Sie also USB verwenden, kann der USB-Treiber mehr als eine Sekunde (5000 ms) warten, bis das Paket gefüllt ist, bevor die Software/Treiber das Senden eines USB-Datenpakets erzwingen, bevor das unvollständige Datenpaket gesendet wird.

Dies bedeutete, dass viele ältere DOS/Windows-Programme, in denen sie die RS-232-Statuszeilen überwachten, eine Zeitüberschreitung aufwiesen. Die älteren Programme verwendeten häufig Zeitschleifen, die auf einer bestimmten Anzahl von Schleifen basierten ... Je schneller die PCs wurden, desto schneller wurde die Abfrage. Als die Dauer der Abfragen immer kürzer wurde, kam USB hinzu.

Das Polling wurde quasi zu einem Speicherplatz... (Die Treiber sind meist auf maximalen Datenpaketdurchsatz optimiert und haben die Statusinformationen nicht weitergegeben, weil sie darauf warteten, ein Paket zu füllen). Die Treiber können manchmal angepasst werden, um dabei zu helfen. FTDI-Treiber können viele Werte in ihrer Konfigurationsdatei anpassen. (Ideal für nicht standardmäßige Datenraten.)

Das bedeutete, dass wir oft Programme auf Desktops mit RS-232-Anschlüssen ausführen oder die Laptop-Basisstation zu den Geräten ziehen mussten, damit sie funktionierten.

Zusätzliche Information

Siehe Seite 6 der Anwendungsnotiz Erweiterte Treiberoptionen für USB-Timeout-Anpassungen...

Und für ungerade Baudraten bis zu 3 Mbit/s siehe Konfigurieren von FT232R-, FT2232- und FT232B-Baudraten .

Die FTDI-Treiberdokumente waren gut, als ich das letzte Mal nachgesehen habe, und erlaubten einige einfache Korrekturen.
Welchen Chip/welche Chips würden Sie also wählen, wenn Sie ein Serial-to-USB-Gerät entwickeln würden?
Ich würde dieses Design klonen. Da ich es nicht benutzt habe, könnte ich nicht schwören, dass es das ist, was Sie brauchen, aber Sie können es zumindest versuchen. ftdichip.com/Support/Documents/DataSheets/Cables/DS_Chipi-X.pdf
Siehe Seite 6 von ftdichip.com/Support/Documents/AppNotes/… für Treiberoptionen, die mit Latenzproblemen zu tun haben.
Das Ändern des USB-Timeouts hat unsere Probleme behoben. Siehe den Zusatz zur Antwort.
Die Reaktionszeit der Hardware ist für mich sehr wichtig. Ich bin wirklich dankbar für Ihren Rat.
@Anindo Antwort in Bezug auf Isolation ist immer noch sehr wichtig. USB-Oszilloskope zeigen das Schlimmste, wo das Oszilloskop und der PC getötet werden, weil die Isolierung fehlte ...

Eine mögliche Ursache für die beschriebene Problemmeldung ist ein Pegelunterschied zwischen der PC- und der Industriegeräteseite. Dies ergibt sich aus ähnlichen persönlichen Erfahrungen mit dem Entwerfen für industrielle Anwendungen.

Entweder das oder einige signifikante Transienten, die die Verbindungen durchqueren - RS232 ist in gewisser Weise nachsichtiger als USB.

Eine zu prüfende Sache ist, ob die beiden Erdungen verbunden sind, und selbst wenn dies der Fall ist, ob es einen signifikanten Potentialunterschied gibt, damit ein messbarer Dauerstrom, Gleichstrom oder Transient, entlang der Erdungsverbindung / Kabelabschirmung fließt.

Eine Lösung wäre eine galvanisch oder optisch isolierte Implementierung: Die Steuerleitungen der industriellen Sensoren/Aktoren müssen von der PC-Seite durch (a) Transformatorkopplung oder (b) Optokoppler getrennt werden, je nach den spezifischen Designanforderungen. Die Mikrocontroller-Vorrichtung könnte auf beiden Seiten der Isolationsbarriere platziert werden.

In der Praxis ist der einfachste Weg, dies zu implementieren, sobald die Notwendigkeit einer Isolierung festgestellt wurde, die Verwendung eines eigenständigen USB-Isolationsgeräts wie dieses von Olimex an der USB-Verbindung vom PC zur Platine:

USB-Isolator.

Ein weiteres solches Gerät ist der USB Port Guardian , etwas besser verpackt, aber im Wesentlichen ähnlich in der Funktionalität.

Keines dieser Geräte scheint jedoch in extrem rauen Umgebungen gut zu überleben – wir haben einige Geräteausfälle in bereitgestellten Setups erlebt, aber Ihre Umgebung ist möglicherweise nicht so herausfordernd.

Auf Designebene bietet Analog Devices in seiner iCoupler-Reihe Einzelpaket-USB-Isolationsteile an . Die Integration eines solchen Teils in das Design ist nicht sehr kompliziert, und das Design-Support-Team von Analog Devices ist sehr proaktiv, wenn Sie Hilfe benötigen.

Spezifisch zu den 3 Punkten in der Frage:

  1. Das Problem ist höchstwahrscheinlich designspezifisch, wie oben erwähnt, und kein Problem mit dem FTDI-Teil.
  2. Dies würde die Angabe der tatsächlichen industriellen Umgebungsfaktoren, dh Temperatur usw. , erfordern . Maxim und andere Hersteller haben Teile, die für industrielle Temperaturbereiche spezifiziert sind, aber wenn sich Ihr PC darin befindet, und vermutlich auch seine Bediener, ist die Umgebung wahrscheinlich nicht so rau.
  3. Die Jury ist sich nicht einig: Es gibt Befürworter sowohl der FTDI- als auch der integrierten USB-MCU-Denkrichtung. Der tatsächliche Kostenvorteil, einschließlich der Konstruktionskosten, würde situativ variieren.
Vielen Dank für Ihre tolle Antwort! Der einzige Faktor sind große Induktionsmotoren, die Magnetfelder erzeugen. Ich habe vergessen zu erwähnen, dass ein anderes Gerät über RS485 mit demselben PC verbunden ist, daher ist es wahrscheinlich kein Problem mit den Signalpegeln.
@martini RS485 ist im industriellen Bereich im Vergleich zu USB sehr nachsichtig: Es wurde für rauere elektrische Umgebungen entwickelt.
Ich stimme zu. RS485 ist der Gewinner. Aber ist Ihrer Meinung nach USB besser als RS232? Ich denke, es ist! Weil USB genau wie RS485 differenzielle Signale verwendet. Nur mit niedrigerer Spannung.
@martini Ja, ich würde (isolierten) USB bevorzugen, wenn ich RS485 nicht haben könnte, schon allein deshalb, weil es immer schwieriger wird, RS232-Hardware in Computern zu finden. Industrielle Signalisierung ist jedoch nicht das, wofür USB da ist, in diesem Bereich herrschen die traditionellen 4-20 mA, RS485 und vielleicht Funk.
Auch mit dem Keterex USB-150 Isolator habe ich gute Erfolge erzielt.
Sie wären der Gewinner, aber die Antwort von @Spoon ist im Moment wertvoller für mich. Ich schätze Ihre Zeit und Mühe bei der Beantwortung meiner Fragen. Ihre Beratung zur Signalisolierung ist aus mehreren Gründen sehr gut. Also nochmal vielen Dank für deine Hilfe :)
Das Isolationsproblem ist sehr real und ich verfolge es zusätzlich zum reinen USB-RS232-Timing-Problem.

Die Antwort von Anindo ist genau richtig - ich vermute stark, dass Sie zu viel Erdung haben und die PC-USB-Erdung von der Maschinerie herumgeschleift wird.

Unserer Erfahrung nach sind FTDI-Chips die besten, daher würde ich sie nur ungern als Fehlerursache verantwortlich machen.

Die Datenleitungen von USB können differentiell sein , aber sie sind nicht isoliert, und die Strom- und GND-Leitungen könnten überall im Zielgerät verlaufen - nicht gut, wenn das Zielgerät Masseverbindungen hat, die nicht mit dem PC üblich sind.

Viele USB-Controller-Chips in PCs werden heruntergefahren, wenn sie Überstrombedingungen usw. erkennen. Es ist also durchaus möglich, dass die Maschine die Strom-/Erdungsleitungen herumzieht und dem PC einen Herzinfarkt verursacht.

Ich würde den 232 zum PC laufen lassen und dann den Konverter am PC-Ende haben oder sogar auf RS485/422 konvertieren (viele Maxim-Chips dafür) und zurück am PC-Ende. Es gibt FTDI USB/232/485-Boards bei eBay für 10 $, wir verwenden viele davon.

Unsere Maschinen haben Gemeinsamkeiten und verbrauchen nicht viel Strom. Es sind die anderen Maschinen (die nicht mit unserer verbunden sind), die die Luft mit magnetischen Wellen verschmutzen. Das Problem war ein schlechtes Design des Konverters. Meine Frage ist nun, welchen der Chips bevorzugen Sie persönlich?
Tatsächlich ist das Isolieren der seriellen Datenleitungen wahrscheinlich eine robustere (und technisch einfachere) Lösung als das Isolieren des USB-Busses.

Ich bin mir nicht sicher, ob dies Ihr Problem ist, aber auf meinem vorherigen PC konnte die Verwendung eines USB-Seriell-Konverters in Kombination mit bestimmten anderen Anwendungen (insbesondere Audio und Video) dazu führen, dass mein PC hängen blieb und häufig neu gestartet wurde. Dies ist nicht passiert, wenn ich dasselbe Gadget und dieselbe Anwendung mit der echten (Hardware-) seriellen Schnittstelle verwendet habe. Ich habe nie herausgefunden, was die Ursache war, ich habe nur gelernt, das Ansehen von Videos während der intensiven Nutzung des seriellen USB-Anschlusses zu vermeiden. AFAIR passierte dies sowohl mit FTDI als auch mit produktiven Konvertern. Es könnte ein SW-Problem (Windows-Version, USB-Stack) oder vielleicht Hardware (flockiges Motherboard) gewesen sein. Mit meinem neuen PC (andere Windows-Version) ist mir dieses Problem noch nie begegnet. (Was umso besser ist, da es keinen seriellen Hardwareanschluss hat.)

Vielen Dank für Ihre Antwort. In meinem Fall hing das Problem direkt mit dem Einschalten von Elektromotoren mit hoher Leistung zusammen. Aber ja, jetzt benutze ich direkt den seriellen Hardware-Port und es funktioniert ganz gut.