Авторизация
Регистрация

Напомнить пароль

Эволюция Диагностики Аккумуляторов Makita: От Arduino OBI к Веб-интерфейсу на ESP32

Создаем «умный» тестер для аккумуляторов Makita: от Arduino-прототипа до Wi-Fi гаджета на ESP32

Каждый, кто работает с профессиональным инструментом Makita, знает, что их аккумуляторы — это не просто «банки» с энергией. Внутри скрывается сложная система управления (BMS), которая хранит массу полезной информации: от количества циклов заряда до напряжения на каждой ячейке. Однако получить эти данные без специального оборудования невозможно. Несколько лет назад сообщество энтузиастов подарило нам проект OBI (Open Battery Interface) — решение на базе Arduino и Python, которое впервые позволило заглянуть «под капот» этих батарей.https://github.com/mnh-jansson/open-battery-information. Это был настоящий прорыв, который послужил отправной точкой и для моего проекта. Но, как и у любой технологии, у него были свои ограничения. Я поставил перед собой цель создать более современное, удобное и полностью автономное устройство. Эта статья — история его разработки.


Disclaimer

Весь проект и данная статья были созданы целеком и полностью с помошью различных текстовых ИИ в основном это Gemini в Google AI studio и ChatGPT все в бесплатных вариантах. Я не являюсь программистом ни в каком виде и весь написанный код для меня выглядит как абракадабра, я понимаю только как оно должно работать алгоритмически, но я не знаю ни С++, ни Pyton или любой другой язык который был использован в данном проекте. Поэтому я не подскажу ничего по синтаксису кода который был сгенерирован и отлажен с помощью большого количесва вопросов и ответов ИИ.
В сети я не нашел ни одного источника который бы поделился аналогичных проектом под esp32 хотя есть видео где похожие девайсы пытаются продавать.
Мой проект делался по фану для удовлетворения собственного любопытства.

Дополнительная информация



Глава 1. Анализ протокола: Как общаются аккумуляторы Makita

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



Физически связь с BMS аккумулятора происходит по одному проводу (протокол, похожий на 1-Wire). Но самое интересное — это команды, которые нужно отправлять.



Существует два основных типа контроллеров в батареях Makita, и для них используются разные наборы команд:


  1. «Стандартные» контроллеры (STANDARD): Встречаются в большинстве аккумуляторов.
  2. Контроллеры типа «F0513»: Более редкий и капризный тип.

Протокол обмена состоит из двух основных команд-префиксов:


  • 0xCC
    — префикс для большинства «обычных» команд (чтение динамических данных, модели и т.д.).
  • 0x33
    — префикс для «сервисных» команд и чтения статического блока данных.

Например, чтобы получить статические данные (циклы, дату производства), нужно было отправить команду

0x33 AA 00
и прочитать в ответ 40 байт. А чтобы получить напряжения на ячейках, нужно было отправить
0xCC D7 00 00 FF
и прочитать 29 байт. Сервисные функции, вроде теста LED, требовали двухшаговой последовательности: сначала команда входа в тестовый режим (
0x33 D9 96 A5
), а затем — команда самого действия.



Особой головной болью стал контроллер F0513. В отличие от стандартного, который отдает все напряжения по одной команде, этот требовал отдельного запроса для каждой из пяти ячеек (команды

0xCC 31
,
0xCC 32
и т.д.). Это был первый важный нюанс, который предстояло учесть.



Глава 2. Аппаратная реализация: Переход на ESP32 и битва за 5 Вольт

Оригинальный OBI был связкой Arduino и ПК. Это было неудобно. Я решил, что современное устройство должно быть автономным, с Wi-Fi и веб-интерфейсом. Выбор пал на ESP32 — мощный микроконтроллер со встроенным Wi-Fi, идеальный для такой задачи.



И тут я столкнулся с главной аппаратной проблемой: пин

Enable
на BMS аккумулятора требует для «пробуждения» уверенные +5 Вольт, в то время как логика ESP32 работает на 3.3 Вольтах.



Прямое подключение приводило к нестабильной работе: батарея просыпалась через раз. Напряжения 3.3В было недостаточно. Решением стал простой, но надежный NPN-транзисторный ключ.





Принцип работы гениален в своей простоте: ESP32 своим низковольтным сигналом управляет транзистором, который, в свою очередь, коммутирует 5-вольтовую линию. Когда ESP32 подает

LOW
(0В), транзистор закрывается, и подтягивающий резистор надежно подает +5В на пин
Enable
. Когда ESP32 подает
HIGH
(3.3В), транзистор открывается и притягивает
Enable
к земле.


Дополнительная информация
+5V
       |
     [ R_pullup: 4.7 кОм ]
       |
       |---------------------> Пин "Enable" на BMS
       |
       |       C (Коллектор)
  [Транзистор 2SD882]
       | B (База)
       |
     [ R_base: 1 кОм ]
       |
Пин ESP32 (GPIO) ------------- (Управляющий сигнал 0V / 3.3V)
       |
       E (Эмиттер)
       |
      GND


Даже после этого старые модели аккумуляторов отказывались просыпаться. Оказалось, что «силы» подтяжки стандартного резистора в 10 кОм было недостаточно. Путем экспериментов было найдено оптимальное значение — 4.7 кОм, которое обеспечивало достаточный ток для гарантированной активации даже самых «упрямых» батарей.



Глава 3. Программная реализация: От C++ до JavaScript

Вся логика была инкапсулирована в класс

MakitaBMS
на C++. Главной задачей было точно воспроизвести тайминги и последовательности команд.



Основной код (

MakitaBMS.cpp
):


Ключевым моментом стало управление питанием. В отличие от стандартных батарей, которые можно было «разбудить» один раз на всю сессию чтения, капризные F0513 требовали полного цикла выключения-включения питания перед каждой командой. Это было реализовано в функции

readDynamicData
, где для F0513 используется специальная лямбда-функция, оборачивающая каждый запрос в цикл управления питанием.



Парсинг данных — это отдельная история. Ответ от BMS приходит в виде массива байт, которые нужно правильно интерпретировать. Например, количество циклов заряда хранится в 34-м и 35-м байтах, причем в перевернутом виде и с инвертированными нибблами (полубайтами). Для этого была написана вспомогательная функция

