Долго ли, коротко ли делался светильник Чародея, про то нам не ведомо (долго он, делался, долго). Супостаты проклятые, прозываемые багами, лезли со всех щелей, как тараканы, бегущие от наркоманов, нюхающих дихлофос этажом ниже. В итоге определился основной круг проблем, которые пришлось решать самыми радикальными способами.
- Кривой датчик приближения (описанный самим "гуру" электроники/сантехники и высоких искусств Угадайте-кем). Простота конструкции определила и ее недостатки. На отснятом видео было заметно, как подключенный к датчику светодиод мерцает при его срабатывании — так происходило из-за того, что датчик реагирует не на приближение человека как такового, а на наводки от электросети, присутствующие в его теле. Для какого-нибудь реле это совершенно незаметные перепады, а вот микроконтроллер оказался штукой ответственной, и воспринимал их то как дикий дребезг, то как сигнал к включению-выключению. 50 раз в секунду. Из-за такой частоты "дребезга" победить его оказалось довольно сложно. В результате программа разрослась в размерах, перестав помещаться в памяти контроллера.
- Использование внутреннего генератора, превращающего попытки отладить программу на 675-й пик в массовое уничтожение контроллеров (в протеусе отладка тоже оказалась невозможна — он просто зависал от частоты переключения выходов).
В конце концов попытки наладить процесс включения и не угробить очередную микросхему меня достали, и концепция светильника была в корне пересмотрена:
- Переход на использование внешнего кварца. В первую очередь позволит избавиться от заметного краем глаза мерцания, т.к. частота не будет ограничена 4 МГц;
- Использование одноцветных светодиодов. Жалко, конечно, отходить от использования RGB, но это позволит позволит сэкономить два вывода контроллера, столь необходимые после подключения кварца;
- Отказ от кривого датчика. Переход на более стабильный датчик освещения, который можно собрать даже на светодиоде (а АЦП микроконтроллера компенсирует его низкую чувствительность).
На данный момент переосмыслен алгоритм срабатывания, разработана новая плата. Возможно, добавится кнопка для ручного включения/выключения в случае, если фотореле вдруг даст сбой.








Обсуждение закрыто.