Дисплей для Xiaomi Mijia M365

#модернизация
#электрика
+
Открыть шапку темы
X3_Shim
Новичок
X3_Shim
13 june 2019, 22:49
Posted: 13 june 2019, 22:49

Добрый вечер. Имею проблемку с прошивками и бортовиком на m365.


Спаял на MiniPro бортовичек. 


Прошил ее прошивкой нашего товарища https://github.com/fogbox/m365_display  extend_speedometer


Все работает отлично. Все показывает, радовался жизни. Спасибо авторам.


Далее решил прошиться для небольшого повышения мощи, отключения рекуперации и управления мощностью  (на базе 138). Бортовик отключаю, прошиваю, катаюсь. Прошивка нравится :) 

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


Отключил бортовик, прошил еще раз... все норм, включил бортовик, опять такое. Ощущение, что какой то конфликт установки мощности рекупа в бортовике (там он настраивается) и тем что я в прошивке убрал рекуперацию. 


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




AlexeySochi
Новичок
Сочи
AlexeySochi
14 june 2019, 10:06
Posted: 14 june 2019, 10:06
[quote="X3_Shim"]Спаял на MiniPro[/quote]

тоже раньше гонял (138 прошивка 43А) с дисплеем на ардуино нано, с такими же как у тебя задержками, потом решил попробовать на про мини, но то же самое (((

как перешел с 12с на 60В и эти глюки стали еще ощутимее (мощнее рывки)

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

кто бы подсказал что в скетче подправить? от чего эти всплески газа на сбросе?


p.s. перестроил сток зарядку немного, и при напряжении 4.19 на элемент получил примерно +4км к пробегу)


Oppozith
Новичок
ЛьвовRating: 1
Oppozith
18 june 2019, 17:37
Posted: 18 june 2019, 17:37

Получил дисплей.

Прошил контроллер на ПРО прошивку. После этого подключил дисплей. Всё ОК.

Жду пока СТлинк приедет, что-бы прошить BLE и читать реальные данные.

davnozdu
Новичок
Rating: 1
davnozdu
18 june 2019, 19:06
Posted: 18 june 2019, 19:06
Ответ пользователю
Leonidas : 12 june 2019, 19:16
на это сообщение (развернуть)
@davnozdu Спасибо я катаюсь уже тоже но как то стрёмно что всё вышло не так как надо и самое обидное то что селлер...

@davnozdu Спасибо я катаюсь уже тоже но как то стрёмно что всё вышло не так как надо и самое обидное то что селлер на пишет об этом и никто не пишет из тех кто купил, я написал. А есть ли плата которая не требует прошивки, я гдето тут видел такую ссылку там продавец написал что плата не требует прошивки. Да ещё рога Ninebot не видет самокат.

Есть такая плата - оригинал называется, но стоит около 50$

На счет платы, которая не требует прошивки, то тут китаец прав частично.

Она не требует прошивки так как прошита уже, но если это клон, то прошита опять же китайской кривой прошивкой.

Проще программатор купить и прошить им на полноценный оригинал.


То что в других программах не видится - так это нормально.

Там версия BLE другая зашита, писали что на новых версиях закрыли доступ к сторонним программам (и к кастомам тоже), только MiHome остается.

davnozdu
Новичок
Rating: 1
davnozdu
18 june 2019, 19:12
Posted: 18 june 2019, 19:12
Ответ пользователю
Imoaix : 12 june 2019, 22:04
на это сообщение (развернуть)
Приветствую! Чой-та не получается прошить BleДано:1) St-link v22) Клон дисплея от прошки чип (nrf51802)3) Ble365rec openocd...

Приветствую! Чой-та не получается прошить Ble

Дано:

1) St-link v2

2) Клон дисплея от прошки чип (nrf51802)

3) Ble365rec

 

openocd выдает

Error: init mode failed (unable to connect to the target)

in procedure 'init'

