PMSM управление двигателем KUGOO серии S

Автор dv_com, 14 Июнь 2020 в 10:59

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

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

dv_com

Захотелось разобраться с микроконтроллером STM32F103C8T6. И решил это сделать построив PMSM контроллер управления двигателем электросамоката KUGOO S3.
Начал с простого:
1. Плата дисплея.
Схема:
Спойлер


Печатная плата:
https://yadi.sk/d/kR3Mwsb9vh9PcQ
Прошивка:
https://yadi.sk/d/68eLITMdSF5dmw
Настройки:
Спойлер
Предназначена для работы с кастомным контроллером МК. Предусмотрена работа и со стоковым контроллером, но для этого на кабеле навесным монтажом собирается простенькая схема-переходник:
Спойлер


Без проблем работает со стоковым контроллером. Все заявленное реализовано, кроме, конечно, режима PMSM и реверса.
Протокол совпадает с протоколом взаимодействия с контроллером МК первого поколения описанного уважаемым Sonar в этой теме https://electrotransport.ru/index.php?topic=55186.msg1385898#msg1385898
Круиз контроль в режиме "кастом" включается или при равномерной езде в течении времени, задаваемого в настройках, или кратковременным нажатием кнопки питания. Отключается нажатием тормоза, газа, кнопки питания.
Присутствуют часы реального времени с подпиткой от батарейки 3В, подключаемой в разъем J5.
Для слабых батарей или при желании ограничить мощность можно задать максимальные ток  и скорость для каждого из режимов скорости.
Поддерживаются 3 вида излучателей;
1.Со встроенным генератором 36 В. Распаиваются R8, R9, Q2,  JMP2. Элементы С22-С25, R22,R24,R25,JMP1,DA3 не устанавливаются!. В настройках режим стандарт.
2..Со встроенным генератором 5 В. Распаиваются R8, R9, Q2,  JMP1. Элементы С22-С25, R22,R24,R25,JMP2,DA3 не устанавливаются!  В настройках режим стандарт.
3. Динамик 5В. Распаиваются С22-С25, R22,R24,R25,DA3. Элементы JMP1, JMP2, R8, R9, Q2 не устанавливаются!  В настройках режим PWM.
Настройки звука: Стандарт - используется излучатель с встроенным генератором.
PWM - Сейчас это генератор звуковой частоты для динамиков и излучателей без встроенного генератора. В дальнейшем можно будет и поинтереснее придумать, пока только тупо сигнал.
При замыкании контактов J1 звучит прерывистый сигнал низкой тональности. Я посадил на переключатель, при езде по тротуарам предупреждает пешеходов о приближении.
Память может быть FM24CL16, FM24CL32, FM24CL64 - у этих не ограниченный ресурс, допустимы также чипы серии 24LC, но у них ресурс ниже, а перезапись километража идет каждую секунду. Для памяти FM24CL16 нужна перемычка JMP3, для остальных не надо.

Выражаю свою благодарность vlad-2015. Мне очень помогла его тема с кастомной прошивкой стокового контроллера. https://electrotransport.ru/index.php?topic=58493.msg1619007#msg1619007

Плата контроллера МК:
Спойлер
//В переделке

Печатная плата:
//В работе

И вот здесь засада.
За основу взял https://blog.avislab.com/stm32-pmsm_ru/
Прошивка:
//В работе


dv_com


При текущих параметрах крутится, гудит и жрет ток. Явно что-то не так. Любые изменеия параметров ведут только к ухудшению. Чего-то я не допонимаю. Теоретически должно работать, но не хочет)))). Осциллографа пока нет, посмотреть, что по факту генерит. На неделе найду, а пока только теоретические поиски косяка.... Может кто подскажет - где засада скрывается?

Sonar

[user]dv_com[/user], спасибо за тему! Дело нужное. Если не трудно - перезалейте, пожалуйста, скрины схем с бОльшим разрешением. Не прочитать номиналы и назначение выводов. Может что интересное и для себя подчерпну.
Смотрел фото контроллера мотор-колеса, но не понял, он влезает в стандартный корпус куговского контроллера?
Kugoo S2 blue, 36v 20,8A/h, 2x600W, Prog disp v3.8, Prog drive v1.9 odo: 28171km.
Все материалы по альтернативным контроллерам для Kugoo S2: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

