Софт мод или лечим SkyRc MC3000 для зарядки "уставших" NiMH
Прикупил несколько лет назад зарядное SkyRc MC3000, ну думал перекроет все мои хотелки, оказалось капризным по отношению к зарядке NiMH, «уставшие» аккумуляторы не хочет заряжать, пишет на экране «Connection Break». Поигрался с нею еще несколько раз, да отложил на полку. Продавать жалко, как всегда, через цать лет пригодилось.
Увлекаюсь написанием прошивок для STM32, и что полез глянуть на чем собрана зарядка, аха, STM32. Нашел пятаки для внутрисхемной прошивки, подпаялся, вывел наружу, гребенку распаял под ST-Link на Nucleo. МК залочен. Опять печаль.
Начал копать утилиту обновления прошивки. ИИ помог найти англоязычные форумы, что прошивка лежит в чистом виде внутри утилиты. Далее за несколько часов ИИ помог извлечь прошивку, модифицировать, упаковать назад в утилиту обновления и прошить зарядку.
Шить было страшно, но т.к. встроенный модуль в МК обновления не затирался, можно восстановить из состояния «кирпича»
1. Отключите от зарядного устройства кабель питания и USB-кабель (если они были подключены).
2. Нажмите и удерживайте нажатой кнопку «Enter» на лицевой панели зарядного устройства.
3. Не отпуская кнопку «Enter», подключите кабель питания к устройству.
4. Подключите USB-кабель к компьютеру.
5. Примечание: При этом экран зарядного устройства останется полностью черным (или будет включена только подсветка без вывода текста/иконок) — это нормальное поведение в режиме прошивки.
6. Запустите официальную программу-прошивальщик на компьютере (например, MC3000_Firmware_Update.exe), выберите файл прошивки и нажмите кнопку
Все получилось.
Итак что поменял:
1. ИИ вылечил ее от нежелания заряжать старые акки NiMH.
2. В версии прошивки просил его написать мод, но не влезло, осталась только «1.27_»
Детальное описание от ИИ:
Что мы изменим в прошивке (3 точечных патча)
1. Поднимем потолок скачка напряжения для NiMH/NiCd/Eneloop с 2400 мВ до 3400 мВ (+1500 мВ вместо +500 мВ):
По адресу 0x08005408 инструкцию add.w r0, r0, #0x1f4 (00 f5 fa 70 — прибавить 500 мВ) заменим на add.w r0, r0, #0x5dc (00 f5 96 60 — прибавить 1500 мВ). Теперь порог для NiMH станет 3400 мВ (для лития при этом ничего не изменится — он обходит эту строку). Защита от реального выдергивания батареи из слота (когда напряжение улетает до 5000+ мВ) полностью сохранится.
2. Отключим ложную браковку по высокому сопротивлению (Battery So Poor):
По адресу 0x0800546e инструкцию условного перехода bhs #0x8005474 (01 d2) заменим на безусловный переход b #0x8005474 (01 e0). Зарядка перестанет прерывать цикл с ошибкой Battery So Poor на старых банках с IR > 200 мОм.
3. Расширим таймаут падения тока (0x0800557a):
По адресу 0x0800557a инструкцию cmp r0, #0xfa (лимит 250 тиков при просадке тока, после которого тоже выскакивает Connection Break) заменим на cmp r0, #0xff или пропустим переход bls #0x8005594 (0a d9 -> 0a e0 — безусловный b #0x8005594), чтобы в процессе заряда уставший аккумулятор не отключался по Connection Break.
Все сложил в архив и выгрузил в облако:
cloudbeeline.ru/links/fs/JvuKNsQPRV2ZZRfN2Jhe6g
202 Мб.
Планы на будущее – таким же образом довести до ума зарядку ISDT C4 Evo (вылечить ее от раннего окончания зарядки NiMh, ввести регулировку тока по 10-50 мА, а не по 100 мА).
З.Ы.
Парень с Украины написал неплохую версию программы для ПК, управления зарядкой, MC3000_Studio. Все лежит в архиве.
Увлекаюсь написанием прошивок для STM32, и что полез глянуть на чем собрана зарядка, аха, STM32. Нашел пятаки для внутрисхемной прошивки, подпаялся, вывел наружу, гребенку распаял под ST-Link на Nucleo. МК залочен. Опять печаль.
Начал копать утилиту обновления прошивки. ИИ помог найти англоязычные форумы, что прошивка лежит в чистом виде внутри утилиты. Далее за несколько часов ИИ помог извлечь прошивку, модифицировать, упаковать назад в утилиту обновления и прошить зарядку.
Шить было страшно, но т.к. встроенный модуль в МК обновления не затирался, можно восстановить из состояния «кирпича» 1. Отключите от зарядного устройства кабель питания и USB-кабель (если они были подключены).
2. Нажмите и удерживайте нажатой кнопку «Enter» на лицевой панели зарядного устройства.
3. Не отпуская кнопку «Enter», подключите кабель питания к устройству.
4. Подключите USB-кабель к компьютеру.
5. Примечание: При этом экран зарядного устройства останется полностью черным (или будет включена только подсветка без вывода текста/иконок) — это нормальное поведение в режиме прошивки.
6. Запустите официальную программу-прошивальщик на компьютере (например, MC3000_Firmware_Update.exe), выберите файл прошивки и нажмите кнопку
Все получилось.
Итак что поменял:
1. ИИ вылечил ее от нежелания заряжать старые акки NiMH.
2. В версии прошивки просил его написать мод, но не влезло, осталась только «1.27_»
Детальное описание от ИИ:
Что мы изменим в прошивке (3 точечных патча)
1. Поднимем потолок скачка напряжения для NiMH/NiCd/Eneloop с 2400 мВ до 3400 мВ (+1500 мВ вместо +500 мВ):
По адресу 0x08005408 инструкцию add.w r0, r0, #0x1f4 (00 f5 fa 70 — прибавить 500 мВ) заменим на add.w r0, r0, #0x5dc (00 f5 96 60 — прибавить 1500 мВ). Теперь порог для NiMH станет 3400 мВ (для лития при этом ничего не изменится — он обходит эту строку). Защита от реального выдергивания батареи из слота (когда напряжение улетает до 5000+ мВ) полностью сохранится.
2. Отключим ложную браковку по высокому сопротивлению (Battery So Poor):
По адресу 0x0800546e инструкцию условного перехода bhs #0x8005474 (01 d2) заменим на безусловный переход b #0x8005474 (01 e0). Зарядка перестанет прерывать цикл с ошибкой Battery So Poor на старых банках с IR > 200 мОм.
3. Расширим таймаут падения тока (0x0800557a):
По адресу 0x0800557a инструкцию cmp r0, #0xfa (лимит 250 тиков при просадке тока, после которого тоже выскакивает Connection Break) заменим на cmp r0, #0xff или пропустим переход bls #0x8005594 (0a d9 -> 0a e0 — безусловный b #0x8005594), чтобы в процессе заряда уставший аккумулятор не отключался по Connection Break.
Все сложил в архив и выгрузил в облако:cloudbeeline.ru/links/fs/JvuKNsQPRV2ZZRfN2Jhe6g
202 Мб.
Планы на будущее – таким же образом довести до ума зарядку ISDT C4 Evo (вылечить ее от раннего окончания зарядки NiMh, ввести регулировку тока по 10-50 мА, а не по 100 мА).
З.Ы.
Парень с Украины написал неплохую версию программы для ПК, управления зарядкой, MC3000_Studio. Все лежит в архиве.
свернутьразвернуть
Комментарии (1)
RSS
+1
- 14 ноября 2026, 14:37
У меня Technoline BC-700. До сих пор пашет, и прошивать не надо.
Самые обсуждаемые обзоры