Принимайте очередную поделку. Благо, карантин
Лет 5 назад хотел поставить датчик света (далее ДС), искал готовое решение, но не нашел.
Требование было таким:
- задавать порог кнопкой. Именно кнопкой! Это дает возможность оперативно перенастраивать порог, без всяких подстроечных резисторов;
- гистерезис и фильтрация световых помех;
- презентабельный компактный корпус — это тоже оочень важно! Т.к. проект задумывался как коммерческий с минимальными затратами на корпуса всякие;
- все должно быть в одном корпусе (датчик света, плата управления, кнопка) — это принципиально, т.к. будет крепиться на лобовуху скотчем 3М;
- подключаться штатной проводке или непосредственно к управляющим реле в моторном отсеке.
Было очень много ревизий и прошивок, и схем - и каждая из них с разными косяками. В голове алгоритм был, витали куски кода, но все собрать воедино как-то не получалось.
И в одно прекрасное утро всё сложилось:
- ультракомпактный размер;
- плата управления и кнопка размещены в одном корпусе;
- подключается параллельно штатной проводке (управляет штатным выключателем);
- имеется возможность подключать непосредственно к штатным реле габаритов и ближнего света фар;
- 2 независимых выходных канала;
- имеет программную фильтрацию помех и гистерезис - вот тут пришлось попотеть!
Используется:
- attiny85;
- сдвоенный Н-канальный мосфет в корпусе soic8;
- кнопка с интегрированным LED;
- фоторезистор;
- пр.обвязка;
- установка порога включения - зажимаем кнопку и удерживаем в теч.2сек, пока LED не мигнет 1 раз. Затем отпускаем и все, уровень освещенности сохранен в EEPROM;
- LED мигает (авто режим) - режим работы/измерения уровня освещенности;
- LED потух (авто режим) - область гистерезиса. Это значит совсем скоро свет включится --> Внутри МК идут нешуточные воины - гистерезис и фильтрация. Как только будет время, добавлю визуализацию в виде частого мигания оного;
- LED горит постоянно - свет включился, выходные каналы активны;
- принудительное включение/выключение света (Ручной режим) - короткое нажатие включает/выключает независимо от уровня освещенности. Этот режим также сопровождается включением/выключением LED.
- 1. Состояние нагрузок в Ручном режиме не сохраняется в EEPROM.
2. Реакция включения/выключения - 2сек.
3. Чаще всего штатный выключатель габаритов и ближнего света (БС) управляются минусом. Цепляем выходы мосфетов параллельно штатному выключателю.
4. Есть модели, где габариты и БС управляются слаботочным плюсом. В таком случае, подключаем выходы мосфетов к управляющим штатным реле. Они чаще всего управляются минусом.
Кстати, если мне не изменяет память, на Тииде габариты и дальний свет управляется слаботочным плюсом (АЦП), а вот ближний и ПТФ - слаботочным минусом.
Зачем производители так сделали, не понял. Логичней было бы габариты и ближний посадить на "плюс" или на минус. Ай да ладно. На их совесть.
Цепляли к штатным реле в моторном отсеке. Они управляются слаботочным минусом. Чаще всего встречается именно такой расклад. Редкие случаи, - Судзуки и Тойоты нач.2000ых.
На Тииде ставили прошлой весной. Полет нормальный.
А вот то же самое в детской. Запитал LED-подсветку.
Кстати, для умощнения выходные каскады можно запараллелить.
Качаем отсюда