Skip to content

SerhiiLe/Attiny13_Torch

Repository files navigation

Attiny13_Torch

LED flashlight control on Attiny13

Это старый проект найденный на сайте mysku.club, с небольшими доработками.

  1. Остались всё те-же режимы, минимальный, средний и максимальный. Но теперь ШИМ меняется в каждом режиме в зависимости от напряжения на аккумуляторе. Начальные 60%, 40%, 20% по мере разряда становятся 100%, 80%, 60%.
  2. Напряжение перехода в экономный режим и отключения понижены до минимальных, 3.1V и 2.8V соответвенно. При разряде аккумулятора ниже 3.5V уже не имеет значения когда именно будет отсечка, светодиоды будут быстро терять яркость, а режим минимального свечения будет настолько минимальным, что о нормальной работе речь не идёт. Это просто индикация разряда.
  3. Сейчас все платы TP4056 идут с BMS, так что нет особого смысла в отсечке именно логикой фонарика.
  4. Убран переменный резистор, вместо него фиксированный делитель. Опять-же нет особого смысла ловить милливольты.
  5. Сборка проекта проводится обычной средой Arduino с установленной microCore. Так проще.

Варианты схем

Вариант с P-channel MOSFET. Если исспользовать схему именно как у оригинального автора, то нужен именно этот вариант, так как от отсека с аккумуляторами до светодиода с кнопкой идут три провода и разрыв земли недопустим, иначе кнопка перестанет работать.

Вариант с P-channel MOSFET

Транзистор к примеру такой: P-Mosfet AO3401A

Вариант с N-channel MOSFET

Вариант с N-channel MOSFET

Транзистор к примеру такой: N-Mosfet AO3400A

Вариант с N-channel может пригодится в обычных фонариках, где схема и кнопка находятся в одном месте и разрыв земли не проблема. Сопротивление N-channel транзисторов как правило меньше и стоят они немного дешевле.

Так-же, естественно, подходит оригинальная схема от автора, кроме того, что вместо подстроечного резистора исспользуется постоянный и настройка не требуется.

Из интереной особенности, автор измеряет напряжение на аккумуляторе через Attiny13, при засыпании напряжение снимается и ток через делитель напряжеия не идёт. За счёт этого схема в режиме сна имеет минимальное потребление.

В делителе напряжения вместо резисторов 2.2k и 6.8k можно использовать 22k и 68k соответсвенно.

Конденсатор по питанию крайне желателен, так как из-за пульсаций микроконтроллер может зависать. Особенно на старых аккумуляторах с большим внутренним сопротивлением, а именно такие обычно ставят в фонарики. Или любой разряженный аккумулятор, так как при разряде внутреннее сопротивление растёт. Ёмккость конденсатора 220-470uF, главное, чтобы он влезал в корпус.

Сборка

Сборка в среде Arduino с устрановленной платформой MiroCore, для установки надо добавить в настройках такую ссылку: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

Для теста использовался бесплатный симулятор схем SimulIDE Файлы схем: attiny13_torch_p-ch.sim1 и attiny13_torch_n-ch.sim1 Правой клавишей по изображению контроллера позволяет подтянуть прошивку.

Прошивка

Собственно после сборки в Arduino надо просто "загрузить на плату при помощи программатора". А вот что именно использовать в качестве программатора это уже Ваш выбор.

Можно прошивать готовые бинарные файлы любой программой для прошивки, их много. К примеру Daduda или как у автора оригинального проекта.

Fuses

Low=3A , Hi=FF (AVRDUDE -U lfuse:w:0x3A:m -U hfuse:w:0xFF:m) (LOCKBIT=FF)

Стандартные от Arduino работают менее стабильно, так как там активирован контроль напряжения 2.7V, что при колебаниях из-за ШИМ приводит к перезагрузкам микроконтроллера.

About

LED flashlight control on Attiny13

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages