Обратное проектирование сигналов RS-485 — плавающая проблема

В настоящее время я пытаюсь реконструировать сигналы RS-485, см. формы сигналов ниже.

введите описание изображения здесь

Как видите, Сигнал 1 (желтый) и Сигнал 3 (фиолетовый) представляют собой дифференциальную пару и кажутся плавающими.

Вот крупный план сигнала Signal 1 от:

введите описание изображения здесь

Я пытаюсь использовать модуль Arduino MAX485 со следующей схемой:введите описание изображения здесь

Кто-нибудь может подсказать, возможно ли это с этим модулем и если да, то что для этого нужно?

Если это невозможно, есть ли другая микросхема, которую я мог бы использовать для получения этого плавающего сигнала?

Я воссоздал приведенную выше схему на микросхеме MAX491EPD и удалил все смещающие/согласующие резисторы. Проблема все еще существует, см. вывод ниже:введите описание изображения здесь

Я начинаю думать, что это проблема кода Arduino. Код ниже:

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

недействительная установка () { Serial.begin (19200); Serial.setTimeout(100);
pinMode(EnTxPin, ВЫХОД); цифровая запись (EnTxPin, ВЫСОКИЙ); }

недействительный цикл () {
Serial.write (0x02); Серийный .write(0x50); Серийный .write(0x30); Серийный .write(0x32); Серийный.запись(0x00); Серийный .write(0x56); Серийный.запись(0x03); Серийный .write(0x30); Серийный .write(0x38); задержка(57); Серийный.запись(0x02); Серийный .write(0x50); Серийный .write(0x30); Серийный .write(0x32); Серийный.запись(0x00); Серийный .write(0x57); Серийный.запись(0x03); Серийный .write(0x30); Серийный .write(0x39); задержка (1); задержка(10000); }

Я что-то упустил здесь?

" кажется плавает "??? почему ты говоришь это?
@ Andyaka Я думаю, потому что оба сигнала, кажется, плавают примерно на уровне 2,5 В, когда ничего не передают?
Что ж, я думаю, что правильный термин «смещен» - если вы посмотрите на предложенную схему и предположите, что согласующий резистор присутствует, тогда R5 и R6 будут смещать линии A и B в середине шины. Но это для ОП, чтобы решить, адекватны ли резисторы смещения в предлагаемом решении для системы, которую он пытается обновить.

Ответы (2)

Да, этот модуль можно использовать. Сигналы RS-485 плавают, когда ни один драйвер не включен. Его можно настроить только на прием и пассивное прослушивание связи. Если шина уже терминирована, вы можете удалить согласующий резистор на 120 Ом и, возможно, подтягивающий и подтягивающий резисторы смещения.

Спасибо за ответ! На данный момент я использую микросхему MAX491EPD, поэтому я могу изменить проводку. Когда вы говорите, что «драйвер не включен», вы имеете в виду, что DE или включение вывода драйвера отключены? Потому что, если я это сделаю, данные не будут переданы.
Если вы хотите передавать и/или получать, управляйте DE и/или RE соответственно.
один из DE и RE обычно является инвертированным входом, поэтому вам нужен либо высокий, либо оба низкий уровень, в зависимости от того, что заставляет модуль производить наименьшее напряжение, измеренное между A и B.
Все еще вижу проблему. Это может быть проблема с кодом, подробности см. выше.
Так в чем проблема? Вы включаете передатчик навсегда, чтобы он никогда не отключался для приема или чтобы шина не возвращалась к смещению средней точки.
Я должен включить его для передачи. Если я нажму на НИЗКИЙ уровень, он упадет на GND. Кажется, я не могу получить плавающий сигнал, когда я могу вытащить сигнал либо ВЫСОКИЙ, либо НИЗКИЙ, как показано на втором загруженном мной изображении.
Если устройство не имеет отказоустойчивого смещения, то оно должно быть на вашей плате. Но нужно ли вам это?
Я считаю, что MAX485 и MAX491EPD имеют функцию отказоустойчивого смещения. Я просто пытаюсь имитировать сигналы, которые я наблюдал, и поэтому пытаюсь воспроизвести этот плавающий сигнал. Знаете ли вы о ИС, которая могла бы обеспечить это, или это вообще возможно с ИС, которые я упомянул?
Если они это делают, у них есть внутреннее смещение на их входах. Они не смогут смещать шину, поэтому для смещения шины необходимы внешние отказоустойчивые резисторы смещения R5 и R6.

Вы должны удалить согласующие резисторы из этого модуля, все резисторы справа от max485.

в остальном да, этот модуль будет работать.

предупреждение о спойлере: если я правильно читаю этот дисплей, скорость передачи данных составляет около 9600

Спасибо! Я сделал, см. дополнительные подробности выше в OP. Скорость передачи 19200.