Reverse Engineering von RS-485-Signalen – Floating-Problem

Ich versuche derzeit, RS-485-Signale zurückzuentwickeln, siehe Wellenformen unten.

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, sind Signal 1 (Gelb) und Signal 3 (Lila) ein differentielles Paar und scheinen zu schweben.

Hier ist eine Nahaufnahme der Wellenform von Signal 1:

Geben Sie hier die Bildbeschreibung ein

Ich versuche, ein MAX485-Arduino-Modul zu verwenden, das das folgende Schema hat:Geben Sie hier die Bildbeschreibung ein

Kann mir jemand sagen, ob dies mit diesem Modul möglich ist und wenn ja, was benötigt wird?

Wenn dies nicht möglich ist, gibt es einen anderen IC, mit dem ich dieses Floating-Signal erreichen könnte?

Ich habe die obige Schaltung mit einem MAX491EPD-IC nachgebaut und alle Vorspannungs-/Abschlusswiderstände entfernt. Das Problem ist immer noch da, siehe Ausgabe unten:Geben Sie hier die Bildbeschreibung ein

Ich fange an zu glauben, dass es ein Problem mit dem Arduino-Code ist. Code unten:

const int EnTxPin =  2;  // HIGH:Transmitter, LOW:Receiver

void setup () {Serial.begin (19200); Serial.setTimeout (100);
PinMode (EnTxPin, AUSGANG); digitalWrite (EnTxPin, HOCH); }

Leere Schleife () {
Serial.write (0x02); Serial.write (0x50); Serial.write (0x30); Serial.write (0x32); Serial.write (0x00); Serial.write (0x56); Serial.write (0x03); Serial.write (0x30); Serial.write (0x38); Verzögerung (57); Serial.write (0x02); Serial.write (0x50); Serial.write (0x30); Serial.write (0x32); Serial.write (0x00); Serial.write (0x57); Serial.write (0x03); Serial.write (0x30); Serial.write (0x39); Verzögerung (1); Verzögerung (10000); }

Übersehe ich hier etwas?

" scheinen zu schweben "??? warum sagst du das?
@Andyaka, denke ich, weil beide Signale bei ungefähr 2,5 V zu schweben scheinen, wenn sie nichts übertragen?
Nun, ich denke, der richtige Begriff ist "vorgespannt" - wenn Sie sich die vorgeschlagene Schaltung ansehen und davon ausgehen, dass ein Abschlusswiderstand vorhanden ist, werden R5 und R6 die A- und B-Leitungen in der Mitte der Schiene vorspannen. Dies muss jedoch das OP herausfinden und prüfen, ob die Vorspannungswiderstände der vorgeschlagenen Lösung für das System, das er auf Touren bringen möchte, einen angemessenen Wert haben.

Antworten (2)

Ja, das Modul kann verwendet werden. RS-485-Signale schweben, wenn kein Treiber aktiviert ist. Er kann so eingestellt werden, dass er die Kommunikation nur empfängt und passiv mithört. Wenn der Bus bereits terminiert ist, sollten Sie möglicherweise den 120-Ohm-Abschlusswiderstand und möglicherweise die Bias-Pullup- und Pulldown-Widerstände entfernen.

Danke für die Antwort! Ich verwende im Moment tatsächlich den MAX491EPD-IC, damit ich die Verkabelung ändern kann. Wenn Sie sagen "kein Treiber ist aktiviert", meinen Sie, DE oder Driver Output Enable getrennt zu lassen? Denn wenn ich das mache, dann werden keine Daten übertragen.
Wenn Sie senden und/oder empfangen möchten, steuern Sie jeweils DE und/oder RE.
Einer von DE und RE ist normalerweise ein invertierter Eingang, sodass Sie entweder beide hoch oder beide niedrig wollen, je nachdem, was das Modul dazu bringt, die geringste zwischen A und B gemessene Spannung zu erzeugen.
Problem wird immer noch angezeigt. Könnte ein Codeproblem sein, siehe oben für Details.
Was ist also das Problem? Sie aktivieren den Sender für immer, so dass er niemals für den Empfang deaktiviert wird oder der Bus zum Mittelpunkt-Bias zurückkehrt.
Ich muss die Übertragung aktivieren. Wenn ich es auf LOW ziehe, fällt es auf GND. Ich kann anscheinend kein Floating-Signal erhalten, bei dem ich das Signal dann entweder HIGH oder LOW ziehen kann, wie im zweiten Bild, das ich hochgeladen habe, zu sehen ist.
Wenn das Gerät keine ausfallsichere Vorspannung hat, sollte Ihr Board diese haben. Aber brauchst du es?
Ich glaube, der MAX485 und der MAX491EPD haben eine ausfallsichere Bias-Funktion. Ich versuche nur, die Signale nachzuahmen, die ich beobachtet habe, und versuche daher, dieses schwebende Signal zu replizieren. Kennen Sie einen IC, der dies bieten könnte, oder ist dies mit den von mir genannten ICs überhaupt möglich?
Wenn sie dies tun, haben sie intern die Vorspannung bei ihren Eingaben. Sie können den Bus nicht vorspannen, weshalb Sie die externen ausfallsicheren Vorspannungswiderstände R5 und R6 benötigen, um den Bus vorzuspannen.

Sie sollten die Abschlusswiderstände von diesem Modul alle Widerstände rechts vom max485 entfernen.

Ansonsten ja, das Modul wird funktionieren.

Spoiler-Alarm: Wenn ich diese Anzeige richtig lese, scheint die Baudrate etwa 9600 zu sein

Danke! Ich habe es getan, siehe zusätzliche Details oben in OP. Die Baudrate beträgt 19200.