RS-485 как начать передавать сигнал

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#1

Сообщение Kot » 06.05.2023{, 09:51}

есть основа на ЕСП32 которая будет раздавать команды и собирать данные
есть исполнители на АТМЕГА328 несколько штук которые будут исполнять команды и отправлять данные на есп

в обзорах говорят что нельзя что бы были встречные команды иначе микросхемы пробьёт
имеется в виду что есп пошлёт команду и в это время ардуино пошлёт ей данные тоесть оба встанут в режим передатчика

обьясните как избежать одновременных попыток в режиме передатчика ?

Аватара пользователя
Phazz
Полковник
Сообщения: 2553
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

RS-485 как начать передавать сигнал

#2

Сообщение Phazz » 06.05.2023{, 10:21}

Kot, используйте протокол модбас. Там эти проблемы решены.

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#3

Сообщение Kot » 06.05.2023{, 11:49}

переделал под модбас но ничего не принимает ни там ни тут
есп модбас.flp
(281.4 КБ) 17 скачиваний
ардуино модбас.flp
(795.6 КБ) 19 скачиваний
пробовал рх и тх менять местами не помогает

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

RS-485 как начать передавать сигнал

#4

Сообщение Dragony » 06.05.2023{, 19:39}

Какие интерфейсы используете? (в смысле платы 485)

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#5

Сообщение Kot » 14.05.2023{, 13:57}

Dragony, да по 485

для теста пока соединил их на коротком поводке 5 см меж платами 485

опрос раз в сек
скорость 115200
6 регистров аналоговых
на мастере сыпет кучу ошибок
2023-05-14_174508.png
в теории предположил что он не успевает передать в итоге удалил 5 регистров но стало ещё намного хуже ошибка 255 стала практиически постоянной там раз 1-2 в минуту пролетают данные и опять 255
есп модбас 1.flp
(190.74 КБ) 11 скачиваний
ардуино модбас.flp
(790.7 КБ) 15 скачиваний
нипонятно что с этим модбасом не так

Отправлено спустя 4 минуты 1 секунду:
на стороне ардуино ошибки не вспыхивают
импульс на PE-DE стабильный раз в сек
2023-05-14_180520.png
Отправлено спустя 11 минут 57 секунд:
если теоретически предположить что 1 сек не хватает передать 6 интегоров то уставнока синхронизации в 5 сек ничем не помогает
2023-05-14_181301.png
Отправлено спустя 1 минуту 58 секунд:
пока пришол к выводу что библиотека универсал-модбас где то кривая в чом то

Dragony
Сержант
Сообщения: 133
Зарегистрирован: 02.01.2020{, 11:55}
Репутация: 2
Имя: Александр

RS-485 как начать передавать сигнал

#6

Сообщение Dragony » 14.05.2023{, 19:40}

Скорость поставьте на минимум, и запрос/обмен сделайте пореже.
У меня не получилось сделать обмен "по запросу", поэтому блоки тупо шлют данные - от датчика к базе чаще (температура/влажность), от базы к датчику реже (что-то вроде контрольных пакетов для контроля связи между блоками).
Использую платки с Алиэкспресса, которые не требуют дополнительных проводов, только прием/передача и земля/питание.
Правда, примитивность обмена имеет свои недостатки - видимо, время от времени происходит "встречная передача", и данные сбрасываются, что вызывает сигнал "авария" - температура якобы "0".
Но у меня только один датчик, и это не страшно - во время следующей посылки данные проходят нормально.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#7

Сообщение KSP » 15.05.2023{, 08:58}

Kot,
в Ваших проектах нет настроек Modbus ни слейва ни мастера, а переменные есть или у меня что-то не так открылось
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#8

Сообщение Kot » 15.05.2023{, 09:18}

Dragony, поставил 9600 ничего не поменялось
опрос немогу поставить меньше мне нужно оперативно включать отключать клапана но до болеан я пока отложил там вообще пока нипонятно адрес задаётся автоматом в перехлёст с адресами интегера
2023-05-15_131105.png
так как у автора ошибка с блоком по ошибке то импульсов в этой версии нет тока сплошная прямая
2023-05-15_131107.png
2023-05-15_131107.png (6.99 КБ) 793 просмотра
проекты пересобрал по новой тоже не помогло
есп модбас.flp
(146.1 КБ) 12 скачиваний
ардуино модбас.flp
(157.73 КБ) 11 скачиваний
KSP, ну как же нету то
2023-05-15_131351.png
2023-05-15_131351.png (6.78 КБ) 793 просмотра
2023-05-15_131419.png
2023-05-15_131419.png (11.04 КБ) 793 просмотра
два уарта по рс485 опрос раз в сек

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#9

Сообщение KSP » 15.05.2023{, 09:24}

Kot,
Это настройки порта для передачи по 232, зайдите в настройки Mobus там назначьте Мастером и слейвом устройства тогда все получится.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#10

Сообщение Kot » 15.05.2023{, 09:30}

2023-05-15_133011.png
2023-05-15_133011.png (2.09 КБ) 789 просмотров
вот это ?
а что тут нужно выставлять ?

Отправлено спустя 3 минуты 36 секунд:
на есп поставил АВ
на ардуино ВА
не повлияло ни как

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#11

Сообщение KSP » 15.05.2023{, 09:50}

Kot,
С этими настройками се было правильно, проблема кажется в том, что Вы используете в обоих случаях регистры хранения сейчас загружу у себя проверю.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#12

Сообщение Kot » 15.05.2023{, 10:02}

да с аналог входами я тоже пробовал не работает

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#13

Сообщение KSP » 15.05.2023{, 12:16}

Kot,
на 11 pin UNO есть какой-то сигнал и для чего в проекте плата 3 Вы на ней одну и ту-же переменную инвертируете.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#14

Сообщение Kot » 15.05.2023{, 12:40}

анализатор сигналов стоит
изучал блок ошибок непонятно было почиму пин 13 вместо моргания загорался на подольше в какой то момент
и заодно интересно было замерить цыклов в сек и какие моменты нагружают проект в дальнейшем
дальнейшее пока не настало ибо начальное сдвинуть не получается

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

RS-485 как начать передавать сигнал

#15

Сообщение vlad1451 » 15.05.2023{, 12:42}

KSP писал(а):
15.05.2023{, 12:16}
Kot,
на 11 pin UNO есть какой-то сигнал и для чего в проекте плата 3 Вы на ней одну и ту-же переменную инвертируете.
На 1 плате модуль ошибок, он и выдаёт на 11 пин ошибки ModBus.

Sanok
Рядовой
Сообщения: 25
Зарегистрирован: 31.08.2021{, 06:19}
Репутация: 2
Откуда: Добряка
Имя: Александр

RS-485 как начать передавать сигнал

#16

Сообщение Sanok » 15.05.2023{, 13:11}

попробуйте пины de-re от esp 10ком подтянуть к 3.3V, мне на esp 01 помогло

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#17

Сообщение Kot » 15.05.2023{, 13:19}

на ардуино он ничего не выдаёт
на есп постоянно 255 выдаёт

если смотреть на светодиоды на обоих контролерах уартовские то они моргают со сдвигом
тоесть на есп как запрос он моргает раз в 1 сек а вот на ардуино он постоянно уходит то в такт моргают и понемногу от даляется от синхроности

Sanok, не не помогло
да и импульсы с есп на запрос синхронные меж собой
2023-05-15_171140.png
Отправлено спустя 6 минут 18 секунд:
а как в анализаторе подключить модбас ?
2023-05-15_172407.png
там у него только один пин подключается но не понятно куда в какое место на плате ?
я бы попробовал проверить что он отправляет что принимает

Отправлено спустя 6 минут 20 секунд:
я его подключил к ТХ есп
и в 1 ипульс РЕ-ДЕ он закладывает такой пакет данных
2023-05-15_173014.png
Отправлено спустя 1 минуту 27 секунд:
собственно тоже он пишит что это инвалидная чексумма

Отправлено спустя 12 минут 1 секунду:
если вывести и РХ с ТХ то будет так
2023-05-15_174353.png

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

RS-485 как начать передавать сигнал

#18

Сообщение KSP » 15.05.2023{, 14:29}

Kot,
Блок ошибок выдает ошибку до тех пор пока не придет корректный опрос от головы, подключите к 13 пину его выход и можно будет посмотреть корректность работы ЕСП если светодиод загорается надолго значит идут запросы на которые у УНО нет ответов:нет регистра с таким номером или нет регистра такого типа.
S

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#19

Сообщение Kot » 15.05.2023{, 14:39}

он подключен и не горит
что значит нет регистра если я сохраняю фаил настроек слейва и вставляю его в мастер

Отправлено спустя 14 минут 47 секунд:
если на слейве поднять скорость 115200 то РХ полностью молчит
2023-05-15_184332.png
если на мастере тоже поставить 115200
то всеравно ничего не понятно
2023-05-15_185348.png

Kot
Сержант
Сообщения: 125
Зарегистрирован: 09.10.2021{, 11:54}
Репутация: 1
Имя: Дима

RS-485 как начать передавать сигнал

#20

Сообщение Kot » 16.05.2023{, 11:24}

сегодня собрал на двух ардуинах так же ничего не работает
думал прога сожгла модули неправильным управлением но нет все RS485 живые проверил по отдельности сначала отправку в терминал потом приём из терминала

вероятно модбас кривой

Ответить

Вернуться в «Помогите, а то я "нимагу"»