inwin

[user]dv_com[/user], можно коротко по разным типам управлениям двигателя?
1. трапеция
2. синус
3. вектор

dv_com


dv_com

Цитата: inwin от 14 Июнь 2020 в 11:32можно коротко по разным типам управлениям двигателя?
1. трапеция
2. синус
3. вектор
1. Трапеция: https://radiohlam.ru/synhro_bldc_1/
Реализовано в первом приближении, но не интересно. Обвязку защит не делал, пока нет основы смысла нет...
2. Синус: https://blog.avislab.com/stm32-pmsm_ru/
На данный момент пытаюсь реализовать эту идею.
3. Векторное: Слишком сложное, пока не рассматривал, но в идеале нужно идти к нему. Не уверен, что этот проц потянет. Если кто подскажет с чего начать, буду пробовать.

Sonar

[user]dv_com[/user], мне при отладке своего контроллера очень помог логический анализатор. Может быть он и вам больше поможет, чем осциллограф? Управление на драйвера всё равно идет цифровое, да и с холлов приходят логические состояния.
А для векторного управления надо ставить, как минимум, два датчика тока на две любые фазы двигателя, а ток третьей фазы вычисляется программно. Кто-то не заморачивается и использует три датчика тока, по датчику на каждую фазу.
Kugoo S2 blue, 36v 20,8A/h, 2x600W, Prog disp v3.8, Prog drive v1.9 odo: 28171km.
Все материалы по альтернативным контроллерам для Kugoo S2: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

dv_com

Цитата: Sonar от 14 Июнь 2020 в 12:03Sonar
Да, наверное. Уже на подходе, 16-канальная приставка к компу. Уже в Новосибирске растаможилась, скоро должна придти.

Добавлено 14 Июнь 2020 в 12:12

Цитата: Sonar от 14 Июнь 2020 в 12:03А для векторного управления надо ставить, как минимум, два датчика тока на две любые фазы двигателя, а ток третьей фазы вычисляется программно. Кто-то не заморачивается и использует три датчика тока, по датчику на каждую фазу.
Вменяемых примеров не нашел, пока теорию изучаю. Как буду думать, что готов - попробую реализовать))

dv_com

Ради интереса попробовал запустить дисплеи от NOKIA 1100:
Спойлер

Заказал печатную плату, как придет попробую реализовать, может получше читаемость будет...

edw123

#9
Цитата: inwin от 14 Июнь 2020 в 11:32
[user]dv_com[/user], можно коротко по разным типам управлениям двигателя?
1. трапеция
2. синус
3. вектор
2. синус - можно вывести на обоих типах управления: и векторный и скалярный, в недорогих контроллерах - скалярный синус. Трапецию на векторном вроде не делают, хотя тоже можно, если магнитная система у мотора больше подходит. При векторном типе управляется одновременно по трем фазам, при скалярном - по двум. Форма тока: трапеция или синус или ещё что, это не тип управления.

dv_com

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

dv_com

Цитата: Sonar от 14 Июнь 2020 в 11:16Смотрел фото контроллера мотор-колеса, но не понял, он влезает в стандартный корпус куговского контроллера?
Да. Размеры платы  и размещение мосфетов специально взял от родного контроллера.

ssilk

