Андрей Смирнов
Время чтения: ~5 мин.
Просмотров: 0

Как сделать светодиодный фонарь своими руками?

Сборка фонарика

Когда плата была готова и прошивка была залита, можно было наконец ставить ее на место старого драйвера. Я выпаял старый драйвер и припаял на его место новый.

Проверив, нет ли короткого замыкания по питанию, подключил питание и проверил работоспособность

Затем смонтировал плату зарядки (TP4056), для этого пришлось немного дремелем рассверлить отверстие разъема зарядки, и зафиксировал ее термоклеем (тут важно было, чтобы клей не затек в разъем, достать его оттуда будет сложно)

Я не стал прикручивать плату винтами, т. к. резьба в корпусе сорвалась от многократных закручиваний, а просто залил ее клеем, провода тоже заклеил в местах пайки, дабы они не перетирались. Драйвер и ЗУ я решил покрыть акриловым бесцветным лаком, это должно помочь от коррозии.

Железо

У меня есть кое-какой опыт работы с Arduino, поэтому было решено делать драйвер на МК семейства AVR. Они широко доступны, легко программируются и имеют режимы пониженного энергопотребления (сна).

В качестве «мозга» драйвера был выбран микроконтроллер Attiny13a — это один из самых дешевых МК фирмы Atmel (ныне поглощенной компанией Microchip), он имеет на борту все необходимое — GPIO для подключения кнопки и светодиода, таймер для генерации ШИМ-сигнала, АЦП для измерения напряжения и EEPROM для сохранения параметров. Доступно всего 1 КБ флеш-памяти (но много ли надо для фонарика), а так же 64 Б RAM и столько же EEPROM.
Attiny13 выпускается в нескольких вариантах корпуса, в частности в DIP-8, который можно воткнуть прямо в обычную макетную плату с шагом 2.54мм.

Поскольку от задней части к голове фонаря идет всего 3 провода, кнопка вынуждена замыкаться на землю (о невозможности замыкать на плюс — позже), придется коммутировать светодиод по плюсу — а значит, нужен P-канальный полевик. В качестве такого транзистора я взял AO3401, но можно взять SI2323, он дороже, но имеет меньшее сопротивление открытого канала (40 мОм, тогда как у AO3401 60 мОм, при 4.5 В), следовательно драйвер будет меньше греться.

От слов к делу, собираю на макетке предварительную версию

Питается оно пока что напрямую от программатора, напряжением 5 В (на самом деле меньше из-за потерь в кабеле USB). Вместо светодиода XM-L пока воткнул обычный светодиод на ножках и поставил слабый транзистор с высоким пороговым напряжением.
Затем в программе Altium Designer была начерчена схема, которую я дополнил защитой от переполюсовки и ESD.

С компонентами все ясно, можно делать печатную плату по вышеприведенной схеме.
Первым делом для этого нужно построить 3D модель будущей платы, вместе с отверстиями — имхо, в Altium Designer это самый удобный способ определить геометрию ПП.
Измерил размеры старого драйвера и его посадочных отверстий — плата должна крепиться к ним же, но иметь меньшие габариты (для универсальности, вдруг куда-то еще придется встроить).
Разумный минимум здесь получился где-то 25х12.5мм (соотношение сторон 2:1) с двумя отверстиями диаметром 2мм для крепления к корпусу фонаря родными винтами.

3D-модель я сделал в SolidWorks, затем экспортировал в Altium Designer как STEP.
Затем я разместил компоненты по плате, контакты сделал по углам (так паять удобнее и проще разводить землю), Attiny13 поставил по центру, транзистор поближе к контактам LED.
Развел силовые дорожки, разместил остальные компоненты как получится и развел сигнальные дорожки. Для удобства подключения ЗУ я вывел под него отдельные контакты, которые дублируют контакты батареи.
Всю разводку (за исключением одной перемычки) я сделал на верхнем слое — для того, чтобы была возможность изготовить плату в домашних условиях ЛУТом.
Минимальная ширина сигнальных дорожек — 0.254 мм / 10 mil, силовые имеют максимальную ширину там, где это возможно.

Так выглядит разведенная плата в Altium Designer

В Altium Designer есть возможность посмотреть, как будет выглядеть плата в 3D (для этого необходимо наличие моделей для всех компонентов, некоторые пришлось строить самому).
Возможно, кто-то тут скажет, что 3D режим для трассировщика не нужен, но лично для меня это удобная функция, которая облегчает размещение компонентов для удобства пайки.

На момент написания статьи было сделано 3 версии платы — первая под ЛУТ, вторая для промышленного изготовления и 3-я, финальная с некоторыми исправлениями.

Техническое задание

Как известно, для достижения хорошего результата любая разработка должна иметь хорошее ТЗ, поэтому постараюсь сформулировать его для себя. Итак, драйвер должен:

  • Уметь включаться/отключаться по короткому нажатию кнопки (кнопка без фиксации). Пожалуй, это основная причина, по которой все это затеялось.
  • Иметь плавную (бесступенчатую) регулировку яркости, от самого яркого — «турбо», до «мунлайта», когда диод еле светится. Яркость должна изменяться равномерно.
  • Запоминать установленную яркость на время выключения.
  • Контролировать заряд батареи, предупреждая когда она почти разряжена (примерно 3.3В) и отключаясь, когда разряжена полностью (примерно 2.9В). Для разных АКБ эти параметры могут быть иными. Соответственно, рабочее напряжение должно быть в диапазоне 2.7~4.5В.
  • Иметь 2 специальных режима — аварийный маячок и стробоскоп (ну а почему бы и нет?)
  • Уметь включать/выключать задний светодиод (это актуально при езде на велосипеде ночью, получается что-то вроде габаритного огня).
  • Иметь защиту от переполюсовки и статического электричества. Не обязательно, но будет приятным дополнением, поскольку в темноте можно по ошибке поставить АКБ неправильной стороной.
  • Быть меньше изначального драйвера по размерам, но при этом иметь те же посадочные места. Китайский драйвер просто огромен, сделать крупнее будет непросто.

Ну и если фонарик подвергается моддингу, почему бы не встроить в него зарядное устройство с micro-USB разъемом? У меня под рукой всегда есть такой кабель и USB зарядка, а родной блок питания приходится искать.

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации