Вежливая подсветка на микроконтроллере ATtiny13

На микроконтроллере

Наверное многие видели, как включается и выключается салонный свет в иномарках… Плавно, красиво… Теперь и мы такое можем сделать! А мы это сделаем на микропроцессоре ATtiny13, просто, доступно и со вкусом.:)  Идея, или что должно уметь устройство.

  1. при открытии двери свет в салоне плавно загорается;
  2. при закрытии двери свет плавно гаснет через 10 сек (по умолчанию), если двигатель не работает;
  3. при закрытии двери свет плавно гаснет без задержки, если двигатель работает;
  4. при закрытой двери и горящем освещении, после завода двигателя освещение плавно погаснет не дожидаясь 10 сек.;
  5. при оставленной открытой двери освещение будет автоматически погашено по истечении 10 мин после открытия двери;
  6. возможность программирования паузы от 0 до 60 сек с шагом 5 сек.;
  7. возможность программирования уровня чувствительности для игнорирования паузы после завода двигателя (6 уровней).

Схема.
Вежливая подсветка на микроконтроллере ATtiny13

Во главе сего дэвайса супер мощный «процессор» ATtiny13. В качестве управляющего транзистора выбран N-канальный 60T03H (AP60T03H, SSM60T03H, и т.д.) в корпусе TO-252. Выбор пал на него, т.к. такие легко достать со старых материнок, которых у меня накопилось предостаточно…
Вежливая подсветка на микроконтроллере ATtiny13

Как видно, плотность монтажа приличная, но изготовить её в домашних условиях не составит труда. Приступим!

Вежливая подсветка на микроконтроллере ATtiny13
Печатаем,
Вежливая подсветка на микроконтроллере ATtiny13
Переносим на фольгу,

WER (6)
Травим,
WER (7)
Собираем!

Прошивка.

Теперь пора подумать о прошивке. Писал я её почти пол года, правда с перерывом в 5,9 месяца… Короче с первого раза не пошла, потом не было времени, и вот я добрался до неё!

Тинька работает на частоте 9,6 МГц, ШИМ в режиме Top=FFh, т.е. частота на выходе ШИМа = 9600 кГц / 255 = 37,64 кГц. Вход от концевика дверей и кнопка работает по прерываниям, что позволяет вгонять МК в спячку для экономии электроэнергии. Заведён двигатель или нет определяем с помощью АЦП подключенного через делитель прямо на вход питания.

Больше писать не вижу смысла — кому надо, тот разберётся по исходникам, кому оно не надо — тупо шьёт и читает как оно работает…

· Прошивка v0.4 ·

dimmer1— Flash + eeprom Автодиммер
dimmer_flash2 — Отдельно Flash для Автодиммера.
dimmer_eeprom3 — Отдельно EEPROM для Автодиммера.
firmware_v0.5-4 — Исходники прошивки для Автодиммера (CodeVisionAVR)
pcb1 — Печатная плата в формате Sprint-Layout 5.0(83.86 КБ)

Flash + eeprom — это для тех, кто шьёт PonyProg`ом. Открыл файл, прошил и всё готово. Отдельно флэш и еепром — для остальных программаторов, где нужны отдельно файлы прошивки и данных…

FUSES:
Вежливая подсветка на микроконтроллере ATtiny13
Как это работает.

Собрали, прошили, теперь разберёмся, как это устройство подключить, и как оно функционирует. Подключить можно двумя способами — без вмешательства в плафон и с некоторыми переделками плафона (если это возможно).

Вариант 1. Без вмешательства в плафон. При таком подключении плавное включение/выключение работает только при работе плафона от концевика двери, также фонкция выключения света при работе дольше 10 минут не будет работать при включении света на постоянно.

Вежливая подсветка на микроконтроллере ATtiny13

Вариант 2. С переделками плафона. Тут устройство подключается после переключателя в плафоне, что позволяет управлять лампой не только от концевика, но и при включении лампы «постоянно».

Вежливая подсветка на микроконтроллере ATtiny13

У меня подключено по второй схеме, но вмешательство было не в плафон, а в «лампу»:

WER (11)

подпаиваем «лапки»

WER (12)

монтируем на лампу

Вежливая подсветка на микроконтроллере ATtiny13

хвост — земля

Всё! наше устройство уже должно работать! Открываем дверь и лампочка плавно загорается, закрываем дверь и лампочка через 10 секунд плавно гаснет. Если двигатель заведён, то при закрытии двери лампочка плавно гаснет сразу же!

Если не нравится длительность задержки, то её можно поменять. Для этого при открытой двери (когда лампа полностью загорелась) нажимаем кратковременно кнопочку. Лампочка начнёт мигать. Длительность задержки зависит от количества морганий (выключений) — каждое моргание, кроме первого = 5 сек. То есть:

1 моргание — нет задержки
2 моргания — 5 секунд (по умолчанию)
3 моргания — 10 секунд

13 морганий — 60 секунд (максимум), далее идёт одно моргание.

Таким же образом регулируется чувствительность входа по определению заведённого двигателя. Для этого при закрытой двери (лампа полностью выключена) нажимаем кратковременно кнопочку. Лампа начнёт вспыхивать. Количество вспышек соответствует чувствительности:

1 вспышка — минимум (~12,5В)
2 вспышки — (~12,8В) — по умолчанию

7 вспышек — (~14,5В), далее опять одна вспышка.

Вот собственно и всё!

Оцените статью