Реклама: Замена или модернизация TF-100

 

Хочешь стать куратором любимой темы?

* Комментарии к новостям

7. City Coco и всё о них (Электроскутеры) от piter750 (23.10.2021 в 10:07)8. Контроллер (Электровелосипеды) от Весёлый Велосипедист (23.10.2021 в 09:57)9. Бортовой журнал о бегемотике(Куго макс спид). (Электросамокаты Kugoo M и G серии и аналоги ) от Самый обычный (23.10.2021 в 09:48)10. Восстановление АКБ малыми токами по версии Branimir (Свинцовые аккумуляторы) от bravias (23.10.2021 в 09:03)11. Моторы "mid drive + torque-sensor" 250-500W: Tongsheng TSDZ2 и Lingbei MM28.250 (Электровелосипеды с подвесным двигателем) от Morr_A (23.10.2021 в 08:30)12. Электролигерад "Бешеная кровать". (Успешные проекты) от _claw (23.10.2021 в 08:00)
Не нравится реклама? Пройдите простую регистрацию на форуме и не будете видеть рекламу.

Прочитано 38362 раз

0 Пользователи и 2 Гостей просматривают эту тему.

18 Мар 2020 в 16:33
Прочитано 38362 раз
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
В шапку переношу самое главное из темы.

Идея следующая: поставить дисплей-курок типа как на  G-booster и написать прошивку для него чтобы работало с текущим контроллером мотора или написать прошивку для TF-100 с некоторыми доп опциями (например с теми же настройками момента<->положения курка). Но чтобы заморочиться нужен протокол обмена и донорский дисплей?
Да и вообще тема кому-то интересна?

Разложенный протокол, примеры посылки (всё в HEX, скорость 9600 бод, без чётности, один стоп бит):
От TF-100 -> контроллеру мотора (посылки идут с периодом 40мс, байты передаются подряд без задержек)
Курок отпущен:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E5A00010564000C0000000005BE
     
Курок полностью нажат на первой скорости:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E5A00010564000C0000016605D9
   
Курок в отпущен, но после сохранения настройки диаметр колеса 7 и 8 биты меняются бывает, какой то глюк наверное прошивки или я чего то не догоняю:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E005A010564000C0000000005BE
   
Байт0 - начало посылки
Байт1 - возможно количество байт в посылке (считать все байты от 0 до 19)
Байт2 - может быть как то связано с опознаванием версии протокола, нужен курок где можно выбирать протокол передачи чтобы исследовать
Байт3 - может быть как то связано с опознаванием версии протокола, нужен курок где можно выбирать протокол передачи чтобы исследовать
Байт4 - скорость (0x5 - 1-я скорость, 0xA - 2-я скорость, 0xF - 3-я скорость), возможно скоростей можно задавать 16 штук по младшим 4-м битам, но нужно проверять, величина передаётся скорее всего просто так либо у неё другое назначение, для текущего контроллера мотора она не используется, все расчёты с этой величиной внутри TF-100
Байт5 -   6-й бит если установлен то нулевой старт включен, 5-й бит это признак включённого света (когда mode зажать появляется синий значок света на индикаторе)
Байт6 - количество полюсов ротора (все пишут количество магнитов, но я думаю это верно только для машин где полюс состоит из одного магнита)
Байт7, Байт8 - диаметр колеса в дюймах с фиксированной точкой (если значение до переполнения то нулём может быть как 7 так и 8 байты, если диаметр больше 25.5 то в 7 байте старшая часть, в 8 - младшая), величина передаётся просто так, для текущего контроллера мотора она не используется, все расчёты с этой величиной внутри TF-100
Байт9
Байт10
Байт11 - возможно ограничение скорости (предположение по описанию из других протоколов), но этот параметр в текущей конфигурации ни на что не влияет
Байт12
Байт13
Байт14
Байт15
Байт16, Байт17 - значение задания с курка, опытным путём выяснил что имеет диапазон 0-991 dec (наверное 1000 предел всё таки и это очень похоже на задание скважности ШИМ с точностью 0,1%) (посылал значения до 1500 - результата по более интенсивному ускорению на холостую не наблюдал), выбранная скорость только меняет предел задания с курка (что то типо на первой скорости 0-381 и т.п.)
Байт18
Байт19 - CRC8 по методу XOR между всеми байтами посылки (от 0 до 18).
От контроллера мотора ->TF-100 (периодичность посылки 170мс, байты посылки передаются подряд без задержек)
B0B1B2B3B4B5B6B7B8B9B10B11B12B13
020E01002000000000000000002D
020E01000000000300AA000000A4
020E01000000000100AA000000A6
Байт0 - начало посылки
Байт1 - возможно количество байт в посылке (считать все байты от 0 до 13)
Байт2 -
Байт3 - бит 6 отображает E001 на TF-100, бит 4 - Е003, бит 3 - Е005
Байт4 - 5-й бит это статус концевика тормоза, 4-й бит устанавливается если оборвать связь с дисплеем (возможно ошибка потери связи) - Е007
Байт5 - 
Байт6 -
Байт7 - ток потребления контроллером мотора. Возможно байт 6 тоже задействован, при больших токах, но контроллер явно столько не нагрузит (имеется ввиду реально то может и может, но в цифрах контроллера это будет всё равно не больше 21 ампера или на сколько там у кого контроллер), короче 21 ампер соответствует значению 0х93 (примерно, потому как ток мерял осликом и токовыми клещами)
Байт8, Байт9 - значение  периода вращения колеса  очень похоже на единицы измерения мс, обнуляется, если колесо стоит на месте
Байт10
Байт11
Байт12
Байт13 - CRC8 по методу XOR между всеми байтами посылки (от 0 до 12).
Еще выяснил что ограничение мощности в TF-100 (параметр Р15) это тупо ограничение задания по курку пропорционально для каждой скорости, т.е. для контроллера мотора это значение не используется.
Также рекуперация включается после того как концевик тормоза срабатывает, возможно в протоколе есть заданный уровень рекуперации, но на холостую этого не увидел меняя задания по неизвестным байтам.
« Последнее редактирование: 24 Мар 2021 в 17:44 от 13_chip_13 »


