Перейти к содержанию
    

Согласование соединения RS-485

59 минут назад, iliusmaster сказал:

Прочитайте стандарт на линию RS-485.

Дайте, пожалуйста, ссылку. Почитал бы с удовольствием, но найти не удается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

44 минуты назад, Сергей Борщ сказал:

Дайте, пожалуйста, ссылку. Почитал бы с удовольствием, но найти не удается.

В закромах есть EIA-422-B - тоже самое что 485, только для полного дуплекса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Сергей Борщ сказал:

Дайте, пожалуйста, ссылку. Почитал бы с удовольствием, но найти не удается.

Держите. 

Скачивайте.

eia485.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, iliusmaster said:

Прочитайте стандарт на линию RS-485.Там все четко написано про формирование уровней. 

Да нет такого чёткого стандарта, есть так называемые рекомендации IEEE.

51 minutes ago, iliusmaster said:

Держите. 

Скачивайте.

eia485.pdf 4.54 MB · 1 download

А где там про RS-485?Это точно про него?

Вижу какие-то странные напряжения, ближе к RS-232.

И где про RS-422?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые советчики, ведь гадание на кофейной гуще. Еще только по колесам стучать не советовали. Отсутствие системного подхода- это очень опасно: даже если случайно и заработает, то это может быть не то, что на самом деле происходит.

 

Я бы сказал, что в данном случае "системный подход" это:

1. Правильность подключения: Подключить согласно требованию производителя прибора

2. Корректность физических параметров сигналов: Посмотреть осциллографом обмен : уровни, корректность сигналов, наличие помех и артефактов. Кстати, интересно посмотреть с двух сторон: и возле приемника, и возле передатчика.

3. Анализ промежуточных результатов и планирование дальнейших действий: Сделать выводы и наметить следующие шаги.

 

Я в своей практике разное видел, как и все присутствующие. Если Топикстартер начнет весь наш "а вот у меня был случай..." применять- то состарится раньше, чем найдет настоящую причину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Именно 485 и именно такие напряжения. Про 422 отдельная писулька есть. Если нужна- выложу.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, Сергей Борщ сказал:

Modbus?

Верно

16 часов назад, Сергей Борщ сказал:

Алгоритм какой-то уж больно простой. Любой шум в паузе приведен к приему ошибочного байта и этот байт испортит весь прием, даже если следом будут идти правильные данные со всеми защитными интервалами. 

Посоветуйте, каким образом можно установить защиту от данных шумов.

 

После добавления в схему растягивающих резисторов не было потеряно ни одного байта за 6 часов работы. Отправка осуществляется по счетчику в таймере: каждые 500мс.

 

17 часов назад, Eddy_Em сказал:

Вы если будете на STM32 работать с RS-485 через DMA на передачу, наверняка столкнетесь с тем, когда нужно переключить USART в режим приема. Делать это в прерывании по окончанию передачи данных DMA нельзя: последний символ будет потерян. Поэтому я организовал эдакий конечный автомат:

Спасибо за представленный вами материал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 hours ago, iliusmaster said:

Именно 485 и именно такие напряжения. Про 422 отдельная писулька есть. Если нужна- выложу.

Насчет 422 - да, нужна. Кстати, может, у вас и настоящая RS-232 спека есть? А то сам стандарт-то мало кто и видел. Одни перепевы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, theilush сказал:

Посоветуйте, каким образом можно установить защиту от данных шумов.

Тщательно выполнять требования спецификации MODBUS: на приеме отслеживать паузы в передаче и начинать прием заново, если пауза больше 1.5t. Заканчивать прием не по определенному количеству принятых байтов, а по паузе в 3.5t. При передаче выдерживать защитный интервал >1.5t от включения передатчика RS485 до начала передачи, после окончания передачи выдерживать защитный интервал 3.5t до отключения передатчика RS485. Эти защитные интервалы там придуманы не только для того, чтобы добавить головной боли авторам программ (хотя да, решение с выдержиаванием времени защитных интервалов крайне неудобно в реализации), а как раз именно для отсеивания шума в паузах между пакетами.

13 часов назад, iliusmaster сказал:

Про 422 отдельная писулька есть. Если нужна- выложу.

Присоединяюсь:

22 минуты назад, Raven сказал:

Насчет 422 - да, нужна. Кстати, может, у вас и настоящая RS-232 спека есть? А то сам стандарт-то мало кто и видел. Одни перепевы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Сергей Борщ сказал:

Тщательно выполнять требования спецификации MODBUS: на приеме отслеживать паузы в передаче и начинать прием заново, если пауза больше 1.5t. Заканчивать прием не по определенному количеству принятых байтов, а по паузе в 3.5t. При передаче выдерживать защитный интервал >1.5t от включения передатчика RS485 до начала передачи, после окончания передачи выдерживать защитный интервал 3.5t до отключения передатчика RS485. Эти защитные интервалы там придуманы не только для того, чтобы добавить головной боли авторам программ (хотя да, решение с выдержиаванием времени защитных интервалов крайне неудобно в реализации), а как раз именно для отсеивания шума в паузах между пакетами.

Присоединяюсь:

 

eia422.pdf

RS422+485AppNote.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, iliusmaster сказал:

 

Вот это подарок! Огромное спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/13/2020 at 1:34 PM, theilush said:

Дело с землей обстоит следующим образом: на картинке приведена распиловка клемм ПЧ. С клемм 12 и 55 берется питание для датчика давления, показания которого обрабатывает АЦП STM32, т.е. клемма 55 связана с землей STM32. Клемма заземления для RS-485 (61) не связана с клеммами 20 и 55. Поэтому не совсем понятно как корректно развести в данном случае землю. Пробовал объединить землю так, как это показано на второй картинке (прошу прощения за схему, накидал для понимания), также пробовал объединить землю, не используя 61. Во всех случаях ключевой ролью играет, подключен ли переходник. К большому сожалению нет возможности использовать осциллограф для полного понимания происходящего, поэтому единственный параметр, по которому я сужу — на сколько стабильно отправляются и принимаются посылки. С переходником работает все стабильно, без потерь. Без переходника и согласующих резисторов работает все очень плохо. С согласующими резисторами работает получше, но потери присутствуют. Пробовал ставить в конце и в начале, и только в конце. Лучший результат был при подключении согласующего резистора сопротивлением 80 Ом на конец линии.

1.JPG

2.png

Добавлю, что скорость используется 19200, четность Even. Эти параметры изменить нельзя, т.к. на них работает ПЧ.

Похоже что RS485 в блоках ПЧ гальванически развязан от самого блока. Если так, то перемычки, соединяющие клемму 61 с 20 в каждом блоке являются вредными и могут быть той самой причиной, почему все работает плохо.

Надо соединить так:

1) A(STM32) - 68(ПЧ1) - 68(ПЧ2) - 68(ПЧ3)

2) B(STM32) - 69(ПЧ1) - 69(ПЧ2) - 69(ПЧ3)

3) GND(STM32) - 61(ПЧ1) - 55(ПЧ1) - 61(ПЧ2) - 61(ПЧ3)

То есть, изолированные земли RS485 (клеммы 61) должны быть соединены между собой, а перемычка от них на клемму 55 должна быть сделана в одном и только одним месте, в том ПЧ, откуда STM32 берет питание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 minutes ago, =AK= said:

То есть, изолированные земли RS485 (клеммы 61) должны быть соединены между собой, а перемычка от них на клемму 55 должна быть сделана в одном и только одним месте, в том ПЧ, откуда STM32 берет питание.

Ага. Как бы не так. 
Меня всегда прикалывал этот когнитивный диссонанс в мануалах на инвертеры. 
В одной доке как правило можно встретить  две совершенно разных рекомендации:
Inverters%20connection%20contradiction%2 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, iliusmaster said:

Большое спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...