PDU - power distribution unit - умные розетки для шкафа

есть такие штуки для серверных шкафов - пду
типа куча розеток с управлением по сети + мониторинг мощности

даже б\у они стоят кучу денег, поэтому я подумал сделать свою на базе готового девайса для звуковой стойки

вот тут https://youtu.be/fInDFtN2JHw?t=332 можно посмотреть кишки, мне пришлось приделывать его к 19" полке, т.к. он узкий и без ушей был или там они даже не крепилсь

дальше нам понадобятся электронные реле

потом нам потребуется сетевой модуль

я его купил аж за 1.90 евров с бесплатной доставкой, но так он дороже стоит

есть еще такой контроллер net2serial


но тут все равно потребуется дополнительный 8 битный контроллер для приема данных по юарту, так что я тоже не вижу смысла его брать, только если на нем полностью делать все

дальше нам понадобятся вот такие кнопки

вертикальные, т.к. надо скрыть большие вертикальные вырезы от дефолтных выключателей

вот тут видно, что внутри вставляется белая штука со светодиодом 5мм

я раньше купил кнопки и там стояли мелкие лампочки и даже 3мм диод туда не влазил, хотя те кнопки тоже неплохие

минус этих кнопок только в диаметре дырки под них в 24мм, так что надо ступенчатое сверло и у меня оно есть

далее нам надо будет 2х цветные светодиоды

выкидываем дефолтные светодиоды и ставим туда эти

для крепления проводов надо будет купить набор контактов

надо 4.8 и 6.3мм

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

для вывода сетевой розетки красиво - понадобится такой вот адаптер

или такой

ну и напоследок нужна будет какая нибудь ардуиновская плата, можно проводами все соединить, хотя я бы сделал отдельным контроллером на своей плате, но кто не занимается паяльством, тому проще проводами все слепить и синей изолентой замотать

собственно софт там простой, без ип протокола и всего хлама, работать правда будет только на л2, но нам больше и не надо

смысл такой
при включении главного выключателя все кнопки горят красным, розетки выключены

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

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

там можно будет подписать розетки

если использовать контроллер CH32V307VCT6 или попроще CH32V207, то можно сделать все на нем, внутри у них есть phy + mac, останется только прилепить трансформатор, а вот насчет ип стека я не знаю, надо смотреть у производителя на сцайте и на этот контроллер не портирована ардуина, хотя она особо тут и не нужна

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

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

это первая часть с идеей и уже куплеными всеми деталями


форум не дает постить сразу кучу картинок, так что пришлось кучу постов лепить

продолжим дальше насчет сетевых модулей

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

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

по поводу модуля реле механического

почему не стоит использовать их? потому что при втыкании в розетку импульсных блоков питания возникает искра от пускового тока и контакты обгорают, а у китайских реле они там никакие

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

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

7 со стороны цифровых и 6 со стороны аналоговых выводов и как бы 7 должно хватать для кнопок, а вот светодиоды у нас специфичные 2х цветные и внутри 2 кристалла, включены встречно параллельно и выводов всего 2, а не 3

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

такой алгоритм называется charlieplexing, в 90х один мужик придумал для экономии выводов контроллера

если бы это было 2 одинаковых отдельных светодиода с одинаковым падением напряжения, то такая схема с одним резистором была бы норм

но у нас 2 разных кристалла - красный и зеленый и там разное падение напряжения и надо 2 разных резистора, что невозможно, т.к. кристаллы внутри диода и снаружи только 2 вывода торчат

2 вывода подключаются к 2м выводам контроллера

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

вот так на 4х выводах мы можем зажечь 12 диодов, но у нас физически 1 диод двойной, поэтому 4х выводов хватит только на 6 диодов, а розеток там 7 штук или даже может быть 8, так что понадобится 5 выводов

добавляем еще 1 вывод и можно подключеть 10 двойных диодов вместо 6

как работает чарлиплексинг? мне нравится эта картинка

вот тут есть целый симулятор The Charlieplexing

вот еще с таблицей для упрощения понимания всех состояний выводов на каждую единицу времени


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

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

для этого я купил магазин резисторов

я еще для другого проекта купил вот такие индикаторы

хочу тоже сравнить яркости при одинаковых резисторах (для этого я еще купил 2 магазина резисторов, чтобы зажечь 3 разных цвета одновременно)

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

такой резистор называется источником стабильного тока и выглядит вот так

по сути это 2х выводной “диод”

пока все по подключению диодов, завтра допишу про кнопки и про включение розеток и сделаю прототип схемы

продолжаем разрабатывать девайс :monkey:

теперь настала очередь кнопок, на которые надо 7 выводов
считаем, хватит ли выводов на 7 кнопок и 8 реле или 7, если уж совсем припрет

23 вывода - (4 eth) - (2 uart) - (5 led) = 12, еще -7 = 5 вывода свободных, которых не хватит на реле

что делать? для этого есть 2 варианта - правильный и нищий
правильный вариант - использовать специальную микросхему расширения портов, которая подключается к шине спи или и2ц

нищий вариант - для реле подключить регистр 74hc595, там ему как раз хватит 3х выводов
он стоит копейки, а расширитель портов стоит как сам контроллер, но лучше я возьму его

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

вобщем тут все понятно, плюсом еще будет то, что там есть подтягивающие резисторы и не придется паять 7 штук самому

пока схему накидал так, чтобы прикинуть по выводам