nibble_swap
.



Бэкенд и веб-сервер (

main.cpp
):


В качестве «сердца» устройства выступает

ESPAsyncWebServer
. Он запускает веб-сервер и точку доступа Wi-Fi при первом включении. Для мгновенного обмена данными между ESP32 и браузером используется WebSocket.


Процесс выглядит так:


  1. Браузер (клиент) отправляет JSON-сообщение, например:
    {"command": "read_static"}
    .
  2. ESP32 в обработчике
    onWebSocketEvent
    принимает это сообщение.
  3. Вызывает соответствующий метод класса
    MakitaBMS
    (например,
    bms.readStaticData()
    ).
  4. Полученные данные упаковываются в структуру
    BatteryData
    , а затем сериализуются в ответный JSON.
  5. Ответ отправляется обратно всем подключенным клиентам.

Фронтенд (

app.js
):


Это мозг веб-интерфейса. Он написан на чистом JavaScript без фреймворков. При загрузке страницы он устанавливает WebSocket-соединение с ESP32 и ждет сообщений.



Самая интересная часть — функция

renderCells
, отвечающая за визуализацию батареи. Она не просто рисует 5 прямоугольников, а делает это с учетом реальной сборки:


  • С помощью CSS каждая вторая ячейка «переворачивается», чтобы имитировать последовательное соединение.
  • Цвет каждой ячейки рассчитывается динамически. Напряжение ячейки нормализуется в диапазон от 0 до 1 (где 2.8В=0, 4.2В=1), а затем это значение используется для вычисления оттенка в цветовой модели HSL, создавая плавный градиент от красного к зеленому.
  • Если разница напряжений превышает 0.1В, самая разряженная ячейка помечается как «разбалансированная» и выделяется пунктирной рамкой.
  • Для расчета общего уровня заряда (SOC) используется нелинейная таблица соответствия напряжения процентам, что гораздо точнее простого деления.



Глава 4. Сравнение и преимущества

Что же мы получили в итоге по сравнению с оригинальным Arduino OBI?


  • Полная автономность: Устройству не нужен компьютер, только питание по USB.
  • Кроссплатформенность: Интерфейс работает в любом браузере на любом устройстве, будь то Android, iOS, Windows или Linux.
  • Простота использования: Не нужно устанавливать Python, драйверы и библиотеки. Просто подключись к Wi-Fi и открой страницу.
  • Наглядность: Современный, адаптивный интерфейс с графической визуализацией состояния ячеек и автоматическими предупреждениями гораздо информативнее простой таблицы.
  • Мобильность: Диагностику можно проводить где угодно, хоть в мастерской, хоть «в поле».

Заключение

Этот проект — пример того, как на основе блестящей идеи сообщества можно создать современный, удобный и законченный продукт. Благодаря мощи ESP32 и гибкости веб-технологий удалось превратить сложный диагностический инструмент в простой и понятный гаджет, доступный каждому. Это не просто тестер, а настоящий «медицинский кардиомонитор» для ваших аккумуляторов, который поможет вовремя заметить проблему и продлить срок их службы.



Проект является полностью открытым, все исходные коды, схемы и инструкции доступны на GitHub: https://github.com/Belik1982/esp32-makita-bms-reader

Планирую купить +61 Добавить в избранное
+174 +258
свернутьразвернуть
Комментарии (122)
RSS
+
avatar
0
Устройству не нужен компьютер, только питание по USB.
Почему бы его не питать непосредственно от батареи?
+
avatar
+3
Можно и так, нужно только задействовать плату преобразователя с 21-16В в 5В. У меня под руками не оказалось данного преобразователя поэтому не реализовал этот функционал и соответственно не описывал. А так да, идея очевидна и вполне рабочая.
+
avatar
+11
  • l1bbcsg
  • 04 ноября 2025, 23:10
Это же устройство для отладки и решения проблем батареи. Не стоит рассчитывать на её стабильную работу.
+
avatar
+4
Да, бывают батареи с мертвыми секциями и оборваными внутренними предохранителями и соответственно на выводах напруги не будет.
Идеальный вариант то интегрировать маленький литевый аккум с dc-dc до 5В ими и запитывать esp32 ну и платку зарядки для этого аккума на той же tp4056 или любой другой. И тогда будет полная автономность.
+
avatar
+9
  • litmit
  • 05 ноября 2025, 08:53
Мне вот только интересно — зачем эта автономность нужна?

На стройплощадке некогда с батареями разбираться — не работает одна, берем другую запасную.

В мастерской электричества нет? Блэкаут? Тут уж не до диагностики батарей.
+
avatar
0
в отсутствие электричества можно от павербанка запуститься.
+
avatar
+9
  • litmit
  • 05 ноября 2025, 10:20
Ну да, электричества нет, работа встала, холодильник течет, телефон, планшет, ноут пищат. НО самое главное диагностику батареи запустить, и пусть весь мир подождет.
+
avatar
+2
Ну сидишь при свечах, заняться нечем, от повербанка запитал паялиьник, лампу настольную и вперед что-нибудь чинить )))
+
avatar
+2
нету на стройке ни холодильника, ни ноута с планшетом. а работать надо. у меня пару лет назад на районе меняли провода на столбах. неделями в рабочее время был блэкаут. оно надуманно и натянуто конечно, но в целом чо бы и нет, раз уж у нас устройство с вайфаем, то есть беспроводное.
у меня пару лет назад на районе меняли провода на столбах. неделями в рабочее время был блэкаут.
+
avatar
0
  • litmit
  • 06 ноября 2025, 09:31
неделями в рабочее время был блэкаут
И? Сварку и УШМ от повербанка запитывали? Или, все-таки генератор включали?
+
avatar
0
не тот профиль. не нужна сварка и УШМ. аккумуляторный инструмент рулит
+
avatar
+1
  • 50AC
  • 05 ноября 2025, 13:19
А зачем в мастерской лишний провод?
+
avatar
+7
  • litmit
  • 05 ноября 2025, 14:16
