Главная » Электроника для авто
Призовой фонд
на сентябрь 2017 г.
1. 1000 руб
PCBWay
2. Осциллограф DSO138
Паяльник
3. Тестер компонентов MG328
Паяльник
4. 100 руб.
От пользователей

Автомобильный контроллер подсветки приборной панели

Представляю проект контроллера для управления подсветкой приборной панели в автомобиле. Контроллер имеет следующие функции:

  • 1 одноцветный канал для подсветки шкал приборной панели
  • 1 RGB канал с общим анодом для подсветки стрелок приборной панели
  • Плавный, двухступенчатый розжиг стрелок и шкал
  • Регулировка яркости подсветки шкал (25 уровней)
  • Регулировка цвета подсветки стрелок (150 цветов)
  • Сохранение значений яркости в энергонезависимую память микроконтроллера
  • Управление яркостью и цветом подсветки с помощью энкодера с кнопкой
  • Максимальный ток для подсветки шкал 0,5 А
  • Максимальный ток для каждого из RGB каналов 0,5 А
  • Максимальное напряжение питания 15 В

Алгоритм работы контроллера

После подачи питания сразу начинается плавный розжиг подсветки шкал на максимальную яркость. За ней начинается плавный розжиг подсветки стрелок, цвет стрелок при первом запуске красный., при последующих – последний сохраненный. После розжига стрелок идет затухание подсветки шкал до последнего сохраненного уровня. Во время работы контроллера, вращением энкодера, регулируется яркость подсветки шкал или цвет стрелок. Нажатием на кнопку энкодера переключается регулируемый канал. При переключении каналов регулировки выбранный канал моргает два раза. Если выбрана регулировка цвета стрелок, и приблизительно две секунды никаких действий не выполнялось - то контроллер автоматически возвращается к регулировке яркости шкал, которые при этом моргнут один раз. Через приблизительно 4 секунды бездействия, после каких либо изменений яркости или цвета, контроллер сохраняет настройки в энергонезависимую память, которая сохраняет настройки даже при снятии АКБ с автомобиля.

Схема автомобильного контроллера подсветки приборной панели на AVR-микроконтроллере

Сердцем устройства является микроконтроллер Atmega48 в корпусе TQFP32. Питается микроконтроллер от линейного стабилизатора напряжения AMS1117 на 5 V. В качестве силовых ключей применена сборка транзисторных пар дарлингтона ULN2003. Выводы микроконтроллера, подключенные к энкодеру, подтянуты к VCC резисторами 10 кОм. Вывод Reset также подтянут к VCC резистором 10 кОм. Конденсаторы на схеме - стандартная обвязка микроконтроллера и стабилизатора.

Плата энкодера имеет, кроме самого энкодера, два антидребезговых конденсатора 0,33 мкФ. Конденсаторы можно и не ставить, ибо энкодер опрашивается с частотой 4 кГц и чувствительность к дребезгу маловероятна.

Фьюзы оставляем по умолчанию, надо лишь выключить предделитель тактовой частоты и включить монитор напряжения на 4,7 В. Скрин фьюзов для Khazama:

После прошивки и установки фьюзов- нужно зашить файл EEPROM (в папке с прошивкой с расширением .eep).

Печатная плата выполнена на одностороннем текстолите, минимальная толщина дорожек- 0,3мм.

Печатная плата

В архиве есть печатные платы в программах Sprint Layout 6.0 и Eagle 6.1 (для Eagle перед печатью необходимо залить полигон инструментом ratsnest). Так же имеются исходники для Atmel Studio 6.2.

Обновление от 20.05.2014:

1. Теперь прошивать файл EEPROM не надо, переменные инициализируются и берут значения в процессе первого запуска устройства.

2. Немного поправлены эффекты при переключении канала регулировки. Теперь шкалы моргают даже при нулевой яркости.

3. Добавлена возможность настройки яркости стрелок. Настроить яркость можно, если держать нажатой кнопку во время включения зажигания и отпустить, когда стрелки загорятся. При этом контроллер войдет в режим настройки яркости энкодером. После выбора необходимой яркости нужно нажать на кнопку, яркость сохранится и контроллер выйдет на рабочий режим, сбросив настройки цвета стрелок. Минимальная яркость ограничена, полностью погасить подсветку стрелок не получится.

4. Раньше при розжиге немного засвечивались неактивные каналы RGB. Сейчас этот недостаток устранен.

Обновленная прошивка находится во втором прикрепленном файле.

Обсудить контроллер можно на форуме

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 Линейный регулятор
AMS1117-5.0
1 Поиск в LCSCВ блокнот
IC1 МК AVR 8-бит
ATmega48A
1 TQFP32Поиск в LCSCВ блокнот
IC2 Составной транзистор
ULN2003
1 SOICПоиск в LCSCВ блокнот
C1, C3 Конденсатор0.1 мкФ2 SMD 0805Поиск в LCSCВ блокнот
C2 Электролитический конденсатор4.7 мкФ1 Tantal AПоиск в LCSCВ блокнот
R1-R4 Резистор
10 кОм
4 SMD 0805Поиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 20.05.2014 0 4
Я собрал 0 3
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.5 Проголосовало: 3 чел.

Комментарии (29) | Я собрал (0) | Подписаться

0
Артем #
Почему решил делать именно на этом МК?
Ответить
0

