Источники питания сетевого напряжения на DIN-рейке MEAN WELL

Автоматическая установка адресов I2C в STM32

Знаток
 
Регистрация: 06.12.2009
Сообщений: 824
Репутация: 114
105 143
4 0
 
19.06.2020 17:21 #1
Здравствуйте
Имеется цепочка приборов, работающая по I2C.

Все приборы визуально полностью одинаковые. Устройство переносное и разборное. Т.е. из разу в раз его в той же поледовательности не получится собрать.

Получается, что жестко забить адреса I2C в МК не выйдет.

Как вариант, думал добавить в линии UART, и последовательно соединить.

Алгоритм такой
  • При включении отправляем '1', к примеру.
  • Первый по ходу МК принимает это число и задает адрес , I2C '1'
  • Далее отправляет следующему МК '1 +1' и т.д.

Но такой метод не подходит, так как уже есть шлейф между устройствами на 4 провода. Только на питание и I2C.

Где-то слышал ,что с помощью Unique ID , можно как-то реализовать. Правда пока не понимаю каким образом (.
Оценка
К конденсаторам источников питания высокой мощности предъявляются высокие требования по качеству и надежности. Пленочные – единственный тип конденсаторов, который может справиться с такой задачей. Компания Hongfa предлагает продукцию, которая подходит для применения практически во всех функциональных узлах типовых AC/DC- или DC/AC-преобразователей. Рассмотрим характеристики и применения плёночных конденсаторов Hongfa для различных решений.
Знаток
 
Аватар для ipaSoft
 
Регистрация: 22.05.2013
Адрес: Екатеринбург
Сообщений: 513
Репутация: 181
163 117
1 0
Отправить сообщение для ipaSoft с помощью Skype™
 
22.06.2020 09:17 #2
Помимо линии I2C выделите модулю 2 GPIO: Input и Output.
1) Когда модуль получает на Input лог. 1, то он готов к получению адреса. 2) Он начинает перекличку всех возможных адресов по порядку как мастер. И тот адрес, который не ответил, будет для него свободен.
3) После получения адреса на Output выставляется лог. 1 - следующий модуль, получай адрес.
И так хоть 127 модулей можно в баян нацепить)
__________________
"Словом можно убить, словом можно спасти, Словом можно полки за собой повести." (с) Шефнер Вадим
Оценка
Вслед за сериями на DIN-рейку DDRH-60/120/240 и на шасси RSDH-150/300 компания MEAN WELL выпустила новые маломощные DC/DC-преобразователи DDRH-15/30/45 со сверхшироким входным напряжением 150…1500 В, и монтажом не только на DIN-рейку, но и печатную плату или винтовым соединением. Все преобразователи семейства DDRH и RSDH работают при температурах -40…80°C и обладают высокой изоляцией 4000 В AC между входом и выходом, что обеспечивает надежную защиту. Они подходят для использования на высоте до 5000 м и сертифицированы по стандарту IEC62109-1 для фотоэлектрических систем. Преобразователи DDRH/RSDH есть в наличии и под заказ.
Знаток
 
Аватар для ipaSoft
 
Регистрация: 22.05.2013
Адрес: Екатеринбург
Сообщений: 513
Репутация: 181
163 117
1 0
Отправить сообщение для ipaSoft с помощью Skype™
 
22.06.2020 09:22 #3
Цитата:
Сообщение от схемопай
так как уже есть шлейф между устройствами на 4 провода.
Всего 4 провода и питание нельзя коммутировать? Однако непросто. Загалдят как мастера все, с арбитражом замучишься.
Как вариант, при подаче питания, каждый модуль с рандомной задержкой получает адрес. У одного модуля, допустим, рандомно выпало получить адрес через 320 мс, у другого через 17 мс.
Вам бы тут CAN пригодился, а не I2C или тем более UART
__________________
"Словом можно убить, словом можно спасти, Словом можно полки за собой повести." (с) Шефнер Вадим
Оценка
В последние годы растёт спрос на источники питания для промышленной автоматизации в связи с увеличением инфраструктурных проектов, требующих надёжного электропитания. Источники питания на DIN-рейку MEAN WELL обладают высокой эффективностью, надёжностью и безопасностью, обеспечивая стабильное выходное напряжение. Большой ассортимент в наличии позволяет выбрать подходящий ИП MW на DIN-рейку для решения любой задачи электропитания.
Новичок
 
Регистрация: 04.06.2011
Сообщений: 47
Репутация: 37
27 0
0 0
 
24.06.2020 21:17 #4
- вы можете и хотите перепрограммировать адреса I2C в приборах или каждый прибор уже имеет прошитый адрес I2C?
- что вы можете перепрограммировать? только МК, который опрашивает по I2C приборы? можете ли перепрограммировать и имеете ли программы МК приборов?
Оценка
Знаток
 