А зачем в мастерской еще одно устройство требующее кормления? Скоро будет как на ферме. Встал с утра, покормил все гаджеты, вот уже и обедать пора…
+
avatar
+2
Ну можно же сделать питание и от акб и от юсб, развязав диодами это дело (хотя на примененной вами платке это будет сложновато наверное реализовать)
+
avatar
+6
возникает очевидный ответ — а что если батарея (полу)дохлая?
+
avatar
+11
Устройство включилось — батарея рабочая. Устройство не включилось — батарея мёртвая.

Диагностика проведена :D
+
avatar
+3
Любопытно :)

Можно слегка изменить способ выработки сигнала Enable, применив активный способ формирования высокого уровня. Т.е. не подтяжкой резистором к +5 в, а открытым транзистором или оптроном. Это гарантирует уверенное включение контроллера батареи.
А может и стандартного конвертера 3.3 — 5 вольт на полевике хватит. Эти блочки есть готовые на али за небольшие деньги.
+
avatar
+3
  • ABATAPA
  • 04 ноября 2025, 23:03
Проект является полностью открытым
За FOSS — моя благодарность. Open Source ­— то, что изменило мою жизнь.
Проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
Но… В LICENSE у Вас пусто. А одного упоминания MIT недостаточно.
А с учётом того, что ИИ надёргал всего из самых разных источников с неизвестной лицензией, то и проверить чистоту очень сложно.
+
avatar
0
Но… В LICENSE у Вас пусто.
К сожалению пока разбирался как постить на гитхаб, в процессе ковыряний удалил текст лицензии, а потом забыл востановить… Исправлюсь…
+
avatar
+1
А с учётом того, что ИИ надёргал всего из самых разных источников с неизвестной лицензией, то и проверить чистоту очень сложно.
Проект использовал исходные коды с оригинального проекта open-battery-information который так же с MIT лицензией. Оттуда был взята модифицированная библиотека onewire и переписана под этот контроллер, и второе что взято это список и последовательность команд для общения с платой а так же правила парсинга полученых сырых данных.
+
avatar
+1
  • vlo
  • 04 ноября 2025, 23:07
существуют платки на -c3 со встроенным микроэкранчиком — https://aliexpress.ru/item/1005008622254075.html
на которых вполне можно сделать автономную в схожем конструктиве. ну и запитать тоже от самой батареи.
хотя… тогда и esp, от которой нужен wifi, становится не нужна.
+
avatar
0
Я думаю это можно реализовать просто скормив мой код чату и дав задание дописать модуль вывода данных в на экран. Там больше заморочек будет с графикой как мне кажется, но опять же я вообще ни разу не спец в микроконтроллерах и в их програмировании поэтому не знаю на сколько это проблематично, но теоретически все очень просто т.к. данные получены и спарсены для веб интерфейса и ничего не стоит их перенаправить в экран
+
avatar
+1
  • 00svd00
  • 05 ноября 2025, 06:02
О, я давно ломаю башку, куда их можно с пользой употребить. Вроде прикольно, но больно уж дисплей мелкий, всего 72x40 точек. Это при том, что 128x64 экраны адекватного размера китайцы отдают дешевле грязи
ali.click/s7z1oz
+
avatar
0
  • dansar
  • 06 ноября 2025, 21:21
Мелочь такая :) Взял один на пробу.
+
avatar
0
  • yg-25
  • 04 ноября 2025, 23:35
Для милуоки есть такого рода проект?
Может знает кто?
+
avatar
0
на сколько я понимаю у милуоки нет проблем с програмной блокировкой контроллера, поэтому и сбрасывать нечего а если аккум не заряжается в зарядке значит он явно неисправен и его нужно вскрывать и обмерять ячейки. Информации по програмному считыванию данных с бмс в свободном доступе нет для этого производителя. Но Я нашел информацию что в старых батареях были диагностические индикации которые активировались кнопкой проверки уровня заряда. Но насколько полезна данная информация не понятно. да и на новых моделях этот функционал отсутствует на сколько я понял.
+
avatar
0
Милуоки вроде де бы недавно отреверсили и выложили в открый доступ.
+
avatar
0
Возможно, подобный проект: www.youtube.com/watch?v=tHj0-Gzvbeo / github.com/mnh-jansson/m18-protocol? А так-то много полезных видео о батареях на канале.
+
avatar
0
  • als_su
  • 05 ноября 2025, 08:14
Протокол OBI поддерживаю именно оригинальные АКБ Makita?
Т.е. вопрос вот в чем, LTX китайские Макита поддерживают или нет OBI?
+
avatar
+1
  • litmit
  • 05 ноября 2025, 08:32
Что такое протокол OBI?
Есть проприетарный протокол Makita для своих батарей. Китайские клоны (скорее всего) поддерживают лишь ту часть протокола, которая необходима для зарядки их батарей в оригинальных зарядных устройствах от Макиты.
+
avatar
+1
  • litmit
  • 05 ноября 2025, 08:49
Следующим шагом должно быть создание зарядного устройства интегрированного с этим проектом. И на зарядном небольшой экранчик отображающий всю необходимую информацию (можно даже в монохроме).

@kdekaluga призывается в комменты.
+
avatar
+5
а зачем? этот проект он с зарядкой никак не связан по сути, он дл ядиагностики и разблокировки батарей, это отдельное устройство для других задач. а комбайны это прикольно, но очень неудобно в повседневности, и это отлично видно на примере imax. вроде хорошее зарядное, возможностей много, но по факту пользуюсь примитивными в стиле «воткнул и оно пошло заряжать любой акум»
+
avatar
+1
  • litmit
  • 05 ноября 2025, 10:15
этот проект он с зарядкой никак не связан по сути,
Еще как связан! Оригинальные батареи чекаются и блокируются именно зарядным устройством!
Нам, разумеется, блокировать ничего не надо, но проверять состояние банок и их дисбаланс надо именно во время зарядки. И сообщать об этом пользователю, любым наглядным способом.

это отдельное устройство для других задач
Для каких именно?

imax. вроде хорошее зарядное, возможностей много, но по факту пользуюсь примитивными в стиле «воткнул и оно пошло заряжать любой акум»
Вот именно! Потому что imax без бубна и прямых рук к батарее Макита не подключить. Это в обычной жизни никому не надо.

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

Другое дело, если бы зарядка сигнализировала, что «ваша батарея подустала, разбалансировалась» и т.п.
Пора денежку на новую откладывать или эту ремонтировать.
+
avatar
+1
Оригинальные батареи чекаются и блокируются именно зарядным устройством!
Скорее всего, они блокируются самостоятельно на зарядке, но не зарядным устройством. Например, в батарее возник серьезный дисбаланс, и напряжение одной ячейки стало превышать 4.25 В, в то время как остальные еще не набрали 4.1 В. Батарея принимает решение заблокироваться, чтобы исключить перезаряд ячейки.
Другое дело, если бы зарядка сигнализировала, что «ваша батарея подустала, разбалансировалась» и т.п.
Да, это было бы здорово. Но для этого надо, прежде всего, начать заряжать оригинальные батареи на самодельном з/у. А, значит, сделать его таким, чтобы оно не вызывало дополнительных блокировок батарей в обычной работе. А вот после этого добавлять туда уже сервисные функции.

Но это же большие исследования — например, вы уверены, что батарея будет правильно отвечать на команды непосредственно в процессе зарядки? Может быть, зарядку на это время надо будет выключать. И таких вопросов достаточно много.
+
avatar
+1
Оригинальные батареи чекаются и блокируются именно зарядным устройством!
есть мнение, что эхтим вредительством занимается контроллер внутри батареи. что и логично, потому что это именно он должен например дисбаланс по банкам контролировать во время работы в том числе
Для каких именно?
диагностика и ремонт(разблокировка) оригинальных аккумуляторов
Вот именно! Потому что imax без бубна и прямых рук к батарее Макита не подключить
далась вам эта батарея макита. как нефиг делать аймакс подключается к любой батарее, но два провода для этого нужно и два магнита для всяких 18650. но вот чтобы запустить процесс нужно выставить кучу параметров. а это в повседневной жизни и не нужно, и максимально неудобно, запарно, и быстро надоедает.
Какой его сценарий использования?
разблокировать батарею и посмотреть заодно что не понравилось контроллеру
+
avatar
+1
Добрый день. Разблокировать оригинальные АКБ можно будет?
+
avatar
+2
Этот проект только и может что с оригинальными аккумуляторами проводить манипуляции т.к. не оригинальные аккумы не страдают проблемой програмной блокировки бмс батареи. Но не все оригинальные аккумы поддаются разблокировки, нужно пробовать т.к. пока не попробуешь не поймешь какой тим платы используется в батареи.
+
avatar
+4
Для того, чтобы заряжать оригинальные батареи на самодельном з/у, надо до конца разобраться со всеми тонкостями протокола Макиты, такими как, например, обмен данными в конце зарядки. Иначе как раз есть шанс заблокировать батарею. Поэтому я пришел к выводу, что оригинальные батареи лучше заряжать на оригинальных з/у. А если так, то необходимости совмещать разблокировщик и з/у нет — это устройства для разных типов батарей.
+
avatar
0
  • litmit
  • 05 ноября 2025, 15:23
А если так, то необходимости совмещать разблокировщик и з/у нет
Разумеется нет.
Лично мне в данном устройстве не функции разблокировки интересны, а отражение информации о «здоровье» батареи. Что как раз просится в состав продвинутого зарядного устройства.

надо до конца разобраться со всеми тонкостями протокола Макиты, такими как, например, обмен данными в конце зарядки.
Надеюсь с этим рано и позже тоже разберутся…
+
avatar
0
отражение информации о «здоровье» батареи. Что как раз просится в состав продвинутого зарядного устройства.
Так если на самодельном устройстве не заряжать батареи, а только смотреть их состояние, то оно не будет являться зарядным :)

Но я согласен, что такой тестер батарей должен иметь свой экран и не быть зависимым от ПК/смартфона.
Надеюсь с этим рано и позже тоже разберутся…
Не уверен. Например, Мартин, автор OBI, который и выполнил основную работу по реверс-инжинирингу прошивки макитовской батареи не поддерживает создание полноценных самодельных зарядных устройств для оригинальных батарей Макиты из-за авторского права. А других желающих я особо не вижу :)

При этом, для совместимых батарей это всё не нужно, так как, скорее всего, ни одна из них не поддерживает никаких команд, кроме CC, F0, 00, которая передается в момент начала зарядки.
+
avatar
+1
необходимости совмещать разблокировщик и з/у нет — это устройства для разных типов батарей.
это в первую очередь устройства для разных целей. примерно как заправка и промывка бака в автомобилях. вроде и то и другое связано с бензобаком, только больше ничего общего и нет на самом деле. так и здесь — общего между ЗУ и обозреваемым устройством только то что они оба подключаются к макитовским батареям. всё.
+
avatar
0
  • litmit
  • 06 ноября 2025, 09:13
Отличная аналогия! Вот представьте, что на колонке нет счетчика литров. Сколько и чего вам заправляют в бак видит только оператор АЗС. А вы можете только после заправки посмотреть на приборную панель и на индикаторе из 4-х полосок примерно узнать налили вам чего в бак или нет.

Нравится? А ведь именно так устроен современных мир зарядок для батарей. Чего-то там заливаем в батарею. Сколько залили — хз. Стухла ли батарея или еще жива — хз.

Например древняя LiitoKala: Lii-PD4 успешно показывает влитую энергию и напругу на аккумуляторе 18650. Можно хотя бы оценить его емкость и процент износа. А где подобные решения для батарей? Из коробки, а не в виде разномастной кучи гаджетов.

ЗЫ Чего вы к «разблокировке» привязались, а? Абсолютно бесполезная функция, как по мне. Если BMS заблокирована, то уже сожжен программно управляемый предохранитель внутри батареи. И «удобная» кнопочка в модном, современном интерфейсе уже ничем не поможет. Надо BMS менять или предохранитель. И неизвестно что проще…
+
avatar
+1
Чего вы к «разблокировке» привязались, а?
ну потому что вся эта возня изначально затевалась именно для разблокировки и диагностики этих самых оригинальных макитовских батарей. точнее, диагностика там скорее как побочная функция, основная — именно разблокировка.

Например древняя LiitoKala: Lii-PD4 успешно показывает влитую энергию и напругу на аккумуляторе 18650. Можно хотя бы оценить его емкость и процент износа. А где подобные решения для батарей? Из коробки, а не в виде разномастной кучи гаджетов.
поймите простую вещь: каким бы навороченным ни был зарядник и как бы подробно он ни показывал сколько влилось в батарею и какой там процент износа, но макитовская батарея может внезапно заблокироваться и перестать работать. и часто ничего там не пережигается, тупо программная блокировка.

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

Надо BMS менять или предохранитель. И неизвестно что проще…
пережигаемый предохранитель отлично меняется на капельку легкоплавкого припоя. и даже работает потом как настоящий — пережигается контроллером
+
avatar
0
  • litmit
  • 06 ноября 2025, 11:18
поймите простую вещь
Чего мне понимать, не пойму, если я имею на руках заблокированную оригинальную Макиту?

продолжая аналогию с автомобилями:
нам не счётчик литров поможет, а диагностический сканер,
Продолжая аналогию, надо не сканер из прошлого века, а иметь нормальное сервисное меню в машине на встроенном планшете, где можно увидеть и сбросить ошибки.

пережигаемый предохранитель отлично меняется на капельку легкоплавкого припоя. и даже работает потом как настоящий — пережигается контроллером
Зачем эти пляски с бубном, которые не спасут от следующей «внезапной» блокировки, если можно поменять BMS и получить в качестве бонуса пучок защит, которые отсутствуют в оригинале?
Сейчас жду BMS с али, буду поверять слова делом :)
+
avatar
+2
Чего мне понимать, не пойму, если я имею на руках заблокированную оригинальную Макиту?
и чем бы Вам помогло зарядное которое показывает статистику по батарее? а разблокировку в него никто встраивать не будет, потому что это не пользовательская функция, а сервисная. сюда же кстати и сервисное меню в машине для чтения и стирания ошибок — подавляющее большинство пользователей не могут даже толком запомнить на что машина жаловалась, о том чтобы не то что правильно, а хотя бы адекватно интерпретировать ошибки речи вообще не идёт. а стирание ошибок только усложнит работу нормальным диагностам, которым притянут машину уже с девственно чистым регистратором ошибок после таких вот самодельщиков с сервисным меню.

Зачем эти пляски с бубном, которые не спасут от следующей «внезапной» блокировки, если можно поменять BMS и получить в качестве бонуса пучок защит, которые отсутствуют в оригинале?
Сейчас жду BMS с али, буду поверять слова делом :)
тогда Вам и вся эта тема с разблокировщиком батарей должна быть в принципе не интересна, потому что оно работает только с оригиналом
+
avatar
0
  • litmit
  • 06 ноября 2025, 13:49
и чем бы Вам помогло зарядное которое показывает статистику по батарее?
Я считаю что это полезный функционал для любого зарядного, за который я готов платить деньги.
Возвращаясь к зарядным для 18650. Я специально выбрал модель с ЖК дисплеем, хотя можно было купить зарядник в 3 раза дешевле с одним светодиодом.

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

которым притянут машину уже с девственно чистым регистратором ошибок после таких вот самодельщиков с сервисным меню.
За это обычно берется наценка в 100 или 200%, вам ли не знать? :)

тогда Вам и вся эта тема с разблокировщиком батарей должна быть в принципе не интересна, потому что оно работает только с оригиналом
Про то, что тема с разблокировщиком мне не интересна я уже сказал несколько раз.
Мне интересна продвинутая зарядка для батарей с диагностическими функциями.
+
avatar
+2
  • winny2
  • 10 ноября 2025, 11:39
Вот ни разу! Валяется несколько заблокированных батарей, с непережжённым предохранителем. Очень полезная функция — разблокировка. И потом — кто мешает сначала потыкать в предохранитель тестером, заменить, если требуется (деталь копеечная), а потом уже разблокировать…
+
avatar
+2
  • a140083
  • 05 ноября 2025, 11:00
Обратите внимание, что ESP32 SuperMini часто бывают бракованные. У некоторых неудачно расположена антенна и кварц. Проблемы с WiFi-соединением и даже работой контроллера.
community.platformio.org/t/esp32-c3-mini-can-t-connect-to-wifi-network/48562

У меня таких бракованных штук 5 уже. Даже скрипт написал для входного тестирования.

Есть версия Plus — там перенесли кварц и добавили RGB-LED. В данном проекте им можно быстро отобразить статус.

Но мне больше нравится ESP32 S3 super mini или C6 (для Zigbee). Цена немного выше, но значительно интереснее чип и стабильнее качество.
+
avatar
-5
  • AlexA42
  • 05 ноября 2025, 11:48
+
avatar
+9
  • ABATAPA
  • 05 ноября 2025, 12:07
Удивительное время. Люди, даже прося, разучились говорить даже «пожалуйста»…
+
avatar
+3
  • a140083
  • 05 ноября 2025, 12:42
Подключается к домашнему WiFi, выводит RSSI

Отбраковка еcли долго не подключается или низкий RSSI. Было несколько штук, которые даже прошить не получилось. Проблема во внутреннем флеше или тактировании.
+
avatar
0
  • Serj_I
  • 05 ноября 2025, 13:04
У меня таких штук 20 валяется. Причем у некоторых постоянно отваливается WiFI, а некоторые могут работать месяц но после перезагрузки также начинают глючить. Для этих в коде добавил проверку если часто переподключается wifi то перезагружается пока не начнет нормально работать.

Есть версия Plus
тоже попадались глючные. Помогает уменьшение усиления сигнала.
+
avatar
0
  • fps
  • 05 ноября 2025, 13:58
Странный формат, непонятно куда его такой использовать вообще
С виду макетка, отладочная плата, есть usb. Но ладиться на ней проблематично, т. к. usb программный и отваливается при перезагрузке.
При этом, она всё-таки макетка, в работу такое ставить как-то криво, для этого есть нормальные форматы типа таких
https://aliexpress.ru/item/1005006889503809.html
+
avatar
0
  • a140083
  • 05 ноября 2025, 14:07
Программный USB CDC — это костыль, хотя к нему можно приноровиться.

Что мне понравилось в S3 supermini так это подготовка к автономному использованию. Есть TP4054 для зарядки лития + не самы плохой LDO. В режиме сна потребление у меня получилось 0.2-0.3мА или около 2-3х месяцев на одной банке 18650 (но это не точно). Не самый выдающийся результат, но мне пока хватает.
+
avatar
0
  • fps
  • 05 ноября 2025, 14:10
USB CDC — это костыль, хотя к нему можно приноровиться.
Можно ко всему приноровиться. Но зачем если есть нормальные отладочные платы с копеечной микросхемкой usb-uart

Остальное не понял, извините )
Вы что, ставите макетные платы в автономное использование? Зачем? ))
+
avatar
0
  • a140083
  • 05 ноября 2025, 14:32
макетные платы в автономное использование? Зачем? ))
У меня хобби — имею право :)

Когда устройство пройдет проверку, то сделаю ему полноценную плату.
+
avatar
0
  • aliex
  • 05 ноября 2025, 15:35
Там 4 компонента кроме этой платки, я бы голову с полноценной платой не морочил.
+
avatar
0
  • fps
  • 05 ноября 2025, 14:53
Самые удобные ESP32-C3 какие видел templates.blakadder.com/DT-ESP-C05.html
Но они почему-то пропали на ali

Для их прошивки полно приспособ типа таких https://aliexpress.ru/item/1005005314727580.html
+
avatar
0
  • aliex
  • 05 ноября 2025, 15:38
Ну если серию делать, или если места мало — тогда можно и с модулями голову морочить. А так зачем? Я бы, наоборот, не «super mini», а полноразмерную поставил.
+
avatar
0
  • vlo
  • 06 ноября 2025, 15:26
usb на ней в первую очередь для заливки прошивки и питания. с чем прекрасно и справляется.
+
avatar
0
  • fps
  • 06 ноября 2025, 17:11
Собрали прошивку.
Залили через этот усб.
Плата уходит в циклическую перезагрузку. Консоль подключается и тут же отваливается по кругу. Ничо не увидеть.
Как будете ладится?
+
avatar
-2
  • vlo
  • 06 ноября 2025, 17:21
так заливайте работоспособную прошивку.
это ж вы про «отладочную плату» писали, а не я.
+
avatar
-1
  • fps
  • 06 ноября 2025, 17:51
Не я.
Китайцы её так называют.
+
avatar
-2
  • vlo
  • 07 ноября 2025, 16:55
не встречал китайцев в данном обсуждении. сюда это притащили именно вы. вам и отвечать за свои безосновательные хотелки.
с тем, что озвучил я, проблем нет.
+
avatar
-1
  • fps
  • 07 ноября 2025, 17:08
Разработчику наверное виднее что он сделал и продаёт — модуль или дев-боард.
+
avatar
-1
  • vlo
  • 09 ноября 2025, 18:13
«разработчики» уже подались в продавцы на али?
и чего только не придумаешь ради отмазки…
+
avatar
-1
  • a140083
  • 06 ноября 2025, 21:38
Ничо не увидеть.
Как будете ладится?
Если включить выдачу отладки в IDE, то сначала вводится информация о плате, памяти, прошивке, потом ошибки выполнения. Много полезного для понимания собственных косяков
+
avatar
0
Часто бывает пропай выхода на антенну. Тоже попадались экземпляры, которые не видели сеть, пока не капнул флюса и не погрел.
На основе этой платы тоже не так давно сделал мелкий анализатор/редактор батарей DJI — вывод данных на олед, 4 кнопки, меню, редактирование ключевых параметров — прям в формате брелочка.
+
avatar
+1
  • AlexA42
  • 05 ноября 2025, 11:49
Великолепная работа! Сколько времени занял процесс разработки?
+
avatar
+5
Сложно сказать, занимался им когда мог выкроить вечера и как появлялся энтузиазм помучать ИИ. Но сильно бесили обрывы диалогов в самых интересных местах из-за ограничений в бесплатной версии чата. Самый геморой это начинать новый диалог с чатботом. Ему нужно скормить все исходники оригинала потом скормить все что уже насочинял и заставить продолжать исправлять то что не работало. Скармливание исходников тот еще квест т.к. только chatGPT принимает архивы с файлами, все остальные только файлами и то не всех разширений. Например gemini в Google AI studio не принимает исходники с расширениями из проекта но если их переименовать в .txt то он их с удовольствием переваривает т.к. по сути это ж просто текстовые файлы. А тот же gemini но в вебверсии gemini.google.com отлично принимает файлы в оригинальном названии. но у него ограничение на длинну диалога с моделью 2.5. pro. Так же заметил что если вести очень длинный диалог в gemini в Google AI studio когда счетчик токенов достигает 200к то у бота начинаются галюны и он начинает лепить гарбатого а самое бесящее что он начинает делать сокращения в выдаваемых текстах исходных кодов даже если его настоятельно просить этого не делать. Приходится начинать новый чат и опять по новой скармливать все данные и вводить в курс дела. Это сильно демотивирует и энтузиазм проподает. Поэтому сроки работ растягиваются. Но думаю недельку вечеров я потратил на этот процесс.
+
avatar
0
  • Sanja
  • 06 ноября 2025, 23:01
Горячо рекомендую освоить синтаксис markdown и писать чатботу на нём. Весь код тогда вставляете либо инлайн, закавычив
`вот так`
, или, если нужно скормить листинг, то

```
как-то
вот
так
```
Я собираю вводные в простом текстовом редакторе в одну простыню и скармливаю, ответы стоящие переношу туда же.

Ещё очень рекомендую попробовать github.com/open-webui/open-webui — у меня в него подключены Claude и ChatGPT, удобно переключаться (код пишет лучше первый, советы даёт — второй).

И да, лучше формулировать вопросы по-английски — корпус английских текстов для обучения на порядки больше чем на русском, соответственно модель «соображает» на нём сильно лучше.
+
avatar
+4
Восхитительный сплав настоящего олдскула с актуальным вайбкодингом. Так держать! Спасибо большое за проект и статью!
+
avatar
0
Иначе как раз есть шанс заблокировать батарею. Поэтому я пришел к выводу, что оригинальные батареи лучше заряжать на оригинальных з/у.


