Зависает Arduino UNO при запуске моторов 5V через реле

Доброго времени суток. Прошу совета

Делаю систему, которая поливает растения по расписанию. Общий список устройств в проекте: Ардуино УНО, 8ми канальное реле, 3 насоса, светодиодная панель, вентилятор 92x92 мм, RGB светодиод, генератор тумана, OLED экран, часы ds3231, датчик влажности, ультразвуковой датчик расстояния, кнопка, переменный резистор, блок питания 12V, 3 A, блок питания 24V 1A

В проблеме участвуют:

• Arduino UNO

• Насосы для полива(В проекте одновременно не включаются) DS766

• Электромагнитное реле на 8 каналов

Суть проблемы: Проект работает таким образом, что каждый день в определённое время (определяется через ds3231) с помощью реле включаются насосы для полива на несколько секунд (меньше минуты). В большинстве случаев, как только включается насос, почти сразу, как я понимаю – зависает Ардуино, код перестаёт выполнятся и насос продолжает работать до принудительного перезапуска микроконтроллера. Иногда такого сбоя не возникает и насос благополучно выключается и код продолжает выполняться. По такому же принципу включается светодиодная панель от того же блока питания через реле – всегда работает корректно (Ранее в проекте только свет включался каждый день в определённое время на несколько часов – за пару месяцев ни разу контроллер не зависал)

Как подключено: Ардуино питается от 12V БП через Vin, насосы включаются через реле по сигналу от Ардуино. Питание к насосам подведено от 5V пина Ардуино (Примерная схема на скриншоте). Земля у всех компонентов соединена

Что пробовал сделать:

• Подводил отдельное питание к насосам от второго блока питания(на 5V).

• Между VCC и землей насоса установил диод 1N4007(скриншот)

• Между 5V и землёй Ардуино ставил электролитический конденсатор на 470 uF и параллельно керамический конденсатор на 0.1 uF

• Как эксперимент - просто включал насос через delay через реле и зависаний не было


Из наблюдений – если подавать 12 V через Vin и когда бесконечно начинает работать зависший насос, то начинает очень сильно греться стабилизатор на Ардуино. Если подавать меньше напряжение, например 7V, то такого сильного нагрева не было. И если просто включить насос от 5V ардуино и оставить минут на 5 – нагревание сбализатора было небольшим за всё время.

Очень рад буду любым советам. Заранее спасибо

Зависает Arduino UNO при запуске моторов 5V через реле Arduino, Relay, Нужен совет

Arduino & Pi

1.4K постов20.6K подписчик

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу