avatar_VVK

Контроллеры Vector, открытый код. (Велосипед / Моноцикл / Сигвей)

Автор VVK, 08 Май 2015 в 13:19

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

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

VVK

Для совместной работы 2-х контроллеров добавлен режим сигвея с полным функционалом: с настройками руля, курсовой устойчивостью, датчиком присутствия человека.

PlayerOne

Небольшой начальный гайд по настройки вектора для моноколес

Сначала пару предосторожностей:
НЕ РАСКРУЧИВАЙТЕ КОЛЕСО ОТ РУКИ ПРИ ПОДКЛЮЧЕНИИ ОТ БЛОКА ПИТАНИЯ, т.к. при останове мотора пойдет рекуперация в блок питания и может все очень плохо закончится для контроллера и блока питания.
Далее у вектора есть защита от токов, но она может не успеть сработать. По этому напишу на всякий.
НЕ РАСКРУЧИВАЙТЕ КОЛЕСО ОТ РУКИ ПРИ ИСПОЛЬЗОВАНИИ ТОЛЬКО ПАРАМЕТРА Kp, ИСПОЛЬЗУЙТЕ ХОТЯ БЫ ЕЩЕ Ki т.к. движок будет стопориться сразу и резко при 0 градусах. Может пострадать контроллер.
НЕ ИСПОЛЬЗУЙТЕ СЛИШКОМ ВЫСОКИЕ ПАРАМЕТРЫ ПИД РЕГУЛЯТОРА Kp и KpKp, которые вызывают резкий стопор колеса при обратном ходе. Может пострадать контроллер.

Пару заметок по выбору мотор колеса для моноколеса и настройки его работы:
Лучше всего использовать движки с большим количеством магнитов(у 18l, msuperX 56 магнитов), они более тяговитые и дают большую точность работы из за меньшего шага переключения фаз.
Работа на синусе дает бесшумную работу, большую тягу, больше оборотов под большой нагрузкой(например в горку), меньше падают обороты от неожиданной нагрузки, КПД выше(больше хватит аккумулятора), меньшую вибрация под нагрузкой, меньше вибрации перед состоянием срыва магнитого поля.
Работа на трапеции дает больше оборотов без нагрузки и на малой нагрузке.
По настройки сдвигов фаз. Настраивайте на максимально тихую работу, так же чтобы прямой и обратный ход имел одинаковые обороты и потребление тока. Для увлечения оборотов можно использовать опережение фаз взамен тяги.


Теперь сама настройка ПИД регулятора.
Перед настройкой рекомендую вообще ознакомится что такое ПИД регулятор в интернете. Хотя я напишу ниже что делает каждый параметр и как он работает.
Начнем с того что у нас есть параметр ШИМ, грубо говоря на сколько нажат курок газа.
ШИМ в векторе измеряется в единицах, для частоты работы мотора 20кГц 100% шкалы это 3000, а для 10кГц 6000.
ПИД регулятор изменяет это значение ШИМа в зависимости от угла наклона. При угле наклона на 2 градуса от нормы, назовем это ошибка=2, ПИД регулятор будет исправлять эту ошибку, чтобы она была равной 0.


Как работает отдельно каждый параметр ПИДа, на примере 20кГЦ.

Параметр Kp изменяет значение ШИМа резко пропорционально ошибке.
При Kp=100, при ошибке=1 ШИМ изменится на 100 единиц из 3000, при ошибки=3 ШИМ изменится на 300 единиц из 3000.
Основной параметр дающий держать баланс на колесе.
Его избыток вызывает маятники, недостаток плохо держит баланс и мягкие педали.
Для параметра Kp нужно использовать лимит по изменению ШИМа, иначе при резком изменения угла колесо даст огромные значения ШИМа, мощности двигателя не хватит так резко повысить или понизить обороты и произойдет срыв магнитного поля с продавом. С лимитом колесо просто наклонится, затем восстановит баланс.

