Когда то пришлось столкнуться со сбоем в работе платы реле – причины которого в начале казались не очевидны.
Однажды на Ali, не глядя, была приобретена одна из самых дешёвых плат реле, без оптической развязки. После соединения с Arduino, понял, что она с логикой срабатывания от нулевого сигнала. Сделал где нужно инверсию. Питание платы Arduino сначала было от +7V. Плату реле запитал от стороннего нестабилизированного 5 вольтового источника, что бы не нагружать внутренний стабилизатор Arduino. Вроде всё на макете сначала заработало.
При прогонке в различных режимах вдруг обнаружил, что реле могут «самопроизвольно» включаться – хотя казалось бы логического нуля, для этого, от Arduino не поступало.
При анализе обнаружилось в чём хрень. Если питание платы реле, по какой то причине повышалось выше 5,6V, а у Arduino оставалось стабильное внутренне питание 5V – реле начинали включаться самопроизвольно. Такой же эффект мог происходить если на плату реле поступало чуть выше 5V, а сама Arduino запитывалось от USB (с просадкой питания по USB до 4,5V)
Всё дело в том, что если разница в питающих напряжениях плат начинала превышать 0,6 V (при превышении питания платы реле над внутренним напряжением Arduino), то даже при логической единице, поступающей из Arduino, на входе p-n-p транзистора платы реле, образовывалась разница напряжений – достаточная для самопроизвольного включения реле.
Вывод стандартный – никогда не связывайтесь с платами реле по управлению от нулевого сигнала, особенно если они без оптронной развязки. По возможности переделывайте их, заменяя транзисторы на n-p-n. Тогда будет возможность без проблем питать обе платы от одного не особо стабилизированного источника около 7-8V. В этом случае, если для питания платы реле нет под рукой лишнего пятивольтового стабилизатора LM, можно на крайний случай и снизить питание реле через гасящий резистор.