Jump to content

    
Sign in to follow this  
theilush

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

Recommended Posts

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

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

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

Share this post


Link to post
Share on other sites
44 минуты назад, Сергей Борщ сказал:

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

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

Share this post


Link to post
Share on other sites
1 час назад, Сергей Борщ сказал:

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

Держите. 

Скачивайте.

eia485.pdf

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

 

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

Share this post


Link to post
Share on other sites
16 часов назад, Сергей Борщ сказал:

Modbus?

Верно

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

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

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

 

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

 

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

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

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

Share this post


Link to post
Share on other sites
12 hours ago, iliusmaster said:

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

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

Share this post


Link to post
Share on other sites
3 часа назад, theilush сказал:

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
1 час назад, Сергей Борщ сказал:

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

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

 

eia422.pdf

RS422+485AppNote.pdf

Share this post


Link to post
Share on other sites
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 берет питание.

Share this post


Link to post
Share on other sites
26 minutes ago, =AK= said:

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this