in procedure 'ocd_bouncer'

 

версия прошивки стлинка V2.J24.S4

подключил правильно swdio в swdio, swclk в swclk, gnd в gnd, +5v в 4 pin синего разьёма.

 

подскажите пожалуйста куда копать, почему ст линк через openocd не подхватывает nrf51802?

может проблема в разных камнях оригинала и клона? Ориг-nrf51822 , клон nrf51802

 

Нужно выпаять конденсатор на дисплее (у клона он уже отсутствует) и прошить, иначе прошивка не пойдет.

У вас ошибка подлкючения, проверяйте отсутствие конденсатора + провода.

Может где-то проводок болтается и нет коннекта.

Ну и прошивку ST-LINK на всякий случай обновите до последней через ST-LINK utility 

Если дисплей загорается при подключении проводов, то значит по крайней мере питание подается.

nikola_tesla
Участник
Rating: 38
nikola_tesla
19 june 2019, 19:20
Posted: 19 june 2019, 19:20

Такая проблема. После установки дисплея и прошивки 1.5.5 всё заработало, но после выключения самоката и включения мотор еле еле крутится. После очередной перепрошивки всё повторяется. Че за дела, кто знает?

Imoaix
Новичок
Rating: 3
Imoaix
20 june 2019, 2:07
Posted: 20 june 2019, 2:07
Ответ пользователю
davnozdu : 18 june 2019, 19:12
на это сообщение (развернуть)
Нужно выпаять конденсатор на дисплее (у клона он уже отсутствует) и прошить, иначе прошивка не пойдет.У вас...

Нужно выпаять конденсатор на дисплее (у клона он уже отсутствует) и прошить, иначе прошивка не пойдет.

У вас ошибка подлкючения, проверяйте отсутствие конденсатора + провода.

Может где-то проводок болтается и нет коннекта.

Ну и прошивку ST-LINK на всякий случай обновите до последней через ST-LINK utility 

Если дисплей загорается при подключении проводов, то значит по крайней мере питание подается.

 В итоге удачно прошил при помощи st-link'a от отладочной платы STM Nucleo, проблема была в гавёной копии китайского стлинк свистка. Ничего впаивать или выпаивать не пришлось.

 1   
pyatachok
Новичок
pyatachok
26 june 2019, 22:22
Posted: 26 june 2019, 22:22

Приветствую уважаемое сообщество.

Господа, подскажите пожалуйста, возможно ли подружить  всеми известную головную плату с дисплеем от ПРОшки с али, с клоном м365 (minirobot)

Получил дисплейчик, подключил, вроде работает,   индикация показывает, но, при включении сразу загорается фара, мигает стоп сигнал и нет реакции на курок газа.

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

Возможно кто то сталкивался, или есть какие варианты прошивок клона?

спасибо.

sk.den78
Новичок
sk.den78
09 july 2019, 9:34
Posted: 09 july 2019, 9:34

Ребята, такой вопрос:
Вчера прошивал дисплей для Pro версии с aliexpress с помощью ST_Link.
Когда перед прошивкой подключил его, у него мигал значёк ВТ
После прошивки, при подаче питания, загорелись и погасли все элементы кроме скорости и режима. Значёк ВТ не горит.
Ещё, при прошивке в окне dos были проблемы с кодировкой, но ключевые сообщения как на скрине в папке с прошивальщиком, были.
Как должен выглядеть прошитый дисплей (значёк ВТ)?
Должен ли его видеть телефон без подключения к ПК? (при подаче напряжения)
Спасибо.

Ed01
Продвинутый форумчанин
Rating: 574
Ed01
09 july 2019, 10:17
Posted: 09 july 2019, 10:17
[quote="sk.den78"]при прошивке в окне dos были проблемы с кодировкой[/quote]

Не имеет значения. Т.к сами команды прописаны на латинице.

[quote="sk.den78"]Значёк ВТ не горит[/quote]