Цитата: dv_com от 14 Июнь 2020 в 12:35как наше колесо с ним пойдет.
Колесу пофиг, главное, что в колесо пихает "электронный коллектор".  Ездят же как то куго М4 и аналогичные на псевдосинусе, он у них FOC называется.
Полноценный синус можно получить только от двуполярного питания. Разумеется, это сильно осложняет разводку и увеличивает количество компонентов.
Поэтому  чистый PMSM управляется сразу тремя фазами, когда на одной фазе положительная полуволна, на второй отрицательная, а третья переходит через ноль.
На одной батарейке сформировать отрицательную полуволну без сложной системы инвертирования невозможно, поэтому делают коммутацию концов обмоток.
Получается, что в любом виде, независимо от формы сигнала, у нас будет BLDC. Но, если сильно интересно, у меня есть настоящий синусный контроллер от шпинделя станка (не частотный инвертор), он как раз на 48 вольт, могу попробовать колесо им крутануть. Правда он на 12000 оборотов..)
Цитата: dv_com от 14 Июнь 2020 в 12:35Пока только хуже
Думаю, что у Вас проблема в сдвиге фаз. Образно говоря, мотор крутится вперед на 99% и на 1% назад, отсюда гул и повышенный расход. Разумеется, проценты могут быть и другие.
В модельных контроллерах это регулируется двумя параметрами, таймингом (некоторая величина, на которую ключ открывается раньше) и компенсацией размагничиванием. Наверное, второе для нас не актуально, слишком маленькие обороты.
Задний привод, пневма 10", 48 вольт х 6А/ч, барабан, свет, звук, искусственный интеллект сто голых баб(©)... Максималка 38 км/ч, пробег 25 км.
odo - 6650 км

dv_com

Цитата: ssilk от 14 Июнь 2020 в 14:04могу попробовать колесо им крутануть.
12 000 как бы многовато))) Интересно сравнить звук и потребление на 500 - 1000 оборотов, дабы понять - имеет ли смысл заморачиваться на синус.
Цитата: ssilk от 14 Июнь 2020 в 14:04Думаю, что у Вас проблема в сдвиге фаз.
Я тоже так думал, пытался регулировать, двигать вперед - назад, нашел оптимальное значение, но оно не идеально. Возможно слишком большой шаг регулировки. Попробую уменьшить.

Sonar

Цитата: dv_com от 14 Июнь 2020 в 14:28имеет ли смысл заморачиваться на синус.

смысл точно имеет. Щелчки при переключениях обмоток точно уйдут совсем, а они дают основной шум при езде. Кстати китайцы для снижения уровня шума при блочной коммутации используют стартовый импульс при каждом переключении состояния холлов. Вы знаете как это работает? Я попробовал такое реализовать на своем контроллере и это, что интересно, действительно дает положительный эффект. Правда у меня этот импульс более растянут, чем на стоке. Пока не разобрался, почему так проихсодит.
Kugoo S2 blue, 36v 20,8A/h, 2x600W, Prog disp v3.8, Prog drive v1.9 odo: 28171km.
Все материалы по альтернативным контроллерам для Kugoo S2: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

dv_com

Цитата: Sonar от 14 Июнь 2020 в 14:38Кстати китайцы для снижения уровня шума при блочной коммутации используют стартовый импульс при каждом переключении состояния холлов. Вы знаете как это работает?
Не в курсе. А что это? Я при каждом переключении состояния холлов просто выставляю коммутацию согласно состояния датчиков. Разницы со стоком не заметил. Надеюсь через неделю придет анализатор, надо будет сравнить графики.

Sonar

[user]dv_com[/user], этот момент я описывал в своем посте в соседней теме: https://electrotransport.ru/index.php?topic=56994.msg1797500#msg1797500

Причем в моем случае ширина этого импульса варьируется от силы тока в данный момент времени. Чем больше ток - тем шире импульс. В стоке этот импульс начинает появляться при токах выше 4 ампер и отключается при токах ниже 3-х ампер и не меняет своей ширины. У меня пока только две мысли на этот счет:
1) Импульс усиливает скорость нарастания тока в обмотке при её включении.
2) Импульс позволяет бороться с резонансными частотами при переключениях.

Сколько не искал в интернете на эту тему - нашел только одну статью, но там происходит постоянный сдвиг ШИМ импульсов по фазе.
Kugoo S2 blue, 36v 20,8A/h, 2x600W, Prog disp v3.8, Prog drive v1.9 odo: 28171km.
Все материалы по альтернативным контроллерам для Kugoo S2: http://213.21.12.200/kugoo_project/
Тема на форуме по этим контроллерам https://electrotransport.ru/index.php?topic=61126.0

dv_com

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