"Временный" контроллер Kugoo S3 на Arduino своими руками

Автор Ancharas, 25 Июль 2021 в 11:24

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ancharas

Всем привет, товарищи.

Тупейшим образом спалил зеленый контроллер дисплея. Пока из Китая идет замена, хотелось бы что-то сварганить на коленке на Arduino, чтобы оно просто ехало.

Нашел тему с протоколом https://electrotransport.ru/index.php?topic=55186.0#topmsg. Хотел кинуть сюда ссылку, но мне не разрешают)
По сообщению, присылаемому контроллером колеса убедился, что модель соответствует модели S3 (GT) из темы с протоколом.

Накидал простой код для того, чтобы колесо просто крутилось на 10%, но колесо не крутится. Может кто-нибудь подсказать, может, в коде что-то не так?








vlad-2015

Инициализация периферии контроллера?
Kugoo S2 10S3P (6470 км)
У меня нет решения. Но я восхищен красотой проблемы.

Ancharas

Не совсем понял, что имеется в виду. Тут контроллер - это контроллер колеса? Я какие-то байты не так выставил, или какой-то пакет ещё нужно для этого отправить?

vlad-2015

Вызов функции setup из loop и возможно loop переименовать в main.
Kugoo S2 10S3P (6470 км)
У меня нет решения. Но я восхищен красотой проблемы.

Ancharas

Как я понимаю, вы говорите про оформление кода наподобие СИ. Тут сам по себе код работоспособный: я контролировал его через отдельный USB-TTL. Пакеты уходят в контроллер колеса, в обратную стороны приходят пакеты без отметки об ошибках в сервисном разделе. Но колесо не реагирует. Может быть, тут в отправке или формировании пакета есть какие-то нюансы, про которые я не знаю?

vlad-2015

Kugoo S2 10S3P (6470 км)
У меня нет решения. Но я восхищен красотой проблемы.

Ancharas

О, спасибо! Но увы, что-то всё равно не так, не крутится, ошибок тоже не выдает.

Metamorf

Возможно, что при включении, контроллер думает, что газ нажат и выпадает в ошибку курка. Сделай отправку пакетов без газа, пару секунд  после включения.
Koogo S3 plus, полный привод, 8.5", 48В, 41км/ч. ODO-3800km
Мастер берет деньги не за перемычку, а за то, что понял, куда ее впаять.

Ancharas

[user]Metamorf[/user], спасибо за идею! В итоге оно заработало, но что произошло - я так и не понял. Перед тем, как колесо закрутилось, я исправил в коде одну ошибочку. В строке задавалось значение  для нижнего разряда, а не для верхнего. Т.е. значение было 1, а не 256. Но вопрос остается открытым, т.к. помнится, я в прошлый раз уже от безысходности экспериментировал по-всякому.

ControlCode[AcceletarionIndexUpper] = 1; //В шаблоне сообщения устанавливаем скорость на 256 из 1000

Но началось всё с экспериментов с задержкой "нажатия газа". В итоге, вернул всё назад. Для истории прикрепил скетч, который просто крутит колесо на минималках. Дальше уже буду считывать датчики Холла с акселератора и тормоза, ну и делать ещё пару штук из самого необходимого.

Ancharas

В этой версии работают оба курка, но нет круиза.
Курки подключаются так:
- красный провод +5В
- черный провод - Земля
- желтый провод - сигнальный. Идет на аналоговые входы Ардуино. По коду видно, какой куда подключать.

Metamorf

#10
[user]Ancharas[/user], Отлично. Может пригодится. Случаи всякие бывают. Не удаляй, переодически люди спрашивают на форуме.
Если не лень, сделай несколько вариантов, под разные протоколы и картинку для людей, как подключить (или закомментируй в скетче).

И еще, как ты без функции map обошелся? Нужно через монитор порта посмотреть диапазон работы курка. Нужно определить при отправке какого значения в контроллер происходит старт двигателя и при каком значении двигатель перестает набирать обороты. Потом конвертированное через "мап" значение отправлять в контроллер. Ну я так это себе представляю.
Koogo S3 plus, полный привод, 8.5", 48В, 41км/ч. ODO-3800km
Мастер берет деньги не за перемычку, а за то, что понял, куда ее впаять.

Ancharas

С другими протоколами, к сожалению, не смогу помочь, со временем у меня совсем туго( А вот картинку - да, сделаю, когда будет что-то окончательное.

Ancharas

Мучился-мучился с круизом, а оказалось, что контроллер колеса сам его включает, нужно только его грамотно отключать. В этой версии круиз работает вроде бы как надо.

Oszau

#13
С позволения автора и если его не затруднит проверить, накидал по быстрому скетчик для селекторного управления курками, дабы избежать дребезга и калибровок курков. Перед включением если нажать на тормоз до середины=2 передача, жмем до конца=3 передача и ждем 2сек, если еще подержать 2 сек то активируется анти круиз только для 2-3 передач. Проверьте на железке если возможно.

Ancharas

Хорошо, постараюсь проверить. Но беда в том, что я ещё и свой код на железе не проверил, никак не выберусь)

Ancharas

Цитата: Oszau от 01 Авг. 2021 в 11:39
С позволения автора и если его не затруднит проверить, накидал по быстрому скетчик для селекторного управления курками, дабы избежать дребезга и калибровок курков. Перед включением если нажать на тормоз до середины=2 передача, жмем до конца=3 передача и ждем 2сек, если еще подержать 2 сек то активируется анти круиз только для 2-3 передач. Проверьте на железке если возможно.

Тов. Oszau, я честно пытался. Но я уже успел всё собрать под окончательный вариант, и Ардуина у меня почему-то не прошивается. Вообще на питание не реагирует, кроме как от батареи. То ли шнур сдох, то ли ещё какая-то неведомая фигня.

Oszau

Ну не получилось проверить это не проблема, все равно спасибо. Попробую сам собрать макет как починю контроллер.

Ancharas

Товарищи, а подскажите, где рисуют схемы типа как на картинке?