Многим как раз не нравится его постоянное мигание на клоне.

В оригинале значек должен светиться, только когда есть соединение по BT.

[quote="sk.den78"]Должен ли его видеть телефон без подключения к ПК? (при подаче напряжения)[/quote]

Да. В приложении m365 Tools как пустое устройство под именем FLASH_NAME.

Правильное имя должно само прописаться при установке дисплея на самокат (при первом подключении).


 1   
Serenka
Новичок
Rating: 9
Serenka
09 july 2019, 12:21
Posted: 09 july 2019, 12:21
Ответ пользователю
sk.den78 : 09 july 2019, 9:34
на это сообщение (развернуть)
Ребята, такой вопрос:Вчера прошивал дисплей для Pro версии с aliexpress с помощью ST_Link.Когда перед прошивкой...

Ребята, такой вопрос:
Вчера прошивал дисплей для Pro версии с aliexpress с помощью ST_Link.
Когда перед прошивкой подключил его, у него мигал значёк ВТ
После прошивки, при подаче питания, загорелись и погасли все элементы кроме скорости и режима. Значёк ВТ не горит.
Ещё, при прошивке в окне dos были проблемы с кодировкой, но ключевые сообщения как на скрине в папке с прошивальщиком, были.
Как должен выглядеть прошитый дисплей (значёк ВТ)?
Должен ли его видеть телефон без подключения к ПК? (при подаче напряжения)
Спасибо.

[quote="sk.den78"]Как должен выглядеть прошитый дисплей [/quote]

Хочу еще добавить, такой "правильно" прошитый дисплей при включении фары на самокате уменьшает яркость всех своих символов.

 2   
Burdin
Новичок
Rating: 2
Burdin
10 july 2019, 11:42
Posted: 10 july 2019, 11:42

Пока семья на морях набросал свою версию дисплея для Сяоката.

Основные отличия от дисплея ув. @Ziliboba:

1.  STM32F103 вместо Атмеги, соответственно весь обмен данными реализован на прерываниях и DMA

2. Не используются запросы к ESC, которые содержат данные о состоянии ручек газа и тормоза (соответственно нет, задержек в реакции на которые тут выше жаловались).

Остальное, вроде, написал в описании к проекту. Ссылка: https://bitbucket.org/kburdin/m365m

 


 2   
ligion104
Новичок
ligion104
18 july 2019, 22:33
Posted: 18 july 2019, 22:33
Ответ пользователю
seadon : 03 june 2018, 14:57
на это сообщение (развернуть)

Подключил ардуино нано, включаю самокат пишет: bus not connected

no data to display

Подключил желтый bus провод к RX0

Диод и сопротивление 120  Ом припаял между RX0 и TX1 как на фото


убрал светодиоды rx и tx - ничего не изменилось

Можно вопрос?

Где находится 16 нога на ардуино нано

Burdin
Новичок
Rating: 2
Burdin
19 july 2019, 11:58
Posted: 19 july 2019, 11:58
Ответ пользователю
ligion104 : 18 july 2019, 22:33
на это сообщение (развернуть)
Можно вопрос?Где находится 16 нога на ардуино нано

Можно вопрос?

Где находится 16 нога на ардуино нано

Спойлер


ligion104
Новичок
ligion104
22 july 2019, 17:21
Posted: 22 july 2019, 17:21
Ответ пользователю
Burdin : 19 july 2019, 11:58
на это сообщение (развернуть)
[spoiler]

Спойлер

Всё сделал как видео, он или Кз выдает или шину не видит Ардуино нано

Serenka
Новичок
Rating: 9
Serenka
23 july 2019, 9:03
Posted: 23 july 2019, 9:03
Ответ пользователю
ligion104 : 22 july 2019, 17:21
на это сообщение (развернуть)
Всё сделал как видео, он или Кз выдает или шину не видит Ардуино нано