25 Мар 2020 в 17:58
Ответ #1
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
В общем пока снял логи передачи от TF-100 к контроллеру мотора. Пока не в втыкну что к чему, логи после того как включил TF-100 и ничего больше не трогал. Кстати снимал телефоном, удобно, ноут таскать не надо  :-). Выяснил что логи сняты неправильно, удаляю.
« Последнее редактирование: 26 Мар 2020 в 10:26 от 13_chip_13 »


25 Мар 2020 в 18:32
Ответ #2
Онлайн

Sonar

Санкт-Петербург, Приморский Сообщений: 1336
, где начало пакета? Какие настройки выставлены и что показывает дисплей в момент снятия логов? По хорошему бы выкладывать посылку (пакет) с расшифровкой того, что было сделано в плане управления. Например нажат курок или изменена какая-то настройка.


25 Мар 2020 в 18:48
Ответ #3
Оффлайн

vlad-2015

Россия, Санкт-Петербург, Лесная Сообщений: 808
Неверные настройки интерфейса. Скорее всего неверно выбран битрейт.


25 Мар 2020 в 22:07
Ответ #4
Онлайн

Виталий40

Дедовск - Московская область - Россия Сообщений: 1659
Идея следующая: поставить дисплей-курок типа как на  G-booster и написать прошивку для него чтобы работало с текущим контроллером мотора или написать прошивку для TF-100 с некоторыми доп опциями (например с теми же настройками момента<->положения курка). Но чтобы заморочиться нужен протокол обмена и донорский дисплей (покупать его ради этого не хочеться) может есть вариант купить поломаный?
Да и вообще тема кому-то интересна?
не проще купить LH-100 который имеет 20  настроек и поставить его? меняешь распиновку разьема на правильную и все работает



26 Мар 2020 в 09:06
Ответ #5
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
Sonar, ну я собственно и хотел чтобы с этим помогли.
vlad-2015, посмотрел настройки офигел - стояло 19200, а не 9600 сам не знаю как так получилось, видимо по сенсору пальцем не туда куда то попал, вот и минус сниферить с телефона. Спасибо за наводку.
Виталий40 без комментариев.

Думаю вообще курок с вольтметром только поставить, а TF-100 вообще на полку кинуть и всё ;-D, остальные параметры мне особо и ненужны, ну да ладно это пока мыли вслух.

В принципе за часик времени всё что можно было снял и разложил, пример посылки (всё в HEX):
От TF-100 -> контроллеру мотора
Курок отпущен:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E5A00010564000C0000000005BE
     
