Ко мне обратились с просьбой разработать и изготовить недорогой модуль управления динамической подсветкой приборной панели, управляемый сигналами с тахометра (спидометра).
Алгоритм работы устройства должен был заключаться в динамическом изменении цвета RGB светодиодов при изменении частоты входных сигналов с датчика оборотов двигателя или датчика скорости автомобиля.
Подобные устройства на просторах инета мне попадались, и как правило, они были выполнены на основе МК ATmega8а или ATtiny2313.
Ну что же, первым делом надо определится с цветовой палитрой, которую необходимо привязать к оборотам двигателя или скорости автомобиля. В инете есть различные онлайн – конверторы RGB сигналов в HEX – формат. Один из них https://www.rapidtables.com/convert/color/rgb-to-hex.html мной и был использован для формирования нужной палитры.
Поигравшись с цветами в этой программе, я составил графики, на мой взгляд, вполне гармонично переходящей зависимости цветовой палитры для двух (RG) и трех каналов (RGB) цветов от частоты входных сигналов.
Двухканальный используется для палитры с переходом «зеленый-желтый-красный», трехканальный для перехода «белый - желтый- красный».
Из представленных графиков видно, что для решения поставленной задачи, достаточно использовать только два выходных ШИМ канала. Сигнал на «красный» канал RGB ленты, в случае использования палитры цветов «белый - желтый- красный», должен поступать постоянно, поэтому на него мы подаем сигнал от источника питания.
Разумеется, можно поиграться с линейностью изменяемой скважности сигналов, представленных на графиках, и даже поменять или добавить цвета, например, в двухканальном варианте, добавить немного «синего» цвета или же вообще заменить им «зеленый». В конверторе RGB сигналов это можно легко сделать и подобрать для себя нужную палитру.
При выборе микроконтроллера способного выполнить эту задачу, использование МК ATmega8a для столь простой задачи я посчитал излишеством, и решил использовать дешевый и компактный МК ATtiny13a. Популярность и доступность этого прибора остается на высоте, а требуемые для управления RGB светодиодами два ШИМ-канала в этом МК как раз имеются. Итак, останавливаем свой выбор на МК ATtiny13a.
Схема устройства представлена выше и состоит из следующих основных узлов:
- питания и стабилизации;
- преобразователей-формирователей входных сигналов;
- микроконтроллера и выходных ключей.
Частота импульсов зажигания четырехтактного бензинового двигателя определяется по формуле: f = 2n/60, где n — число оборотов в минуту вала двигателя. То есть при вращении коленчатого вала с частотой 3000 оборотов в минуту частота импульсов зажигания будет составлять 100 Гц.
Подсчет количества входных импульсов за определенный отрезок времени мы будем выполнять программным путем.
При включении ближнего света фар, то есть в режиме «притухание», для снижения яркости светодиодов скважность выходных импульсов ШИМ будет снижена на величину, заданную пользователем. По умолчанию - 50%.
Установкой перемычки Х1 можно выбрать сигнал от спидометра.
Файлы прошивки можно скачать здесь