Регистрация: 06.12.2009
Сообщений: 824
Репутация: 114
105 143
4 0
 
25.06.2020 22:40 #5
Доступ к прошивкам есть, хотелось бы без конструктивных изменений это все сделать, сохраняя I2C линию.

Цитата:
Сообщение от ipaSoft
У одного модуля, допустим, рандомно выпало получить адрес через 320 мс, у другого через 17 мс.
Немного не понял. А как физически сохранится последовательность включенных устройств ? Ведь адреса таким образом присвоятся, но реальная последовательность то не сохранится ?

Грубо говоря, лежат 10 прибором , один за одним. Нужно чтобы адреса раставились по возрастанию, 1...10
Оценка
Гуру
 
Регистрация: 08.05.2006
Адрес: москва
Сообщений: 8,281
Репутация: 2218
2,204 1,138
40 83
 
25.06.2020 22:53 #6
Для "особо одарённых пользователей" давно придумана ЗоД. Устанавливается механический ключ на позволяющий подключить блок не на своё место. Може это решение будет оптимальней?
Оценка
Новичок
 
Регистрация: 04.06.2011
Сообщений: 47
Репутация: 37
27 0
0 0
 
26.06.2020 09:07 #7
Цитата:
Сообщение от схемопай
10 прибором , один за одним. Нужно чтобы адреса раставились по возрастанию, 1...10
по I2C?
теоретически сделать можно, но дорого, с серьезными аппаратными наворотами, хотя бы со стороны МК мастера:
-всем МК приборов по включении одинаковый адрес А, но разный идентификатор (1 байт) ID,
-последовательно посылать A,ID[i]
-если есть ответ, МК с таким ID присутствует,
-этот МК переводится из I2C в режим ВХОД по одной линии, на выход по другой,
-мастер передает короткий импульс и ждет ответа по одной линии,
-МК возвращает импульс по другой линии
-а тут и аппаратная часть у мастера - измерение времени передачи-возврата импульса.
полученное время записывается для данного ID
как присваивать адреса, понятно.
измерение времени - ИС TDC GP22, разница должна быть хотя бы метры, разрешение менее 100пс, вопрос, смогут ли стабильно с таким разрешением отвечать ваши устройства в приборах: МК работают с тактированием, например, 100нс, поэтому возвращать импульс надо через логику или замыкание линий I2C.
сомнительно, что игра стоит свеч.
Оценка
Знаток
 
Аватар для ipaSoft
 
Регистрация: 22.05.2013
Адрес: Екатеринбург
Сообщений: 513
Репутация: 181
163 117
1 0
Отправить сообщение для ipaSoft с помощью Skype™
 
26.06.2020 09:55 #8
Используется одна шина I2C, 4 провода: GND, Vdd, SDA, SCL.
Есть, как мы видим из сообщений выше, как минимум, 4 способа решения вашей задачи:
1) Коммутировать VDD: модуль 1 не дает питание модулю 2 пока не получит адрес.
2) ЗоД. И это не генерал из супермена, и не заболевание органов дыхания, а нечто позволяющее с помощью механического ключа соблюдать предопределенную последовательность подключения модулей. Я, видимо, из числа "особо одаренных", и не смогу дать детальное объяснение.
3) Использовать 1-wire, так освободится линия, которая будет служить арбитром при получении адресов.
4) Использовать джамперы или DIP switch на каждом модуле для ручной установки адреса.
5) Использовать софтовую настройку адреса для каждого модуля.
__________________
"Словом можно убить, словом можно спасти, Словом можно полки за собой повести." (с) Шефнер Вадим
Оценка
Гуру
 
Регистрация: 08.05.2006
Адрес: москва
Сообщений: 8,281
Репутация: 2218
2,204 1,138
40 83
 
26.06.2020 17:39 #9
ipaSoft,
ЗоД -сленг (Защита от Дурака) В простейшем варианте - это круглый штырь срезаный по диаметру на модуле и полукруглое отверстие в блоке.
Поворт штыря по 45 гр даёт 8 номеров. Два штыря уже 64 номера.
Оценка
Знаток
 
Аватар для salyamkamrad
 
Регистрация: 07.10.2009
Адрес: А кому интересно?
Сообщений: 382
Репутация: 70
62 18
2 2
 
10.08.2021 13:38 #10
Краской номера на корпусах написать никак нельзя было?
Оценка
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Скидки 15%, кэшбэк 15% и бесплатная доставка от ТМ Электроникс
Часовой пояс GMT +3, время: 11:58.
Обратная связь РадиоЛоцман Вверх