Курок полностью нажат на первой скорости:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E5A00010564000C0000016605D9
   
Курок в отпущен, но после сохранения настройки диаметр колеса 7 и 8 биты меняются бывает, какой то глюк наверное прошивки или я чего то не догоняю:
B0B1B2B3B4B5B6B7B8B9B10B11B12B13B14B15B16B17B18B19
0114010205801E005A010564000C0000000005BE
   
Байт0 - начало посылки
Байт1 - возможно количество байт в посылке (считать все байты от 0 до 19)
Байт2 - может быть как то связано с опознаванием версии протокола, нужен курок где можно выбирать протокол передачи чтобы исследовать
Байт3 - может быть как то связано с опознаванием версии протокола, нужен курок где можно выбирать протокол передачи чтобы исследовать
Байт4 - скорость (0x5 - 1-я скорость, 0xA - 2-я скорость, 0xF - 3-я скорость), возможно скоростей можно задавать 16 штук по младшим 4-м битам, но нужно проверять, величина передаётся скорее всего просто так либо у неё другое назначение, для текущего контроллера мотора она не используется, все расчёты с этой величиной внутри TF-100
Байт5 -   6-й бит если установлен то нулевой старт включен, 5-й бит это признак включённого света (когда mode зажать появляется синий значок света на индикаторе)
Байт6 - количество полюсов ротора (все пишут количество магнитов, но я думаю это верно только для машин где полюс состоит из одного магнита)
Байт7, Байт8 - диаметр колеса в дюймах с фиксированной точкой (если значение до переполнения то нулём может быть как 7 так и 8 байты, если диаметр больше 25.5 то в 7 байте старшая часть, в 8 - младшая), величина передаётся просто так, для текущего контроллера мотора она не используется, все расчёты с этой величиной внутри TF-100
Байт9
Байт10
Байт11 - возможно ограничение скорости (предположение по описанию из других протоколов), но этот параметр в текущей конфигурации ни на что не влияет
Байт12
Байт13
Байт14
Байт15
Байт16, Байт17 - значение задания с курка, опытным путём выяснил что имеет диапазон 0-991 dec (наверное 1000 предел всё таки и это очень похоже на задание скважности ШИМ с точностью 0,1%) (посылал значения до 1500 - результата по более интенсивному ускорению на холостую не наблюдал), выбранная скорость только меняет предел задания с курка (что то типо на первой скорости 0-381 и т.п.)
Байт18
Байт19 - CRC8 по методу XOR между всеми байтами посылки (от 0 до 18).
От контроллера мотора ->TF-100
B0B1B2B3B4B5B6B7B8B9B10B11B12B13
020E01002000000000000000002D
020E01000000000300AA000000A4
020E01000000000100AA000000A6
Байт0 - начало посылки
Байт1 - возможно количество байт в посылке (считать все байты от 0 до 13)
Байт2 -
Байт3 - бит 6 отображает E001 на TF-100, бит 4 - Е003, бит 3 - Е005
Байт4 - 5-й бит это статус концевика тормоза, 4-й бит устанавливается если оборвать связь с дисплеем (возможно ошибка потери связи) - Е007
Байт5 - 
Байт6 -
Байт7 - в общем на выбеге колеса здесь нули (когда курок отпущен), значения максимум до 0x15 плящут, что косвенно указывает на ток потребления (0-21 А), хотя в свете информации о том что новый курок TF-100 умеет показывать ток с точностью 0,1 ампер, возможно это токи 0-2,1 ампер мне на холостую в пике удалось получить, в общем нужно проверять в движении
Байт8, Байт9 - значение  периода вращения колеса  очень похоже на единицы измерения мс, обнуляется если колесо стоит на месте
Байт10
Байт11
Байт12
Байт13 - CRC8 по методу XOR между всеми байтами посылки (от 0 до 12).
Еще выяснил что ограничение мощности в TF-100 (параметр Р15) это тупо ограничение задания по курку пропорционально для каждой скорости, т.е. для контроллера мотора это значение не используется.
Также рекуперация включается после того как концевик тормоза срабатывает, возможно в протоколе есть заданный уровень рекуперации, но на холостую этого не увидел меняя задания по неизвестным байтам.
« Последнее редактирование: 30 Июн 2020 в 10:00 от 13_chip_13 »


