Автодіммер або - ввічлива підсвітка - на attiny13

Напевно багато хто бачив, як вмикається і вимикається салонний світло в іномарках. Плавно, красиво. Тепер і ми таке можемо зробити!

Ідея, або що має вміти пристрій.
  • при відкритті дверей світло в салоні плавно загоряється;
  • при закритті дверей світло плавно гасне через 10 сек (за замовчуванням), якщо двигун не працює;
  • при закритті дверей світло плавно гасне без затримки, якщо двигун працює;
  • при закритих дверях і палаючому освітленні, після заводу двигуна освітлення плавно згасне не чекаючи 10 сек .;
  • при залишеної відкритих дверей освітлення буде автоматично погашено після закінчення 10 хв після відкриття дверей;
  • можливість програмування паузи від 0 до 60 сек з кроком 5 сек .;
  • можливість програмування рівня чутливості для ігнорування паузи після заводу двигуна (6 рівнів).

Схема.

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

Як видно, щільність монтажу пристойна, але виготовити її в домашніх умовах не складе труднощів. Приступимо!

Тепер пора подумати про прошивці. Писав я її майже пів року, правда з перервою в 5,9 місяці. Коротше з першого разу не пішла, потім не було часу, і ось я добрався до неї!

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

Більше писати не бачу сенсу - кому треба, той розбереться з ісходникам (викладу трохи пізніше, за посиланням нічого не скочується), кому воно не треба - тупо шиє і читає як воно працює.

Flash + eeprom - це для тих, хто шиє PonyProg`ом. Відкрив файл, прошив і все готово. Окремо флеш і еепрому - для інших программаторов, де потрібні окремо файли прошивки і даних.

Зібрали, прошили, тепер розберемося, як це пристрій підключити, і як воно функціонує.

Підключити можна двома способами - без втручання в плафон і з деякими переробками плафона (якщо це можливо).

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

Варіант 2. З переробками плафона. Тут пристрій підключається після перемикача в плафоні, що дозволяє управляти лампою не тільки від концевика, але і при включенні лампи "постійно".

У мене підключено за другою схемою, але втручання було не в плафон, а в "лампу":

Усе! наше пристрій вже має працювати! Відкриваємо двері і лампочка плавно загоряється, закриваємо двері і лампочка через 10 секунд плавно гасне. Якщо двигун заведений, то при закритті дверей лампочка плавно гасне відразу ж!

Якщо не подобається тривалість затримки, то її можна поміняти. Для цього при відкритих дверях (коли лампа повністю загорілася) натискаємо короткочасно кнопочку. Лампочка почне блимати. Тривалість затримки залежить від кількості моргань (виключень) - кожне моргання, крім першого = 5 сек. Тобто:
  • 1 моргання - немає затримки
  • 2 моргання - 5 секунд (за замовчуванням)
  • 3 моргання - 10 секунд
  • .
  • 13 моргань - 60 секунд (максимум), далі йде одне моргання.

Натиснули, дочекалися поки "прогавив", порахували кількість і вирахували "час", якщо треба додати, то натискаємо ще раз - буде на 1 моргання більше. І так до 13 разів, потім знову одне моргання. Таким же чином регулюється чутливість входу по визначенню заведеної двигуна. Для цього при закритих дверях (лампа повністю виключена) натискаємо короткочасно кнопочку. Лампа почне спалахувати. Кількість спалахів відповідає чутливості:
  • 1 спалах - мінімум (
12,8В) - за замовчуванням
  • .
  • 7 спалахів - (

    14,5В), далі знову один спалах.


  • Ось власне і все!