Делаю светильник со светодиодными плашками, пультом и таким блоком питания. Всё работает как задумано, но иногда, через произвольный промежуток времени после включения питания, светильник перестаёт реагировать на пульт. При этом: отключить и подключить обратно ик-приёмник не помогает; reset не помогает; физически отключить питание Iskra (не всего светильника) помогает; наощупь Iskra не греется. В чём может быть дело? Если нужно, код тут.
Особых расчетов нет: основной потребитель тут плашки, это 1,2А, блок питания с запасом - 2А. Схема и сборка тоже примитивные: у плашек есть коннектор с 3 контактами и отдельно 2 провода для питания. Они запитываются от БП проводами, Iskra запитывается с коннектора (vin и gnd), на него же подаёт сигнал с A7. Troyka IR висит на B1, питается с 3v3.
С фото сложно - оно запихано в такую штуку, извлечь оттуда можно только Искру, тк она цепляется к коннектору проводами мама-папа, чтобы можно было обновлять программу. Сфотографировать снаружи или изнутри тоже проблематично. Провода где-то 20 см, плюс-минус. Если считать сегменты БП-плашки и плашки-Искра, выйдет 40-50 см. Ещё столько же до ик-приёмника. Могу ошибаться, но если бы дело было в этом, проблемы бы возникали не под нагрузкой? Сейчас перестаёт реагировать после простоя без нагрузки.
Такого рода проблемы это обычно следствие сборки - индуктивность линий, плохие контакты, радиочастотные помехи. Но каких-то явных промахов я тут не вижу. И код, вроде бы, адекватный.
Спасибо за диагностику) может найдётся кто-то, кто это уже ловил и смог исправить. Сначала была проблема, когда я оставил дебажный console.log, оказалось он без usb что-то не то делает, но вроде везде его почистил.
Проработала с вечера субботы до утра понедельника без зависаний. Спасибо, похоже, дело в deep sleep. В принципе, и без него жить можно, но интересно узнать. Из-за ухода в сон ломается SPI-соединение с плашками, не доходят прерывания от ИК, или что-то ещё? Почему reset не помогает, а снятие питания с искры (на плашках остаётся) помогает?