Параметр Ki изменяет значение ШИМа плавно по нарастающей(например 20 единиц за секунду) в зависимости от того в какую сторону наклонено колесо, величина ошибки значения не имеет.
Параметр дающий скорость, особенно полезен в горку. Например если мы резко наклоняем колесо, параметр Kp резко поднимает ШИМ и выравнивает колесо. После восстановления горизонта, скорость будет равна ШИМу полученного только от Ki, т.е. чем большее времени колесо было в ошибке, тем больше будет итоговая скорость.
При малых значениях Ki колесо будет работать только на поддержание баланса. Параметр так же дает более жесткие педали, а если его избыток педали начинают плавать, особенно на скорости, при огромных значении будут маятники.

Параметр Kd изменяет значение ШИМа в противоположную сторону движения колеса, зависит от угловой скорости, изменяет резко и на очень очень короткое время.
Когда давим на педали дает жесткость, когда восстанавливаем баланс уменьшает скорость восстановления. Если его мало будем ловить маятники, если его избыток он будет мешать и давать вибрации.

Позже дополню гайд, как определить какие значения ставить и еще там очень много других параметров: лимиты по мощности, KpKp1, KpKp2 и т.д.

PlayerOne

Вторая часть начального гайда. Для прошивки от 18.11.19

KGYRO - точность, просто выставляем 999.
Khard - мертвая зона. Я использовал только на синусе 10кГц, на трапеции вообще странно работает.
Сигнал при ШИМ более - начиная с какой предельной мощности колеса контроллер будем пищать(у готвей 80%).

Лимиты на изменение ШИМа. Для 10кГц шкала 6000, для 20кГц шкала 3000.
P_PWMmax - лимит на изменение ШИМа от Kp, зависит от мощности двигателя\аккумулятора.
I_PWMmax - лимит на изменение ШИМа от Ki, ставим 6000
D_PWMmax - лимит на изменение ШИМа от Kd, ставим 6000


Параметры динамически меняющие Kp:
Kp на малой скорости - применяется чтобы успокоить колесо без райдера. Например Kp=70 при скорости менее 1км\ч.
Увеличивать Kp при скорости(10=1Kp) - с набором скорости требуется больше мощности чтобы держать баланс, этот параметр позволяет увеличивать Kp пропорционально скорости. Например при скорости более 15км\ч увеличивать за каждый 1км\ч kp на 2 единицы(20).
KpMax - Kp не поднимется выше.
KpMin - Kp не опустится ниже.

KpKp1 - пропорционально углу наклона увеличивает Kp. Помогает увеличить жесткость педалей. KpKp1=10, каждый градус Kp увеличивается на 10%.
KpKp1DeadZone - начиная с какого градуса включается KpKp1. С помощью него можно реализовать "средний", "мягкий" режим.
KpKp1ZoneEnd - начиная с какого градуса KpKp1 перестает увеличивать Kp. Нужен чтобы было сложнее продавить колесо.

-KpKp2 - пропорционально углу наклона уменьшает Kp. Помогает растянуть предельную мощность колеса, на больший угол, так сложнее продавить и лучше чувствуешь предел мощности колеса. -KpKp2=10 - каждый градус Kp уменьшается на 10%.
KpKp2DeadZone - начиная с какого градуса включается KpKp2. Использовать после зоны KpKp1 или рядом с ней.
KpKp2ZoneEnd - начиная с какого градуса KpKp2 перестает уменьшать Kp.
Так же этот параметр может работать в плюс как KpKp1.

Параметры динамически меняющий Ki:
KiKp(1=10%)- пропорционально углу наклона увеличивает Ki. Нужен чтобы был толк от резкого разгона, без него итоговая скорость после восстановления баланса увеличится мало.
KiKpDeadZone - начиная с какого градуса включается KiKp.
Время уменьшения KiKp(1=0.1сек) - время падения Ki после восстановления баланса колеса. При малом значении колесо будет кивать, при большом будет эффект как от высокого Ki(плавают педали).
KiMax - Ki не поднимется выше.


В целом я до конца не разобрался еще с KpKp1, KpKp2, KiKp. Нужно найти оптимальный график роста и падения Kp в зависимости от угла наклона, оптимальное значение KiKp и времени. Еще скорей всего нужна прошивка чтобы KiKp падал от скорости, чтобы на скорости было гораздо сложнее разгонятся и оставить оставшийся ШИМ чисто на баланс.
На видео что кидал выше, я вообще не использовал KpKp и KiKp. Ждем нормальную погоду и можно будет продолжать ковыряться в векторе)

VVK

Есть в наличии спаянные платы. На них нужно допаять выводные компоненты и получится готовый контроллер.

Документация по сборке:

Схема контроллера
Чертеж платы с подключениями, вид сверху

Вид снизу


Собранная плата:




Цена платы 2000 р.

Если понадобится трансформатор или еще что-нибудь, тоже можно купить.
Связь с ПК либо через модуль BlueTooth типа HC-05 (или HC-06), либо через переходник USB-UART (его тоже можно у меня приобрести). Скорость COM-порта 38400.
Если нужно, в процессор залью загрузчик, через который грузится прошивка.

DragonTM

Цитата: VVK от 13 Дек. 2019 в 14:31Собранная плата:
Красота. Еслиб понимал в этом, взял бы пару про запас!
Мои байки - https://electrotransport.ru/index.php?topic=35001.0
Новый проект электромотоцикла - https://electrotransport.ru/index.php?topic=51461.0

Stason87

Всем доброго дня.
Собрался строить моноцикл на базе колеса и батареи от citycoco.

https://electrotransport.ru/go.php?url=aHR0cHM6Ly9lbGVjdHJvLXNrdXRlci5ydS9pdGVtLzE5ODMtbW90b3Ita29sZXNvLWRseWEtZWhsZWt0cm9za3V0ZXJhLWNpdHljb2NvLTIwMDB3LTEyLWR5dWpqbW92LTIyMjMx
https://electrotransport.ru/go.php?url=aHR0cHM6Ly9lbGVjdHJvLXNrdXRlci5ydS9pdGVtLzE4MTctY2Vtbnlqai1ha2t1bXVseWF0b3ItZGx5YS1laGxla3Ryb3NrdXRlcmEtY2l0eWNvY28tMjBhaC02MHYtMjIxNDE=

Сам не особо в теме. Только, так сказать, начинаю.
Подскажите, насколько целесообразна компоновка этого колеса, батареи и контроллера Вектор-С?

https://youtu.be/Jl8n2zkc014

PlayerOne

Цитата: Stason87 от 29 Дек. 2019 в 18:26
Всем доброго дня.
Собрался строить моноцикл на базе колеса и батареи от citycoco.

https://electrotransport.ru/go.php?url=aHR0cHM6Ly9lbGVjdHJvLXNrdXRlci5ydS9pdGVtLzE5ODMtbW90b3Ita29sZXNvLWRseWEtZWhsZWt0cm9za3V0ZXJhLWNpdHljb2NvLTIwMDB3LTEyLWR5dWpqbW92LTIyMjMx
https://electrotransport.ru/go.php?url=aHR0cHM6Ly9lbGVjdHJvLXNrdXRlci5ydS9pdGVtLzE4MTctY2Vtbnlqai1ha2t1bXVseWF0b3ItZGx5YS1laGxla3Ryb3NrdXRlcmEtY2l0eWNvY28tMjBhaC02MHYtMjIxNDE=

Сам не особо в теме. Только, так сказать, начинаю.
Подскажите, насколько целесообразна компоновка этого колеса, батареи и контроллера Вектор-С?

https://youtu.be/Jl8n2zkc014

Донор есть или новое покупать будите?
Для моно транспорта важна тяга, тяга зависит от количества и ширины магнитов. Если брать новое, то лучше что нибудь другое найти где хотя бы будешь знать что берешь. Хотя все зависит какую скорость нужно получить

Stason87

Цитата: PlayerOne от 29 Дек. 2019 в 20:14
Донор есть или новое покупать будите?
Да, планирую новое.
Цитата: PlayerOne от 29 Дек. 2019 в 20:14все зависит какую скорость нужно получить
20-25 максималку хочу.

PlayerOne

[user]Stason87[/user], для этой скорости должен подойти. Но какая жесткость там будет... Хотя бы узнать количество и ширину магнитов, какой КВ у мотора, так же сколько вольт будите использовать

Stason87

Цитата: PlayerOne от 31 Дек. 2019 в 21:47Хотя бы узнать количество и ширину магнитов, какой КВ у мотора, так же сколько вольт будите использовать
Про магниты удалось узнать только ширину - 60 мм.
Сколько вольт использовать... Эммм. 60? Батарея - 60В, 20Ач; МК - 60В 2кВт.

PlayerOne

[user]Stason87[/user], нормально должно быть. Скорей всего скорость выше даже будет

stels

Не могу понять что за хрень. Вектор С.
При резком открытии газа отрубает контроллер. Ошибка "высокий уровень газа" как чуть покатаеш проходит, типа прогрелся...
Батарейный стоит 40а максимальный батарейный 60а.
В итоге в 3х киловатное колесо не могу больше 2.400Вт дать. Просто отключается и пищит при даче газа.
Уж думал что тока с батки мало, спарил две. Номинал у каждой долговременно 45а. Провода толстые с тройным запасом. И напрямую пробовал. Короче точно какойто глюк контроллера.
Управление током ставлю. При управлении шим или скоростью вообще не едет. Да и скорость на 60в 45км/ч на холостом и под нагрузкой одинаково. На финике раза в два быстрее крутит.
Великие умы обсуждают идеи, обычные — события, а мелкие — других людей.

VVK

Цитата: stels от 06 Янв. 2020 в 18:58
Не могу понять что за хрень. Вектор С.
При резком открытии газа отрубает контроллер. Ошибка "высокий уровень газа" как чуть покатаеш проходит, типа прогрелся...
Батарейный стоит 40а максимальный батарейный 60а.
В итоге в 3х киловатное колесо не могу больше 2.400Вт дать. Просто отключается и пищит при даче газа.
Уж думал что тока с батки мало, спарил две. Номинал у каждой долговременно 45а. Провода толстые с тройным запасом. И напрямую пробовал. Короче точно какойто глюк контроллера.
Управление током ставлю. При управлении шим или скоростью вообще не едет. Да и скорость на 60в 45км/ч на холостом и под нагрузкой одинаково. На финике раза в два быстрее крутит.

На мощных двигателях проявился дефект. Заключается в том, что при сильных токах и низкой индуктивности двигателя процессор от помех перезагружается. Сейчас изучаю вопрос, но пока решения нет.
В режиме токового управления этот эффект можно минимизировать следующей настройкой:

На вкладке "Сервис" слева внизу есть панель "Ток". В ней есть параметр "И". По умолчанию он равен 100. Задайте его равным 50.

SkeptiK

Цитата: stels от 06 Янв. 2020 в 18:58типа прогрелся
А он и прогрелся. Мотор. Изменилась индуктивность/сопротивление. Та же хрень на веске - я чтобы его обмануть автодетект параметров делал после охлаждения колёса льдом - тогда при комнатной он нормально работает. Проявляется при больших токах - если снижать ток то и проблема пропадала. Но так как ток- наше все - пришлось фигней со льдом заниматься.

Добавлено 07 Янв. 2020 в 00:38

Кстати, не точно но по моему этот эффект только в foc режиме был. Трапеция вроде не парится по этому вопросу.

AS2

[user]VVK[/user], добрый день.
А можно у Вас приобрести мощный (12 фет) контроллер?
Мне нужно для трайка с одним ведущим колесом.

VVK

Цитата: AS2 от 13 Янв. 2020 в 14:22
[user]VVK[/user], добрый день.
А можно у Вас приобрести мощный (12 фет) контроллер?
Мне нужно для трайка с одним ведущим колесом.
Добрый день.
Я их мало уже делаю, но несколько плат еще есть. Напишите мне в личку, какой двигатель и батарея в вашем трайке.

Капитан Генри Морган

[user]Stason87[/user], квадратное колесо на поворотах на скорости плохо ведет себя, аккумулятор чем легче и ближе к оси мотора тем лучше, этот кейс выглядит довольно тяжелым, не знаю сколько он весит

max_x_20

Доброго времени суток. Как контроллер покажет в режиме моноцикла что идет перегрузка или сильная просадка напряжения? Как заводских моноколесах поднятием педалей или еще как?
Kingsong 18a 1400 W/h
Kingsong 18 1450 W/h с контроллером вектор