Также следует учитывать, что не заблокированная/разблокированная оригинальная батарея может не заряжаться от оригинального же зарядного Makita по причине срабатывания 4-х выводного smd предохранителя на bms платы батареи. Например при подключении к BL1830 всякоразных трехвыводных цепных пил и секаторов с коллекторным мотором и тд. По информации с известного рессурса по разблокировке/ремонту батарей там предохранителей несколько
+
avatar
0
  • aliex
  • 05 ноября 2025, 17:08
А что за «известный ресурс»?
+
avatar
0
А что за «известный ресурс»?
Например:
«Makita bl1830 Reset сброс и полное описание»
PS собирал на Ардуине по usb к компу на win10, один заблоченный bl1860 сбросил ( стоял на фонарике Макиты же, в фонарике почему то оказался предохранитель по питанию «сгоревший», по памяти 5 Амперный там, а bl1860 заблокированный, перед этим заряжался на неродной 3А зарядке). Причина блокировки осталась загадкой, после разблокировки работает.
В двух других bl1830 восстанавливал предохранитель после подключения к китайской цепной пиле и секатору два раза. Пилу и секатор хозяева убрали подальше ;-))

По маркировке 15А 4х- выводный с подогревом ))
+
avatar
+1
  • aliex
  • 05 ноября 2025, 19:40
Спасибо. Даже не видел этот ресурс никогда, а интересный
+
avatar
+1
2-й полезный извесный рессурс:
"Батареи Макита 18в разблокировка"
+
avatar
0
А зачем ESP32? ESP8266 не справляется?
+
avatar
+3
  • 00svd00
  • 05 ноября 2025, 19:25
В нём смысла больше нет, 8266 устарел. ESP32-C3 во всём лучше и дешевле, и по хорошему должен однажды полностью вытеснить. Насколько я знаю, он и разрабатывался как замена.
+
avatar
0
  • aliex
  • 05 ноября 2025, 19:51
Гм. Зашёл, глянул на цены… платки с 8266 сильно меньше бакса же стоили, и где? Даже сам модуль ESP12 под бакс… ESP32-C3, конечно, не дешевле, а примерно столько же (что, разумеется, делает использование 8266 бессмысленным), но что за дичь творится-то?
+
avatar
0
  • 00svd00
  • 05 ноября 2025, 20:12
Да вроде не было такого чтоб прям меньше бакса. Всегда было доллар-полтора. Разве что на распродажах
+
avatar
0
  • aliex
  • 05 ноября 2025, 20:29
Понятно, что на распродажах, но эти распродажи были постоянно. А сейчас — шиш. То ли к 11.11 готовятся, то ли таки подорожало.
+
avatar
0
Так почему бессмысленно? Если эти вычислительные мощности не нужны, то количество пинов сильно ограничивает возможности ESP32-C3 в поделках. И на антенну люди жалуются.
+
avatar
0
  • aliex
  • 06 ноября 2025, 00:46
8266 и её пины — это отдельная мрачная песня, и это, насколько я помню, в esp32 поправили. А так — одного 5ГГц вайфай достаточно. А если ног не хватает — так надо не на 8266 бежать, а на S3. И вообще при таких ценах, если речь не о сериях, где деньги считать придётся, есть смысл брать что-то пожирнее, чтобы вообще не думать о том, хватит ли ресурсов.
+
avatar
0
  • vlo
  • 06 ноября 2025, 15:31
одного 5ГГц вайфай достаточно
а откуда он там взялся?
+
avatar
0
  • aliex
  • 06 ноября 2025, 15:38
Да. Что-то в глове помутилось.
+
avatar
0
  • vlo
  • 06 ноября 2025, 16:34
ну n вместо g тоже полезен, последний нынче может быть у роутеров и отключен.
+
avatar
0
  • aliex
  • 06 ноября 2025, 16:56
Тьфу, помнил же, что что-то добавили… его и имел в виду.
+
avatar
0
  • vlo
  • 06 ноября 2025, 17:22
из новых радиоинтерфейсов все же bt (применительно к -c3). во всяком случае я с ней связался только из-за этого.
+
avatar
0
  • aliex
  • 06 ноября 2025, 17:26
У меня она пока валяется, хотя придётся как раз с bt и возиться. Я его сильно недолюбливаю, но тут… купил, понимаешь, дурацкие лампочки по дешёвке. CRI97, управление яркостью и цветовой температурой… но по синезубу из приложения. Для HA надо железный бридж шить.

А так — я именно вайфай в голове держал, только запутался
+
avatar
0
  • 00svd00
  • 06 ноября 2025, 04:07
А почему вы думаете, что у C3 меньше пинов? Просто конкретно на этих платках они не все выведены, но даже если в лоб сравнивать с мегапопулярным девкитом Wemos D1 mini — у C3 supermicro аж 13 GPIO против 12 у D1. Из них 5 аналоговых против 1 у D1 и нет проклятых пинов типа GPIO0 у D1.
З.Ы. А чип-антенна у c3 supermicro объективно лучше печатной у D1. В равных условиях видит больше сетей и имеет более уверенный приём
+
avatar
0
  • Serj_I
  • 05 ноября 2025, 23:33
И чем же он лучше? Нормальный рабочий модуль купить целая проблема (лотерея), у меня их уже штук 20 валяется, выкинуть жалко. А 8266 работают и не глючат годами.
+
avatar
0
  • 00svd00
  • 06 ноября 2025, 03:40
