Майстерня: ремонт і досліди

Прошивка клону IMAX B6 (ATmega32A) на cheali-charger через USBASP

Опубліковано 14.04.2017 · Оновлено 07.11.2026

Китайський клон зарядки IMAX B6 на мікроконтролері ATmega32A можна перепрошити відкритою прошивкою cheali-charger. Потрібен лише програматор USBASP за долар. Як ми це зробили: драйвер, підключення, резервна копія заводської прошивки, запис нової і як повернути все назад.

Що в нас було

  • Клон зарядки IMAX B6 «Lipro Balance Charger». У 2017 році він коштував близько 15 $.
  • Програматор USBASP з AliExpress за 1,2 $.
  • Компʼютер з Windows 8.1 (64 біти). Під Linux драйвер для USBASP не потрібен, решта кроків та сама.
Зарядка IMAX B6 (клон) з комплектом дротів
Наш клон IMAX B6 з комплектними дротами.

Перевірте, на чому зібрано плату. На нашій стоїть ATmega32A у корпусі TQFP-44 і кварц на 16 МГц. Саме під таку плату й зроблено cheali-charger. Якщо у вас інший мікроконтролер, ця інструкція вам не підходить.

Плата зарядки зі знятим корпусом
Плата без корпусу: дисплей 16×2, дросель перетворювача, роз'єми балансира внизу.
Мікроконтролер ATmega32A на платі
Мікроконтролер Atmel ATMEGA32A-AU. Нижче праворуч видно кварц на 16 МГц.

Програматор і драйвер

USBASP — найдешевший програматор для AVR. Під Windows йому потрібен драйвер. Ставили його програмою Zadig (zadig.akeo.ie): у списку пристроїв вибрати «USBasp» (USB ID 16C0:05DC), драйвер — libusb-win32, кнопка встановлення.

Zadig: драйвер libusb-win32 для USBasp
Zadig: пристрій USBasp (16C0:05DC), драйвер libusb-win32.

Після цього жовтий знак оклику в диспетчері пристроїв зникає.

Програматор USBASP, лицьовий бік
USBASP v2.0: перемичка живлення (5 В / 3,3 В) — праворуч унизу.
Програматор USBASP, зворотний бік
Зворотний бік програматора.

⚠ Перемичку живлення на USBASP поставте на 5 В. ATmega32A на цій платі працює від 5 В.

Підключення до плати

Біля мікроконтролера на платі є ряд контактів для програмування (ISP). З'єднуємо їх із роз'ємом USBASP «один до одного», нічого не перехрещуючи:

СигналРоз'єм USBASP (10 контактів)Вивід ATmega32A (TQFP-44)
MOSI11
MISO92
SCK73
RESET54
VCC (5 В)25
GND4, 6, 8, 106

Підписи на гребінці плати бувають різні, тож продзвоніть мультиметром кожен контакт до виводу мікроконтролера з таблиці. Хвилина роботи, а помилку відразу видно.

Дроти від програматора, припаяні до гребінки ISP
Шлейф USBASP і дроти, припаяні до контактів ISP на платі.

Крок 1. Зберегти заводську прошивку

Без цієї копії повернутись на заводську прошивку буде неможливо. Програма — avrdude (ми брали версію 6.3; вона входить до складу Arduino IDE або є на сторінці проєкту). Одна команда читає все: flash, EEPROM і обидва байти фьюзів:

avrdude -p atmega32 -c usbasp -U flash:r:flash.hex:i -U eeprom:r:eeprom.hex:i -U lfuse:r:lfuse.hex:h -U hfuse:r:hfuse.hex:h

Що має бути у виводі:

  • Device signature = 0x1e9502 (probably m32). Це ATmega32 або ATmega32A: у них однаковий підпис. Якщо підпис інший або нулі, перевірте дроти й живлення.
  • Наприкінці — Fuses OK (E:FF, H:C9, L:3F). Фьюзи ми не змінювали і вам не радимо: прошивка cheali-charger працює з тими, що є.

Збережіть усі чотири файли. EEPROM теж важливий: у ньому калібрування саме вашої зарядки.

Крок 2. Записати cheali-charger

Прошивку беремо з репозиторію проєкту: github.com/stawel/cheali-charger. Інструкція з прошивання — у docs/flashing.md. У 2017 році ми брали файл із теки hex/unstable. Там лежать окремі файли під різні варіанти плати, тож беріть файл саме під свою.

avrdude -p atmega32 -c usbasp -U flash:w:cheali-charger.hex:a

avrdude сам стирає мікросхему, записує й звіряє. У нас записалось 30 810 байтів: запис тривав близько 16 секунд, звірка — 9. Наприкінці — 30810 bytes of flash verified.

Прошивання: програматор підключено до плати
Прошивання: USBASP через шлейф підключено до плати.

Після перезапуску зарядка показала нове меню cheali-charger.

Крок 3. Калібрування — обов'язково

⚠ Після нової прошивки зарядку треба відкалібрувати. Без калібрування напругу на банках вона міряє неточно, а для літієвих акумуляторів похибка навіть у кілька десятків мілівольт означає перезаряд. Порядок — у посібнику cheali-charger (у репозиторії проєкту). Знадобиться мультиметр, якому ви довіряєте.

Поки зарядка розібрана, заодно перевірте термопасту між силовими транзисторами і термопрокладкою. На клонах її часто немає зовсім.

Як повернути заводську прошивку

Ті самі файли з кроку 1, у зворотному напрямку:

avrdude -p atmega32 -c usbasp -U flash:w:flash.hex:i -U eeprom:w:eeprom.hex:i

Що далі

Ми плануємо власну прошивку для цієї зарядки, з тим, чого нам бракує в наявних. Це буде окрема стаття.

Журнал змін статті

ДатаЩо змінилось
07.11.2026Статтю переписано: таблиця підключення ISP, команди avrdude, калібрування, повернення заводської прошивки; фото з архіву 2017 року.
14.04.2017Перша версія на старому сайті.