Попытка запитать 100 Arduino от одной линии электропередачи

Я пытаюсь подключить до 100 Arduino, которые будут распределены по стене длиной 25 м, используя одну линию электропередачи.

Идея заключается в том, что каждая плата Arduino будет иметь несколько кнопок, светодиодов и OLED-экран, и все это будет взаимодействовать с главным сервером с помощью RS485.

====[A0]====[A1]====[A2]====[A3]====[A4]== ... ==[A99]

Я уже подписался на этот замечательный пост http://www.gammon.com.au/forum/ ?id=11428 для реализации подключения к данным с использованием шины RS485.

Однако я с трудом понимаю, как можно питать несколько Arduino от одной линии и не создавать скачков напряжения/контуров заземления из-за разницы в групповом потенциале, вызванной длинной линией электропередачи.

Мне придется изолировать каждый драйвер Arduino и rs485? Или есть более простое решение?

, 👍0

Обсуждение

Попробуйте electronics.stackexchange. Возможно, было бы лучше иметь шину питания с более высоким напряжением и иметь понижающий преобразователь на каждом Arduino, но у меня нет никакого опыта в этом., @Gerben

Вопрос Сэма на Electronics Stack Exchange: https://electronics.stackexchange.com/q/392642, @per1234

пожалуйста, дайте определение понятию «одна линия электропередачи» ... это означает больше, чем одно значение, @jsotola


1 ответ


9

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

Что касается распределения мощности, то вам нужна стратегия, известная как регулирование точки нагрузки. Это когда вы подаете более высокое напряжение (но более низкий ток) на одну плату или, в этом сценарии, скорее на группу плат и регулируете эту мощность с помощью импульсного регулятора на более низкое напряжение (5 В) и более высокий ток.

Это имеет то преимущество, что:

  • Вы беспокоитесь только о небольших группах Arduino, а не обо всех
  • Вы можете использовать более тонкие провода для подачи питания в группу
  • Вы получаете меньшие потери от сопротивления провода при высоких токах

Для 100 плат Arduno вам может понадобиться около 10 плат на группу с импульсным регулятором на 3 А для каждой группы, что даст в среднем 300 мА на плату (конечно, в зависимости от ваших текущих потребностей — вы можете захотеть меньше на группу и больше групп, чтобы получить больший средний ток на плату).

В этом примере у вас будет общий предел выходного тока 30 А в 10 секциях при 5 В. Это соответствует (P=V×I) 150 Вт. Таким образом, будет достаточно источника питания 200 Вт 24 В.

При напряжении 24 В мощность 150 Вт потребует 6,25 А (плюс еще немного для учета эффективности регуляторов, поэтому назовем это 8 А — отсюда и желание иметь источник питания мощностью 200 Вт).

Для 3A вам понадобится как минимум провод 24AWG, но желательно значительно толще, может быть, 18AWG. Для 8A для 24V понадобится минимум 15AWG, желательно больше, хотя вам не нужен такой размер на всем протяжении до конца вашей цепи регуляторов. Если бы вы подключили каждый регулятор напрямую к источнику питания по отдельности, то понадобились бы только тонкие провода (абсолютный минимум 30AWG, что очень мало, хотя для минимизации потерь вам бы понадобилось больше, например, 20AWG).

Так что для простоты и для снижения расходов на провод просто придерживайтесь одного размера на всем протяжении, чтобы вы покупали только один калибр провода (чтобы получить большую скидку при покупке большего количества). Вы можете легко использовать:

  • 18AWG напрямую от блока питания к каждому регулятору POL (24 В, 0,8 А)
  • 18AWG от каждого регулятора POL ко всем Arduino в группе (5 В, 3 А)

Конечно, все это с использованием цифр, взятых с потолка, и вам нужно будет настроить их под ваш конкретный проект, но вы поняли идею — более высокое напряжение для группы, стабилизируйте до 5 В, затем 5 В для каждого Arduino в группе. Вам не нужно беспокоиться о заземлении и т. д., потому что вы используете RS-485.

,

Несмотря на то, что RS485 является дифференциальным, он *заботится* об уровнях земли, вплоть до того, чтобы не насыщать приемник(и). При достаточной амплитуде отскок земли *будет* вносить битовые ошибки., @AaronD

@AaronD Тебе понадобится довольно большой скачок заземления... Одно из преимуществ RS-485 заключается в том, что тебе не нужно беспокоиться о разнице напряжений заземления в разных узлах. Черт, тебе даже *не нужно* отдельное заземление, если у тебя есть общее заземление где-то в системе. Спецификация RS-485 составляет от -7 В до +12 В, и поскольку он работает при +5 В, любому скачку заземления будет очень сложно приблизиться к такому уровню..., @Majenko

Я поддерживаю @AaronD в этом вопросе. Это не обязательно скачок заземления, как вы это называете, а смещение постоянного тока между заземлениями, которое может быть или не быть там в зависимости от стратегии распределения питания. Такое смещение может, возможно, насытить трансиверы RS485, так что суть остается. RS485 заботится об уровнях заземления., @Vladimir Cravero

При такой мощности я бы также добавил несколько предохранителей в систему. Короткое замыкание источника питания на 200 Вт — это не весело. Это также предотвратит падение всей системы, если выйдет из строя только один Arduino., @Gerben

Действительно. Хотя один на Arduino может быть излишним. Один на регулятор POL может быть более реалистичным предложением..., @Majenko