![]() | This forum section is linked to the series: Xiaomi Mijia Rating: 4.3 |
ST-LINК, установка программного обеспечения:
В общем-то, весь необходимый софт - это
и бесплатная утилита
Скачать их можно с оф.сайта или вложения.
Установка драйвера стандартная для Windows. При подключении ST-LINK к USB, в системе появится новое устройство "STMicroelectronics STLink dongle".
[quote="M365 spain"]Можно ли будет убрать лимит скорости? и добавить zero start?[/quote]
[quote="M365 spain"]добавить ячейки в стоковую.[/quote]
Это уже есть в кастомной прошивке. Батарея мах. 12S (50.4V) - больше родной контроллер не выдержит.
[quote="M365 spain"]снять ограничения чтоб можно было тыкать любую батарею[/quote]
Вместо аппаратной "обманки"? Такого пока нет. Но в клонах сяоката как-то обошли. https://electro.club/forum/podklyuchenie_alternativnogo_kontrollera_k_syaokatu&page=2#msg43471
[quote="M365 spain"]A что именно не выдержит?[/quote]
Входной преобразователь DC-DC, который понижает напряжение батареи до 12V. Вот так они горят:
https://electro.club/forum/elektrosamokatyi_xiaomi/probit_element_na_glavnoy_plate_upravleniya
[quote="M365 spain"]St-link уже пропаял- если подать напряжение на пин 5v на плате то можно прошивать прямо от компа.[/quote]
Уже пробовали? Чип виден? Когда чип виден, но защита от чтения установлена, должно быть так:
Да, именно так и было... до того как я залил туда прошивку с интернета ( без бутлоадера)
Не содержит постороннего кода и имеет начальную структуру с нулевым пробегом. Собрана из оригинального m365 boot-загрузчика и прошивки v1.34. Чип остается открытым на запись и чтение до первого обновления прошивки.
Огромное Спасибо Conejo, без него ничего бы не получилось!
---
ВНИМАНИЕ! Пробег будет сброшен в ноль.
UPDATE:
Ребят привет,
Есть БМС из китая (типа оригинал).
Но контроллер на неё ругается, говорит Communication error.
Тут видео.
програматор ST-LINK уже заказал.
План насильно перепрошить БМС'у програматором.
Вопрос, если в БМС запорот бутлоадер я смогу что-то с ней сделать? Или это утиль?
Видео:
Кстати бмс на зарядку тоже не реагирует.
Я подозреваю что когда я перепаивал предохранители (потому что хитрый китаец поставил перемычки) , то мог перегреть плату. Но пока просто попробую прошить.
Интересно узнать ваши мысли по этому поводу.
[quote="FIR3MAN"]програматор ST-LINK уже заказал.
План насильно перепрошить БМС'у програматором.
Вопрос, если в БМС запорот бутлоадер я смогу что-то с ней сделать? Или это утиль? [/quote]
Бутлоадер доступен - чип БМС в оригинале открыт. Только, перед тем как шить, слейте с нее все содержимое (backup).
Программа для ST-LINK - ST Visual Programmer (STVP).
Контакты - это SWIM интерфейс для ST-LINK.
Если китайцы не забыли развести на плате UART, то на первом этапе БМС будет рабочая, но не активированная (ошибка BMS password error).
О прошивке БМС было немного в начале темы: https://electro.club/f/31396
Там оригинальная прошивка (включая бут), распиновка разъема и общий вид программы.
p.s Перед тем как шить, прозвоните тестером контакты UART (RХ, TX) от платы БМС до коннектора, который втыкается в разъем контроллера. Может там просто обрыв. Внимательно осмотрите место пайки предохранителя, соседние элементы и обратную сторону платы - может, что отпаялось. Промойте это место спиртом от остатков флюса.
Прозвонки и промывки, естественно надо делать при отключенной БМС. Пока синий диод мигает - не все потеряно)
FIR3MAN, если Вы занимались с ардуинкой, то этот опыт поможет. Подслушать шину можно через USB то UART свисток, в терминалке на компьютере. Из терминалок понравилась COM Port Toolkit 4.0. Выдает сразу в HEX.
4-й контакт SWIM - это, вероятно питание 3,3V для программирования на столе без батареи.
На Али пишут, что-то типа, покупайте, если знаете что с этим делать. Про БМС с Али уже спрашивали и тут (чем она отличается от оригинала). Но пока никто не пробовал.
[quote="FIR3MAN"]Есть БМС из китая (типа оригинал).[/quote]
Такая?
Да, именно.
Спасибо большое за помощь.
Буду ждать програматор. Пока что прозвонил провода идущие к контроллеру там все хорошо. Завтра будет немного больше времени и и попробую послушать что там БМС высылает. Отмыть плату от флюса это хорошая идея сейчас попробую :)
Ed01, светодиод (а так же балансировка) - на совести STM8, так что раз мигает - какая-то прошивка в нём есть (STM8 Led Blink Example ? :D), интересно теперь дождаться прихода программатора FIR3MANу и узнать что внутри.
На всякий случай, алгоритм активации BMS вручную с использованием только ST-LINK (эта процедура поможет и от ошибки 22 BMS Password Invalid):
- отсоединяем BMS от всего полностю
- подсоединяем к ST-LINK (4 незапаянных отверстия, считая с квадратного: RESET, GND, SWIM, 3V3)
- подаём на 3V3 внешнее 3.3В питание (у меня самодельный ST-LINK, беру прямо с его стабилизатора)
BMS с родной прошивкой с таким питанием начинает ну очень быстро мигать красным светодиодом
- подключаем ST-LINK к компьютеру
- запускаем STVP (установка описана Ed01 ранее в этой же теме)
- через меню Configure->Configure ST Visual Programmer выставляем настройки:
Hardware: ST-LINK, Port: USB, Programming mode: SWIM, Device: STM8L15xK6, OK
- переключаемся на вкладку DATA MEMORY
- делаем Read->Current tab, видим считанные данные EEPROM
- на всякий случай сохраняем их (правая кнопка на данных, Save as)
- меняем самые первые два байта на AA AA
- делаем Program->Current tab
- закрываем STVP, отсоединяем ST-LINK от компьютера, снимаем питание 3.3В (если отдельное)
- подсоединяем BMS к батарее, нажимаем кнопку, убеждаемся что какой-то запуск да произошел (диод(ы) поморгал(и)) - в этот момент внутри BMS произойдут интересные вещи: увидев AA AA, она сама пропишет в EEPROM правильный UID (однако при этом сбросит серийный номер и некоторые параметры вроде ёмкости)
- отсоединяем BMS от батареи
- повторяем все шаги от "подаём на 3V3..." по "делаем Read..."
- если "магия" произошла, увидим следующие изменения:
AA AA поменялись на 5A 5A
по 1020 серийный номер сменился на 3GA0016A1A0001
под ним поменялись цифры емкостей
по 10E0 прописался UID (12 в основном ненулевых байт)
- меняем серийный номер на свой (ну или любой, но важен второй символ - J, он определяет фабричную ёмкость)
- по 1030 меняем 4 байта на 78 1E 78 1E - это ёмкость
- по 1060 меняем 2 байта на 01 00 - это статус, 01 00 означает "данные EEPROM верны, ошибок нет"
- делаем Program->Current tab
- готово, закрываем, отсоединяем, подключаем к батарее
Conejo, вот это классно, что бы мы без Вас делали?!
Остается только продумать, как этот алгоритм сократить до минимума шагов, для создания ремонтной прошивки BMS.
(хотя он и так хорош). Первое, что приходит в голову - это сразу прописать AA AA и некоторые значения в файле изначальной прошивки EEPROM.
---
p.s Хотел еще собрать макет, для эмуляции электроники сяоката на столе. Чтобы не разбирать самокат для тестов прошивок, которые выходят за рамки стандартного конструктора. По типу:
Ed01, посмотрел - в ремонтной прошивке в EEPROM имеет смысл только АА АА, остальное - забить нулями. Всё остальное так или иначе будет либо сброшено на значения по умолчанию как результат работы АА АА, либо является динамическим параметром.
Пытался проделать всё то же самое через UART (протокол позволяет) - BMS без батареи (у моей большинство ячеек умерло вследствие пробоя U4/U5, жду материалы) в состоянии ошибки общаться не хочет, так что с ST-LINK - надёжнее :)
Language: English Scope: Форум Layout: Adaptive Except where otherwise noted, content on this site is licensed under the following license: CC Attribution-Share Alike 4.0 International © electro.club, 2015-2022 [email protected] |