Модуль в смысле что-то типа esp32-c3-20-n4 или esp-32-c3-wroom-02? Этих у меня мало было, в основном supermicro платки как у ТС — и они прям суперские. В габаритах голого модуля — полноценный девкит с usb, питанием и кнопками, суперская чип-антенна вместо печатной, проблем никаких, единственный минус — ног меньше, чем могло быть, но там где надо много ног — там можно разориться на esp32-s2 или s3.
Ну а если сравнивать лоб в лоб C3 с 8266 — там и наличие BT, и более шустрый проц. Если брать полноценный модуль — там ещё и дополнительный HW UART(правда опять же, когда нужно много UART-ов, проще взять S3, где тоже 3 UART контроллера и буквально любые пины можно переназначить как угодно). Если бы ещё был ULP сопроцессора — был бы прям конфеткой, но чего нет того нет. В любом случае, для наколенных поделлк планирую полностью перейти на них — толко что запасы Wemos D1 доюзаю(уже почти доюзал, буквально парочка осталась)
+
avatar
0
Думаю и на 8266 заведется. Но делал на том что было под рукой и мне габариты устроили чтоб все компактненько слепить в кучку.
Исходники в наличии, кому интересно можете попробовать и на esp8266.
+
avatar
+1
  • Berlin
  • 06 ноября 2025, 15:43
Если говорить о оригинальных батареях гайкавертов для откручивания колес у внедорожников, то акумы от макиты ломаются позже чем у милкиуоки. Но при этом милкиуоки дороже выходят. Очень крутое устройство у вас получилось ТС (лучше так и оставить без акума, с независимым питанием так надёжней, если оставить в бардачке в -40 градусов).
+
avatar
+3
  • Sanja
  • 06 ноября 2025, 22:54
если кому актуально, протокол Милуоки тоже расшифровали:

github.com/mnh-jansson/m18-protocol

+
avatar
0
  • ZhiGUN
  • 09 ноября 2025, 11:36
Хотел уточнить. В оригинальной программе OBI-1 в пункте Reset battery присутствуют 2 кнопки Clear errors и Reset battery message. В Вашей версии только одна кнопка очистить ошибки. Нажатие на нее равносильно нажатию в оригинальной только Clear errors? Или происходит сразу и Clear errors и Reset battery message? И может подскажете зачем нужна кнопка Reset battery message в оригинальном проекте, что она делает?
+
avatar
+1
Подскажу. В оригинальном по OBI-1 вторая кнопка сделана но реализована, в исходниках эта функция «в разработке» и по факту она ничего не отправляет в батарею и не принимает, это можно увидеть в окне логов где видно какие команды программа пытается отправить в аккум и что она получает в ответ. Поэтому и у меня этой функции нет т.к. это пустышка.
+
avatar
0
Эта приблуда только для оригинальных батарей Макита?
Стоило бы указать жирным шрифтом в преамбуле.
+
avatar
0
  • vlo
  • 09 ноября 2025, 18:14
вероятно для совместимых с «желтым разьемом» тоже.
а если без — тут и так все очевидно.
+
avatar
0
А мы уверены, что «Каждый, кто работает с профессиональным инструментом Makita, знает, » что работает не с инструментом Макита? Я вот сомневаюсь. Разумеется тот кто захочет повторить этот прибор — разберётся.
+
avatar
0
  • dza
  • 11 ноября 2025, 21:40
Спасибо всем. Уже разобрался как запустить проект. Я дал ссылку на папку с ini файлом и все дальше пошло почти автоматом.
+
avatar
+1
+
avatar
+1
либо тоже самое в правом верхнем углу в выпадающем меню на кнопочке с галочкой
+
avatar
0
Очень актуальная конструкция! Еще бы интернет приклеить, то есть находясь на работе, я смогу ежечасно проверять состояние батареи на шуруповерта, который уже год лежит в кладовке без движения.
+
avatar
0
Кто повторял, после прошивки не могу зайти на страницу192.168.4.1… Сеть есть,ESP32 не подключена к батарее. Так и должно быть?
+
avatar
+2
Помимо основной прошивки, нужно отдельно прошить файловую систему чтоб загрузить содержимое папки data с веб интерфейсом. Это делается нажав на задачу upload file system в разделе задач platformio.
+
avatar
+1
+
avatar
0
В папках проекта не нашёл данного файла. Просветите пожалуйста подробно с прошивкой esp32.
+
avatar
0
Какого файла?
Это делается нажав на задачу upload file system image в разделе задач platformio. см.скрин выше.
+
avatar
0
Всё. Разобрался, затупил немножко. Ещё такой вопрос, а плату от аккума(без аккумуляторов) возможно прочитать? Я тут пытаюсь, пишет батарея не подключена, уже и питание пытался с БП подкинуть.
+
avatar
0
  • nikkip
  • 19 ноября 2025, 08:01
Нужно аккумулятор будет добавить к устройству. Ведь если макитовский разряжен, от него запитаться не получится. А если использовать его с отдельным питанием, то опять провода… Так и с ардуиной можно. Нужно отдельный ни от чего не зависящий модуль
+
avatar
0
  • nikkip
  • 19 ноября 2025, 09:05
Я нашел тех о ком вы писали, кто пытается продавать аналогичный девайс. У них как раз со встроенным акумом и в корпусе. На счет автономности конечно же удобен. Но дороговато на мой взгляд…
ссылка
+
avatar
0
Да, я видел этот ролик и как раз он меня и мотивировал попробовать сделать аналог т.к. понял что это возможно. Я в комментах к этому видео пытался оставить ссылки на мой проект, но автор ролика удаляет мои комментарии со ссылками
+
avatar
0
  • dimus80
  • 20 ноября 2025, 10:37
На такой плате возможна реализация этого проекта:
https://aliexpress.ru/item/1005002837370502.html

Спасибо!
+
avatar
0
Добрый день.
У вас в описании на Github написано:
… Коллектор транзистора -> через резистор 4.7 кОм -> к +5В на ESP32…
А на схеме коллектор подключен через R1 2.2 кОм.
Как всетаки правильно?
Спасибо
+
avatar
+2
Ставьте 2.2кОм
+
avatar
0
Подскажите пожалуйста. Я в этом деле новичок. Все сделал по инструкции, прошивка загрузилась, к вай фаю подключается. Но веб интерфейс не открывается. В чем может быть проблема?
+
avatar
0
посмотрите чат чуть выше, уже задавали этот вопрос radist8115 ноября 2025, 11:18
под этим вопросом есть мой ответ со скриншотом
+
avatar
0
Спасибо большое. Все работает, аккумуляторы разблокировал
+
avatar
0
Добрый день.
Очередной идиотский вопрос:
подскажите пожалуйста, правильно у меня на фото обозначены точки подключения с Вашей схемы?
Спасибо
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.