[Автор]
serenbkii #
У меня их вагон и маленькая тележка, у него есть 6 ШИМ каналов, много свободной памяти и ног. Он очень дешевый и распространный. Сначала планировал сделать ещё RGB канал на подсветку ног, потом передумал. В общем есть куда расширять функционал. Для меня данный микроконтроллер оптимальный выбор.
Ответить
0
андрей #
А нельзя ли сделать, чтобы с увеличением скорости, изменялся цвет? Например с белого фона в ярко красный на скорости выше 100км/час
Ответить
0

[Автор]
serenbkii #
Сделать можно, но под конкретную модель автомобиля, ибо количество импульсов на километр в час, у разных авто, может отличаться. А данный контроллер позиционировался как универсальный.
Ответить
0
Andrnet #
А на Mega8 не можешь перекомпилить?
Ответить
0

[Автор]
serenbkii #
На восьмой меге аппаратных ШИМов не хватит. Придется серъезно переделывать программу.
Ответить
0
Goodefine #
Не хватает пресетов, дневной, ночной, персонализации и т.д.
Ответить
0

[Автор]
serenbkii #
Организовать можно, но будет тяжело создать удобный и интуитивно понятный пользовательский интефейс, если только дополнительные кнопки на пресеты добавить. День/ночь тоже непонятно как отслеживать.
Ответить
0
Hamorsh #
День/ночь - габариты.
Ответить
0

[Автор]
serenbkii #
В соответствии с ПДД у меня включен ближний свет независимо от времени суток. И так у подавляющего большинства людей. К сожалению, ДХО не у всех есть.
Ответить
0
Андрей #
Примерно 6 импульсов на метр
Ответить
0
Fada #
Вот чего действительно не хватает - так это датчика освещения, раз выставил яркость и забыл, иногда он был бы полезен и на авто бизнес класса, а то достает тыкать пальцем в дашборд
Ответить
0

[Автор]
serenbkii #
Спасибо за идею. Возможно добавлю. Правда сложностей будет много с ним. Не в плане разработки, а в плане повторения.
Ответить
0
Дмитрий #
Думаю для отслеживания день\ночь подойдёт любой инфракрасный светодиод включённый в обратном направлении (читаем фотогальванику) кидаем его мизерные токи на ОУ (желательно райл ту райл) ток->напряжение (тут ставим подстроечные резисторы многооборотные 2шт на + ОУ и на ООС) с выхода ОУ фильтр и можно кидать в ацп. так как нужна не градация а вкл выкл, то логируем показания с ацп и выставляем порог. для "отучения реагировать на дальний свет и засветки" - циклами читаем ацп 10 раз, суммируем всё это и делим на 10 (по научному усредняем) если предыдущие 3 усреднения в течении минуты(или чего-нибудь другого) не превышали порога, то считаем засветку глюком и не изменяя режим (день\ночь) пишем всё дальше. Правда тут есть момент - если время отлова засветов или кол-во усреднений уменьшать, то каждый проезжающий дальняк будет для МК означать смену режима, панацея -> прячем наше фоточувствительное что-то сфокусировавшись вверх..
Ответить
0
Вася #
Вот объясните мне дураку как 6кб прошивку в 4кб микруху Вы умудряетесь засунуть?
Ответить
0

[Автор]
serenbkii #
Такова структура hex файлов прошивки, делите 6кб на 2.
Ответить
0
Вася #
Протеус всё отлично симулирует, кроме ШИМ RGB...
Ответить
0

[Автор]
serenbkii #
Протеус не умеет симулировать ШИМ. Можно попробовать извратиться и поставить около светодиодов сглаживающий RC фильтр. Или посмотреть на сигнал виртуальным осциллографом.
Ответить
0
Дмитрий #
Какой энкодер вы применяли?
Ответить
0

[Автор]
serenbkii #
Не помню названия, что- то типа PEC-12.
Ответить
0
Max #
А кто может дать фьюзы для cvavr или ponyprog, а то в khazama не совсем понятно
Ответить
0
boba #
RGB на шкалы можно подключить? Немного не понял яркость RGB регулируются?
Ответить
0

[Автор]
serenbkii #
Яркость rgb динамически не регулируется. Можно поменять яркость при включении, при этом цвет сбросится на красный. Отсюда и ограничения на установку rgb шкал. Если не напрягает, то можно сделать rgb шкалы, а стрелки сделать одноцветными.
Отредактирован 14.03.2016 17:02
Ответить
0
Фомин Юрий Константинович #
А можно ли в этой конструкции использовать Atmega8, без переделки прошивки?
Ответить
0

[Автор]
serenbkii #
Нет.
Ответить
0
Володимир #
Можно использовать 48 в дип корпусе
Ответить
0
Фомин Юрий Константинович #
Сделал в дипе, только ноги поменялись, работает хорошо, спасибо Автору!
Ответить
0
Фомин Юрий Константинович #
А можно прошивку поправить, чтобы канал стрелок был такой же как и канал шкалы, чистый цвет с регулировкой яркости? Спасибо заранее!
Ответить
0

[Автор]
serenbkii #
Сделать можно, только атмега48 жирновата для такого. К сожалению, сейчас не могу этого сделать. Исходник есть- переделайте сами.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

ELM327 OBD II — адаптер с поддержкой CAN
ELM327 OBD II — адаптер с поддержкой CAN
Набор для сборки - УНЧ 2х60 Вт на TDA7294 Лазерный модуль 650нм 5мВт
вверх