30 Мар 2020 в 13:18
Ответ #6
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
Запилил немного видео, о результатах, в принципе этого достаточно чтобы сделать свой или адаптировать другой курок. На видео не попало, но также делал и с самим дисплеем, в итоге выяснил некоторые ошибки которые индицируются при тех или иных битах в посылке, значение тока не при каких посылках не менялось (это или вообще невозможно или нужно иметь описание протокола от разработчика, долго и нужно ковырять).
« Последнее редактирование: 30 Мар 2020 в 17:41 от 13_chip_13 »


30 Мар 2020 в 13:43
Ответ #7
Оффлайн

Toxrq

Краснодарский край - Россия Сообщений: 70
Очень интересна эта тема, как раз имею М4 PRO.  :wow:


30 Мар 2020 в 19:26
Ответ #8
Оффлайн

dstasv

Россия, Севастополь Сообщений: 13
Думаю вообще курок с вольтметром только поставить, а TF-100 вообще на полку кинуть и всё

Ну тогда не надо делать такого титанического труда как разбираться с протоколом.

Но за описание протокола огромное спасибо!


30 Мар 2020 в 19:39
Ответ #9
Оффлайн

sergo842

Россия, Питер Сообщений: 1011
Очень интересна эта тема, как раз имею М4 PRO. 
И я его имею, а может и он меня, пока до конца , не разобрались в отношениях, но возит...


30 Мар 2020 в 19:44
Ответ #10
Оффлайн

Toxrq

Краснодарский край - Россия Сообщений: 70
а может и он меня, пока до конца , не разобрались в отношениях, но возит...
Ну каждому свое, меня только возит, провез уже 800км. Может, позже проблемы начнутся.
Проблем и с тф-100 нет, кроме сброса одометра (в меню настроек норм показывает).
Я почти всю тему прочёл М4 ПРО 16Аh,к некоторым проблемам сразу приложил подорожник, может по этому нет сейчас.


30 Мар 2020 в 23:28
Ответ #11
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
Ну тогда не надо делать такого титанического труда как разбираться с протоколом.

Но за описание протокола огромное спасибо!
Вроде не сложно было (главное начать, я бы даже сказал - это самое лёгкое в этой затее.), в целом день возни, если бы только этим занимался , а ну и день чтобы накодить софтинку для управления с ноута ( ну это было необязательно, да и была кой какая заготовка с другого проекта, достаточно было стандартных сниферов). Да и как по другому сделать без замены контроллера мотора (гавно и палки не предлагать), чтобы например задание с курка работало нормально, а не включить/выключить (нет конечно плавная регулировка там есть, но она в таком узком диапазоне положения курка, что нормально этим управлять невозможно когда по кочкам едешь). Ну и как бонусом можно получить данные потребляемого тока, тоже можно использовать в управлении. Да и вообще занимаюсь приводом SRM и мощности у меня совсем не такие детские:), интересно посмотреть было что тут китайцы используют, может пригодиться.
« Последнее редактирование: 30 Мар 2020 в 23:45 от 13_chip_13 »


31 Мар 2020 в 20:06
Ответ #12
Оффлайн

dstasv

Россия, Севастополь Сообщений: 13
Вроде не сложно было (главное начать, я бы даже сказал - это самое лёгкое в этой затее.), в целом день возни, если бы только этим занимался , а ну и день чтобы накодить софтинку для управления с ноута ( ну это было необязательно, да и была кой какая заготовка с другого проекта, достаточно было стандартных сниферов). Да и как по другому сделать без замены контроллера мотора (гавно и палки не предлагать), чтобы например задание с курка работало нормально, а не включить/выключить (нет конечно плавная регулировка там есть, но она в таком узком диапазоне положения курка, что нормально этим управлять невозможно когда по кочкам едешь). Ну и как бонусом можно получить данные потребляемого тока, тоже можно использовать в управлении. Да и вообще занимаюсь приводом SRM и мощности у меня совсем не такие детские:), интересно посмотреть было что тут китайцы используют, может пригодиться.

Ну подключить к Вашему контроллеру обычный курок, а тф100 убрать на полку должно получится.
Надо просто вывести разъем для подключения курка из  контроллера.


31 Мар 2020 в 20:44
Ответ #13
Оффлайн

sergo842

