Залежался в моем столе проект на ардуино, который я делал для себя на протяжении нескольких месяцев и вот пришла в голову мысль: "негоже труду пропадать под слоем пыли, пусть общественность получит возможность его оценить, может это окажет влияние на его развитие". И вот я взялся за работу по обработке имеющихся материалов для приведения их к удобоваримому виду. Все же когда делашь что-то для публичного обозрения, то делаешь это внимательнее. Схемы, разводка печатной платы (бери и ЛУТай или применяй другую технологию), прошивка, пользовательское руководство, все ссылки можно найти в статье. Так что каждый желающий может его реализовать, надеюсь кто-нибудь захочет. Сам я программист-любитель, так что если кто-то решит заглянуть в мой код, то будьте готовы к моим представлениям о прекрасном.
Что это и зачем нужно
Как многие уже догадались из названия, речь об устройстве, которое наполняет гидроаккумулятор и делает помимо этого кое-что еще.
Посвящу, пожалуй абзац тому, как дошел до такого. Конечно, всем хочется сделать свою жизнь комфортнее, избавиться от бытовой рутины. Были в жизни периоды, когда приходилось ходить за питьевой водой с ведрами к колодцу в любую погоду. Потом данную задачу облегчил погружной насос, который включался вручную при помощи коридорного выключателя на D-триггере (если не ошибаюсь), было это нужно для того, чтобы запустить насос из нескольких помещений дома. Позднее был приобретен гидроаккумулятор с реле давления. Несколькими года позднее ко мне в руки попала "ардуина" и пришла идея сделать процесс поинтереснее. Отдельное спасибо AlexGyver за популяризацию данной темы, и за библиотеки, использованные в реализации.
Итак, вот что устройство позволяет на данном этапе:
управлять насосом как на основе сигналов от реле давления, либо от аналогового датчика давления;
если использовать реле давления в качестве ведущего, то можно установить критическое давление при достижении которого устройство перейдет в режим блокировки и уведомит пользователя; в моем опыте были случаи, когда реле давления залипало, что приводило к разрушению системы;
когда используется датчик давления в качестве ведущего, то это позволяет устанавливать диапазон рабочего давления вручную при помощи кнопки и энкодера, это гораздо проще и быстрее, чем настраивать реле давления подкручиванием гаек, притом, когда оно находится в труднодоступном месте;
переходить в режим блокировки, если реле давления подвело, уровень воды в источнике опустился ниже допустимого (спасет насос от работы вхолостую) или датчик давления вышел из строя;
-
мониторить давление в системе, объем воды в гидроаккумуляторе, уровень воды в источнике, состояние реле и датчика давления.
Функционал зависит от установленного режима работы.
Сборка
Основой данного устройства является Arduino Nano (не оригинал) на Atmega 328p. Вывод информации осуществляется на жидкокристаллический дисплей LCD 1602 с адаптером I2C. Управление устройством осуществляется с помощью кнопки и энкодера. Микросхема КР1533ЛИ1 не является необходимостью, было решено установить для предохранения от возможных программных ошибок, поскольку в ранних версиях прошивки не предполагась работа не было защиты от зависания программы и т.п. Оптопары служат для гальванической развязки пинов контроллера от внешних цепей, в принципе могут быть исключены, разве что подтягивающие резисторы следует оставить.
Итак, в сборке использованы следующие компоненты
Название |
Количество |
1 |
|
1 |
|
Микросхема КР1533ЛИ1 |
1 |
1 |
|
Механическая кнопка (встраиваемая) |
1 |
3 |
|
1 |
|
МОП-транзистор IRF840 |
1 |
11 |
|
Светодиод |
2 |
Резистор |
9 |
Диод |
1 |
Разъем для подключения блока питания |
1 |
Блок питания 12 В |
1 |
1 |
|
Реле давления (опционально) |
1 |
1 |
|
Реле коммутации насоса к сети 220В, управляемое постоянным напряжением 12В |
1 |
Некоторые компоненты могут заменены на более доступные или исключены полностью, устройство собиралось из имеющихся компонентов.
Принципиальная схема устройства приведена ниже.
Указания по подключению внешних устройств описаны в прилагаемых файлах.
Часть устройство А1.2 (см. принципиальную схему) собрана на другой плате, исходники не предоставлены. Черными линиями обозначены проводники.
Плата установлена в бокс для электрических аппаратов подходящего размера. Дислей и плата со светодиодами установлены не слишком технологично: бамбуковые шпажки приклеены к боксу на цианокрилат с содой, затем закреплено термоклеем. Основная плата крепится на кусочках дерева, приклееных к задней стенке.
Прошивка написана в Atom с установленным PlatformIO. Исходники опубликованы здесь, прочая документация и схемы. Интерфейс программы русскоязычный с некоторыми нюансами, так как дисплей не поддерживает кириллицу: 8 символов кириллицы загружаются из программы, оставшиеся заменены латинницей. Руководство по использованию есть в прилагаемых файлах. Для сборки нужно загрузить следующие библиотеки себе на компьютер: GyverEncoder, GyverButton, CyberLib, LiquidCrystal_I2C. Затем прописать в параметре lib_extra_dirs в файле platformio.ini путь к папке с библиотеками (можно изменить через менеджер проекта).
Несколько слов о структуре программы. Основной код написан в src\pump_station_console.cpp. Рабочия логика описана в классе PumpStation, теоретически можно релизовать управление несколькими станциями, применив несколько экземпляров класса. В классе InputF описаны статические методы для ввода информации: целые, вещественные числа, время, элемент списка.
Надеюсь кому-то проект окажется полезным. Не исключаю, что проект будет развиваться в рамках текущей задачи. Для себя я установил в корпусе RJ45 разъем, подключенные к RX, TX, RESET, +5V, GND пинам ардуины, чтобы загрузить обновление прошивки. Есть желание сделать плату с bluetooth модулем, чтобы подключать к RJ45 и загружать HEX-файл с андроид смартфона, есть в наличии два HC-05 модуля, но настроить его на загрузку не удалось. Буду признателен, если кто-то может поделиться опытом. Весь конструктив можете направлять вконтакт.
Ссылки
Комментарии (17)
zv347
09.01.2022 16:01+1Кажется, всё описанное в статье можно сделать чисто аналогово. В идеале, насосная станция ставится один раз, настраивается, дальше просто работает. Только воздух подкачивать иногда надо в гидроаккумулятор. Ей-богу, не представляю, зачем мне может понадобиться менять давление в водопроводе.
Полезной выглядит защита от сухого хода, когда вода закончилась или замерзла. Вот тут может пригодиться электроника — сравнивать расход воды на выходе из насоса с интегрированной по некоторому времени работой насоса, и если второе сильно больше первого — выключать, мигать лампочкой и звать на помощь.
Еще есть такая неочевидная опасность, как пониженное напряжение электричества. При 180 В вместо 220 насос не может создать требуемое давление, бесконечно крутится и перегревается. В принципе, то же самое решение кажется применимым и здесь.INSTE
09.01.2022 18:29+3Есть реле защиты от сухого хода, а также есть УЗМ с настраиваемыми порогами, который идеально защитит от пониженного напряжения.
fk01
09.01.2022 16:17+9Во-первых в схеме ни одного конденсатора. По крайней мере параллельно питанию МК и любой ИМС логики должен быть керамический конденсатор в 0.1uF и электролитический алюминиевый (или танталовый) в 10uF.
Для энкодера и кнопок нужны нагрузочные резисторы (а не weak pull up со стороны МК, т.к. контакты закислятся), чтоб ток достигал 10-20мА (либо искать энкодеры и кнопки с золочёными выводами). Для кнопок нужна какая-то защита от статического электричества (TVS-диод, или конденсатор на шасси/землю).
Выносной дисплей, подключаемый длинными проводами по последовательной шине требует хоть какого-то подобия согласованного волнового сопротивления кабеля, контроллера и дисплея. Иначе сигналы в кабеле будут "звенеть", что особенно критично для последовательной (SPI) шины, для тактового сигнала. Достаточно добавить последовательно резистор ~30-50ом. Хотя бы для сигнала SCK.
Ситуация, когда в схеме есть оптрон и его входы-выходы не гальванически изолированы выглядит абсолютно по-идиотски. Оптрон просто не нужен. Токовый вход можно сделать на паре резисторов и АЦП микроконтроллера. Но вообще все внешние соединения должны быть защищены от коротких замыканий (на землю, на питание), от статического электричества (конденсатором или TVS-диодом), от радиочастотной помехи (конденсатором). Поэтому типичное устройство входа -- резисторный делитель и параллельно конденсатор.
Входы логических ИМС нельзя подвешивать в воздухе. Неиспользуемые входы нужно подключать к "земле" или к питанию. Иначе такая ИМС может нагреваться и потреблять подвышенные токи.
По тем же причинам использовать входы логических ИМС следует только если ИМС, или соответствующий вход МК, является не просто логическим входом, но одновременно триггером шмитта. В данном случае подача каких-то условно половинных напряжений на логический вход прибора ведёт к открыванию оптрона наполовину и подвешиванию входа ИМС в неопределённом положении. И хуже того, тут присутствует обратная связь, когда такой сигнал доходит через транзистор до реле. Болтающийся в неопределённом положении вход будет приводить к постоянному переключению и нагреву транзистора, подгоранию контактов реле. Не сложно было сделать триггер на не используемых элементах ИМС.
Вход питания прибора неплохо бы защитить TVS-диодом (от переполюсовки, от перенапряжения).
Реле лучше было разместить на печатной плате прибора, т.к. сами контакты реле часто требуют защиты снаббером (RC-цепью), иначе контакты быстро сгорят, особенно если переключается индуктивная нагрузка.
Если реле всё же выносное, то следовало бы защитить выход от короткого замыкания. Вместо мосфет-транзистора применить схему ограничения тока на паре биполярных транзисторов. Или использовать интегральный smart switch с функцией защиты от КЗ.
Использование клемм под винт внутри прибора не оправдано. Дорого и сложный монтаж. Есть коннекторы под обжим или IDC ("накалываются" кабель), есть ленточный кабель...
order227
09.01.2022 22:43По крайней мере параллельно питанию МК и любой ИМС логики должен быть керамический конденсатор в 0.1uF и электролитический алюминиевый (или танталовый) в 10uF
А почему не 0.01 мкФ или не 1 мкФ? Так деды завещали? А зачем тантал/лит на каждой ИМС? Чем не угодила более надежная керамика, которая на 10 мкФ есть и стоит копейки, но при этом служить на порядки дольше? Вообще у вас очень странный power integrity на коленке...
Для кнопок нужна какая-то защита от статического электричества (TVS-диод, или конденсатор на шасси/землю)
Откуда там статика какая-то накопится что понадобится TVS диод? Да и внутри ИМС уже есть диоды. Лучше бы уж посоветовали реализовать аппаратную борьбу с механическим дребезгом, там как раз и конденсаторы пригодятся.
Вход питания прибора неплохо бы защитить TVS-диодом (от переполюсовки
Сам по себе TVS или диод от переполюсовки не спасет, к нему хотя бы предохранитель нужен. Иначе ну пробьет его и что дальше? Нагреется и сгорит. Самовосстанавливающийся предохранитель тут зайдет.
Использование клемм под винт внутри прибора не оправдано. Дорого и сложный монтаж
А цена так важна на штучном поделие?)
P.S. железо в статье дрянь конечно, но советы тоже не очень почти всеfk01
10.01.2022 00:55+2А почему не 0.01 мкФ или не 1 мкФ? Так деды завещали?
В значительной степени от балды (rule of thumb, эмпирическое правило), так рекомендуется в аппнотах, но есть нюансы. Это график импеданса керамического конденсатора в зависимости от частоты. График многие наверное видели: чем больше ёмкость, тем ниже пик резонанса, а в правой части, после резонанса, конденсаторы разной ёмкости практически совпадают. Хотя конденсаторы избыточно большой ёмкости как правило имеют значительную паразитную индуктивность, и на высоких частотах могут проигрывать конденсаторам мелкой ёмкости. В общем и целом, так получается, что для частот порядка десятков МГц 0.1мкФ подходит хорошо. Не факт, что 1 или 10мкФ будет работать хуже, просто они избыточны. А 10нФ будет работать хуже для низких частот, чем 0.1мкФ. Подчеркну, что нужно рассматривать не частоту с коротой работает схема, генератор например, а спектр частот образованный меандром. Типично ТТЛ-логика работает на частотах от сотен кГц до десятков МГц, соответственно спектр где-то на порядок шире.
А зачем тантал/лит на каждой ИМС?
Только один на плату или группу микросхем. Блокировочные конденсаторы связывают землю и питание для токов высокой частоты, но их ёмкости как раз может быть недостаточно чтоб питание не проваливалось. Кроме того, они выполняют вторую важную функцию: электролитический или танталовый конденсатор с высоким ESR препятствует возникновению колебаний в высокодобротном контуре образованном цепями питания и слишком хорошим (с низким сопротивлением) керамическим конденсатором. Последнее может проявляться либо если питание подключено длинным проводником и физически подразумевается отключение от источника питания (выключателем, разъёмом), либо если используется линейный стабилизатор не расчитанный на работу с керамическим конденсатором... Вызванный керамическим конденсатором скачок напряжения даже может пожечь логические ИМС.
Чем не угодила более надежная керамика, которая на 10 мкФ есть и стоит копейки, но при этом служить на порядки дольше?
Тем, что слишком хороша. В принципе большие керамические конденсаторы можно включить последовательно с резистором в доли ома и будет всё отлично.
Ещё есть нюанс, что эффективная ёмкость керамических конденсаторов зависит от напряжения, и для напряжений выше 5 вольт нужно уже задумываться о реальной ёмкости, сильно уступающей номинальной.
Откуда там статика какая-то накопится что понадобится TVS диод? Да и внутри ИМС уже есть диоды.
От человека. Который, например, наденет валенки и будет пять минуть бегать по ковру. А потом с разбега пальцем в кнопку ткнёт. Особенно зимой, когда воздух сухой.
На человеке в первом приближении будет 8кВ с ёмкостью порядка сотни пФ и через сопротивление в килоом.
Диоды внутри ИМС на такое не очень расчитаны, они больше от того, чтоб при монтаже микросхему не убили. Старые советские К176 вон в фольгу заворачивали, на специальном коврике с браслетом на руке паяли. А они дохли. А сейчас всё руками лапают -- и хоть бы хны. Вот от этого. Но когда уже искры летят -- не выдержат диоды. Подгорят и сам МК деградирует, вход начнёт или ток жрать, или ещё как-то подключивать. Приятного мало.
А да, при отсутствии блокировочного конденсатора ещё напряжение на шине в момент контакта подскочит, что-нибудь пробьёт, внутри КЗ (latch), а дальше собственный источник питания надёжно всё поджарит. Почему лучше иметь который с hiccup mode.
Сам по себе TVS или диод от переполюсовки не спасет, к нему хотя бы предохранитель нужен. Иначе ну пробьет его и что дальше? Нагреется и сгорит. Самовосстанавливающийся предохранитель тут зайдет.
Не зайдёт. TVS сгорает быстрей и самовосстанавливающегося, и невосстанавливающегося предохранителя... Расчёт на то, что либо источник питания имеет режим автоотключеня (hiccup), либо уж точно умеет ограничивать ток. И пользователь это заметит и переподключит как надо. Ну а если источник слишком мощный, то TVS расплавится и закоротит цепь. И по крайней мере прибор останется ремонтопригодным.
Если нужно, чтоб без ремонтов, то проще тупо включить последовательный диод, или мосфет в по схеме "идеального диода".
Для особо трудных случаев -- тиристор по схеме "crowbar circuit". Вот тогда можно и предохранитель последовательно включать.
Потенциально можно и варистор, но у него ВАХ слишком пологая, нужно иметь большой запас по напряжению.
> Использование клемм под винт внутри прибора не оправдано. Дорого и сложный монтаж
А цена так важна на штучном поделие?)
Цена может и не важна, а крутить 20 винтов отвёрткой очень утомительно. К тому же легко что-то перепутать и не так соединить.
order227
10.01.2022 11:11В общем и целом, так получается, что для частот порядка десятков МГц 0.1мкФ подходит хорошо
Это просто пару студентов в мануалах ti в бородатые годы поставили 0.1 мкФ и понеслось))
Не факт, что 1 или 10мкФ будет работать хуже, просто они избыточны
10 мкФ тут в принципе не нужен, особенно в виде тантала или электролита, особенно у каждой микросхемы. Просто советы конкретных номиналов это скорее вредительство, чем польза, если они ни чем не обоснованы.
А потом с разбега пальцем в кнопку ткнёт
.....и через варежки и пластик передаст накопленный заряд в электрические цепи?)) А есть вменяемый источник с описанием это проблемы и что она вообще существует?
Ещё есть нюанс, что эффективная ёмкость керамических конденсаторов зависит от напряжения
Не сколько от напряжения, сколько от размера корпуса. Ставишь 0805 и уже снижение емкости будет в районе 15-20% максимум на рабочем напряжение. Это вообще меньшее из зол на фоне высыхания электролита и повышенной чувствительности тантала к перенапряжению.
Но когда уже искры летят
Откуда на плате управления искры по цепям? Опять валенки что ли?
а дальше собственный источник питания надёжно всё поджарит
Да ладно, самые типовой IRM10 AC/DC имеет защиту по току. Сейчас источники питания уже порой умнее самой железки. Ну и от пожара как раз самовосстанавливающийся предохранитель неплохо спасает.
крутить 20 винтов отвёрткой очень утомительно. К тому же легко что-то перепутать и не так соединить.
Это железка в единичным экземпляре, но если вдруг и правда тяжело крутить, то есть же отвертки электрические. Прелесть этих терминалов, что они есть в любом захудалом магазине за копейки.
На счет перепутать... не надо путать :) С таким же успехом можно и компоненты перепутать, полярность там на танталах или диодах, поэтому с аргумент предлагаю не засчитывать :)fk01
10.01.2022 14:52Просто советы конкретных номиналов это скорее вредительство, чем польза, если они ни чем не обоснованы
Нужно же от чего-то отталкиваться. Порядок величин таков. Будь они больше или меньше на другой порядок -- не принципиально. С калькулятором расчитывать для конкретного случая нет смысла. Повторюсь -- это эмпирическое правило. Следование которому просто не думая убережёт от многих проблем. А не следование позволит сделать много новых открытий.
В соседнем треде другой автор жалуется, что у него серия ACT слишком быстрая и вызывает массовые глюки. Потому, что как раз на конденсаторах сэкономил. И в том случае да, конденсатор важен под каждой микросхемой (потому, что замыкает путь токов ВЧ, которые иначе начинают блуждать по огромной петле, создавать наводки, и просачиваются через все паразитные ёмкости.
10 мкФ тут в принципе не нужен
10 мкФ нужен для двух задач:
для снижения амплитуды колебаний в цепи питания: источник питания подключен относительно длинным проводником, обладающим далеко не нулевым импедансом, а потребление носит импульсный характер. Понятно, что речь в данном случае уже о более низких частотах, практически звуковых частотах.
для снижения добротности паразитного колебательного контура образованного индуктивностью проводников от платы до источника питания и слишком хорошим керамическим конденсатором.
через варежки и пластик передаст накопленный заряд в электрические цепи
Если никогда не приходилось копаться внутри советского чёрно-белого телевизора, где на открытом со всех сторон кенотроне было как раз порядка 8кВ, сообщаю, что такое напряжение прошивает сантиметры, и запросто через варежку, и даже через пластмассовую ручку отвёртки. Пластик кнопки прошьёт от пальца так же насквозь.
Сейчас очень много где в офисных помещениях зимой очень сухой воздух да ещё на полу ламинат или ковролин (хороший изолятор). Зимой бывает бьёт током от всего подряд, от дверных ручек, от столов, мышки и клавиатуры периодически виснут. Неужели не приходилось сталкиваться? Увлажнители нужны просто чтоб не получать регулярный электрошок. А прибор так или иначе связан с электрической сетью, которая так или иначе заземлена...
unsignedchar
10.01.2022 15:22+1Прибор скорее всего недалеко от насосной станции (трубы с холодной водой, конденсат, локальная сырость). Думаю, тут более актальна защита не от статики, а от влажности.
tnt23
10.01.2022 11:55Выносной дисплей, подключаемый длинными проводами по последовательной шине требует хоть какого-то подобия согласованного волнового сопротивления кабеля, контроллера и дисплея. Иначе сигналы в кабеле будут "звенеть", что особенно критично для последовательной (SPI) шины, для тактового сигнала. Достаточно добавить последовательно резистор ~30-50ом. Хотя бы для сигнала SCK.
У автора дисплей на I2C шине, что в целом не перечеркивает безусловно правильные соображения по длинным проводам, но и малость облегчает требования.
unsignedchar
09.01.2022 20:35+2Увы, оверинжениринг во всей красе. Бытовая насосная станция с реле давления и гидроаккумулятором - простое и надёжное устройство. А предложенная конструкция - нет.
order227
09.01.2022 23:00Да ладно, мы тут управление газовым котлом и лифтом на ардуино уже видели, поэтому насос это еще ничего :)
unsignedchar
10.01.2022 09:37Arduino - что с ним сделается. Тут больше вопросов к надёжности датчика давления.
INSTE
Не очень понятно что это и зачем это, если всю логику можно сделать на реле, тумблерах, лампочках и магнитных пускателях (и будет в разы надежнее). Можно привести яркий пример фичи, реализация которой упростилась?
fk01
В идеальном случае -- можно и будет лучше.
Но в реальном мире, о чём пишет zv347 ниже -- есть ряд аварийных ситуаций, которые могут быть распознаны контроллером и как-то обработаны. И распознавание которых в "аналоговом" виде оказыется слишком сложным.
Самое основное -- это таймаут. Очевидно, что если насос бесконечно работает, то что-то сломалось. Можно таймаут сделать на NE555 (1006ВИ1), но микроконтроллер сейчас применить проще и дешевле. Вдогонку, если всё делать на реле, то функцию таймаута можно сделать на позисторе, что кстати сделано в каждом втором холодильнике. Но для больших таймаутов нужна всё же электронная схема.
Может в логике управления нужно распознавать последовательности событий. Это значит несколько триггеров, или реле, и конечный автомат на них. Микроконтроллер опять же оказывается проще и дешевле.
Может быть нужно измерять аналоговые величины. Микроконтроллер уже имеет источник опорного напряжения и АЦП. Аналоговое решение (источник опорного напряжения, компараторы) может потребовать просто сразу больше микросхем и оказаться дороже.
Калибровка, подстройка. В аналоговом мире это переменные резисторы, которые не дёшевы, и со временем перестают работать и являются источником отказов. В микроконтроллере это просто отдельная подпрограмма которая что-то считает из EEPROM. Ничего не стоит и гораздо надёжнее.
Хотя у подходя с МК есть минусы, в основном это: 1) нужно программирование, в смысле и программист, и программирование програматором на производстве. 2) нужен источник питания МК и схемы согласующие внешние цепи с выводами МК (что для реле обычно не нужно), 3) нужна печатная плата (несложные схемы на реле и диодах можно выполнить навесным монтажом).
Хотя вообще я бы на месте автора начал не с изготовления прибора, а с разработки непротиворечивой схемы (графа) конечного автомата, реализующего логику прибора. Так как не сомневаюсь даже, что когда что-то разрабатывается "по наитию", в логике возникают значительные пробелы. А потом уже, имея формальное описание логической функции, которую должен реализовать прибор, можно думать о том, на какой элементной базе данную функцию можно реализовать. И может быть действительно, функцию прибора можно выразить конечным автоматом выполненном на трёх штуках сдвоенных реле и нескольких диодах.
INSTE
Таймаут — вещь сложная. А вдруг я бассейн наливаю или ванну на 500 литров? Каждый раз бегать и менять лимит?
Надежность китайского клона ардуины и релейборда с али не вызывает доверия в столь важной системе, в то время как разные реле можно купить в магазинах промышленной или полупромышленной электроники, и на них хотя бы будет гарантия.
Во всех домашних насосных станциях что я видел или делал достаточно было довольно примитивной релейной логики, не требовалось никаких датчиков с аналоговым сигналом или программирования. В насосных станциях уровня поселка или района города — дело другое, но туда нас и не пустят. :)
g000phy
то давление в гидробаке растет, растет нагрузка на насос и он отключится по тепловухе. Можно вывести лампочку аварии с NO контактов.
Также очевидно, что "бесконечно" ни насос, ни что другое работать не может. Но есть множество нетипичных ситуаций, когда насос должен работать долго: бассейн, полив огорода в засуху, промывка системы... Можно месяцами городить и отлаживать фичи в контроллере, а можно за пол часа поставить пускатель с тепловым реле и пользоваться.
iliar
Как человек имеющий дело со сложными релейными схемами скажу так. Всё зависит от сложности алгоритма. Если алгоритм управления это что-то простое. Типа "если одновременно выполняется эти условия и не чыполняются эти" и вся схема управления это пара реле, то да, реле проще и надёжнее.
Но вот как только схема управления хоть чуть чуть усложняется, то лучше МК. Релейные схемы позволяют реализовывать очень сложные штуки. Но в то же время их сложно отлаживать и главное у тебя нет права на ошибку. Если ошибку в ПО можно исправить просто перепрошивкой, то ошибку в релейной схеме малой кровью обычно не решить.