Всё сделал как видео, он или Кз выдает или шину не видит Ардуино нано

Мешают резисторы к Rx, Tx от встроенного сом-порта. Выпаять, или еще как....

ligion104
Новичок
ligion104
26 july 2019, 17:26
Posted: 26 july 2019, 17:26
Ответ пользователю
Serenka : 23 july 2019, 9:03
на это сообщение (развернуть)
Мешают резисторы к Rx, Tx от встроенного сом-порта. Выпаять, или еще как....

Мешают резисторы к Rx, Tx от встроенного сом-порта. Выпаять, или еще как....

А можно фотографию что отпаять.

Заранее Спасибо

Ziliboba
Участник
Rating: 51
Ziliboba
01 august 2019, 5:41
Posted: 01 august 2019, 5:41
[quote="AlexeySochi"]от чего эти всплески газа на сбросе?[/quote]

В "длинных" командах окончание - это текущее положение газа и тормоза. Они передаются от BLE в контроллер каждые 20мс.

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


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

Я почему-то полагал, что давно пофиксил и протестил - разницы не улавливал. Щас смотрю в код на гитхабе - не вижу

Это недосыпы 😴 или ошибки в ДНК :) со стороны виднее.


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

Хотелось наоборот - сделать запись в экран пакетами, но ктож знал, что библиотека i2c реализована настолько криво.


P.S. Так как. Су..обака..чий дождь теперь лил почти ТРИ месяца, а реальное лето началось только вчера - самокат уже врос в пол. И ессно ни о каких дисплеях я не вспоминал.


P.P.S. Фак! Точно. Нашёл :) не то я на гитхаб выложил.

Проверю в скорости и пофиксю.

 1   
Conejo
Форумчанин
МадридRating: 364
Conejo
01 august 2019, 18:22
Posted: 01 august 2019, 18:22
Ответ пользователю
Ziliboba : 01 august 2019, 5:41
на это сообщение (развернуть)
[цитата AlexeySochi] В "длинных" командах окончание - это текущее положение газа и тормоза. Они передаются от BLE в...
[quote="AlexeySochi"]от чего эти всплески газа на сбросе?[/quote]

В "длинных" командах окончание - это текущее положение газа и тормоза. Они передаются от BLE в контроллер каждые 20мс.

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


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

Я почему-то полагал, что давно пофиксил и протестил - разницы не улавливал. Щас смотрю в код на гитхабе - не вижу

Это недосыпы 😴 или ошибки в ДНК :) со стороны виднее.


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

Хотелось наоборот - сделать запись в экран пакетами, но ктож знал, что библиотека i2c реализована настолько криво.


P.S. Так как. Су..обака..чий дождь теперь лил почти ТРИ месяца, а реальное лето началось только вчера - самокат уже врос в пол. И ессно ни о каких дисплеях я не вспоминал.


P.P.S. Фак! Точно. Нашёл :) не то я на гитхаб выложил.

Проверю в скорости и пофиксю.

Нет смысла копировать газ/тормоз в свои пакеты, ESC использует последнее присланное значение пока не придёт новое, т.е. слать ему те же самые числа не даёт ничего кроме путаницы. Замените комбинированные команды 61 на простые 01 (чтение без передачи входов).

Смысл существования команды 61 как раз в том чтобы головной плате было где передать свежие значения входов при активном обмене с приложением (BLE подменяет команды 01 от приложения к ESC на 61 и вставляет данные входов) во избежание лагов. У вас же выходит ровно наоборот.

 2   
Ziliboba
Участник
Rating: 51
Ziliboba
02 august 2019, 2:45
Posted: 02 august 2019, 2:45

Гениально :) попробую.


Я догадывался, что смысла нет, но это писалось ещё до того как вы и Ed01 плотно поковырялись в коде и протоколе. Сам чот не увидел этой очевидности - столько думать очень больно :)

Спасибо.