Россия, Питер Сообщений: 1011
Ну подключить к Вашему контроллеру обычный курок, а тф100 убрать на полку должно получится.
Надо просто вывести разъем для подключения курка из  контроллера.
             Все просты, как лисопеды, не хрена не получится с подобной затеи, на полку пойдет не только курок, но и контроллер в придачу.     Все это добро не пропадет конечно, востребовано на рынке, а вот что в замен воткнуть, вопрос?
        Самое интересное, подобрать под нашу деку в размере, она не резиновая, как выяснилось со временем.


31 Мар 2020 в 21:24
Ответ #14
Оффлайн

dstasv

Россия, Севастополь Сообщений: 13
             Все просты, как лисопеды, не хрена не получится с подобной затеи, на полку пойдет не только курок, но и контроллер в придачу.     Все это добро не пропадет конечно, востребовано на рынке, а вот что в замен воткнуть, вопрос?
        Самое интересное, подобрать под нашу деку в размере, она не резиновая, как выяснилось со временем.
Если у тебя навернется экрана,а контроллер живой, не торопись выкидывать контроллер его можно запустить без экрана.
Точнее экран можно и сохранить, а вот управлять аналогом, а не цифрой.
По крайней мере контроллер от куги М2 2019г с экраном jх169 может и без экрана управлятся обычным курком/ручкой
Ваш надо попробовать скорее всего тоже заработает.


01 Апр 2020 в 23:23
Ответ #15
Оффлайн

dstasv

Россия, Севастополь Сообщений: 13
, А при включении экран в контроллер или контроллер в экран расширенного пакета не кидает?


01 Апр 2020 в 23:35
Ответ #16
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
Если у тебя навернется экрана,а контроллер живой, не торопись выкидывать контроллер его можно запустить без экрана.
Точнее экран можно и сохранить, а вот управлять аналогом, а не цифрой.
По крайней мере контроллер от куги М2 2019г с экраном jх169 может и без экрана управлятся обычным курком/ручкой
Ваш надо попробовать скорее всего тоже заработает.
Даже если и получиться, получаем те же грабли, вкл/выкл и никакой плавности, я понимаю зачем так сделано, но мне так не нравиться, хочу как в машине на коробке автомат и медленно плавно ездить и быстро нормально ездить давя только на один орган управления ( :-) как то прозвучало странно).


01 Апр 2020 в 23:42
Ответ #17
Оффлайн

13_chip_13

Ростов на дону Сообщений: 418
, А при включении экран в контроллер или контроллер в экран расширенного пакета не кидает?
Куда ж еще " расширенней "  :-). Ну а по делу при включении дисплея сразу по логу фреймы идут все одинаковые, дальше второго уже не смотрел, но думаю одинаково будет. Тоже самое и с контроллером мотора. Единственно что меня удивило передача не запрос-ответ, а каждый сам шпарит со своими таймингами, хотя если смотреть одновременно и RX и TX линии возможно там переключается на запрос-ответ, но работает и когда каждый сам по себе шлёт, у меня так софтина работает (лень было делать с ожиданиями), осциллографом смотрел, пауза между передачами от курка 40мс, от контроллера мотора непомню, но помоему больше в раза в 2-4.
Может там есть какие то еще служебные сообщения, но нужно знать протокол чтобы их запрашивать, ну или долго и нужно сидеть и ..... на логер.


 

Замена АКБ + замена моторов на детском электромобиле BMW M6 GT3 6666ARBL

Автор SpoolРаздел Детский электротранспорт

Ответов: 0
Просмотров: 2258
Последний ответ 08 Июн 2021 в 10:05
от Spool
Модернизация батареи телефона (моддинг, замена, зарядка)

Автор GrawerРаздел Другие наши самоделки

Ответов: 43
Просмотров: 36758
Последний ответ 19 Мар 2016 в 13:09
от dvbiker
Замена акумов и модернизация...

Автор xXxРаздел Электроскутеры

Ответов: 10
Просмотров: 2541
Последний ответ 23 Апр 2013 в 21:43
от Darude5
Разборка МК или Замена подшипников на колесе

Автор boomРаздел Моноколеса (электроунициклы)

Ответов: 78
Просмотров: 11281
Последний ответ 21 Апр 2019 в 22:09
от alekor
Новинка! Onan L1 - лучшая замена Xiaomi M365 или копия?

Автор axe_llРаздел Электросамокаты

Ответов: 35
Просмотров: 4376
Последний ответ 08 Дек 2020 в 15:57
от кот ленивый