Перейти к основному содержанию

Выбор наблюдателя в VESC

Ах, выбор наблюдателя состояния в VESC! Это как выбирать специи для блюда: правильный выбор может превратить ваш электроскейт или электровелосипед в кулинарный шедевр на колесах, а неправильный... ну, скажем так, может добавить немного "остроты" в виде неожиданных рывков или, не дай бог, фейерверка из MOSFET-транзисторов.

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

Что вообще такое этот "наблюдатель состояния" и зачем он нужен в бездатчиковом режиме FOC?

Представьте, что вы пытаетесь жонглировать тремя горящими факелами с завязанными глазами. Сложно? Еще бы! Вот и VESC в бездатчиковом режиме (когда нет датчиков Холла или энкодера, сообщающих точное положение ротора) примерно в такой же ситуации. Ему нужно точно знать, где находится ротор и с какой скоростью он вращается, чтобы правильно и эффективно подавать ток на обмотки мотора.

Наблюдатель состояния – это хитрый математический алгоритм, который, анализируя обратную ЭДС (напряжение, генерируемое вращающимся мотором), как бы "подглядывает" за ротором и оценивает его положение и скорость. Без этой информации FOC (Field Oriented Control, векторное управление) просто не сможет работать плавно и эффективно, особенно на средних и высоких скоростях. На низких скоростях, когда обратная ЭДС слабая, наблюдателю сложнее, и тут обычно на помощь приходят датчики (если они есть) или специальные алгоритмы старта.

Разбираем меню наблюдателей VESC:

У вас на выбор несколько вариантов, каждый со своими тараканами, то есть, особенностями:

  • FOC_OBSERVER_ORTEGA_ORIGINAL

    Это классика, так сказать, "дедушка" наблюдателей в VESC. Основан на работе Ортеги и его коллег. Для многих моторов он работает вполне достойно, особенно если повозиться с настройкой коэффициента усиления (Observer Gain) и индуктивности. Некоторые пользователи отмечают, что с ним можно получить больше ампер, но иногда меньше крутящего момента по сравнению с другими вариантами.

    Юморной факт: Если ваш мотор на этом наблюдателе ведет себя как капризный подросток, попробуйте снизить "Observer Gain". Иногда меньше – значит лучше, пока система не станет совсем нестабильной.

  • FOC_OBSERVER_MXLEMMING

    Модификация от пользователя с ником "Mxlemming" (кстати, один из активных разработчиков VESC). Главная фишка – он может быть менее чувствителен к параметру "Observer Gain" и показывать большую стабильность на некоторых "проблемных" моторах, особенно с высоким числом полюсов или склонных к быстрому насыщению. Некоторые пользователи сообщают о большем крутящем моменте с этим наблюдателем. Также, в отличие от Ортеги, здесь можно независимо настраивать коэффициент усиления для наблюдателя потокосцепления.

    Инсайд: Если ваш мотор склонен к "истерикам" (нестабильная работа, шумы), этот наблюдатель может стать вашим успокоительным.

  • FOC_OBSERVER_MXV

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

  • FOC_OBSERVER_ORTEGA_LAMBDA_COMP

    Наблюдатель Ортеги, но с добавленной компенсацией изменения потокосцепления (лямбда). Потокосцепление – это, грубо говоря, насколько эффективно магнитное поле ротора взаимодействует с обмотками статора. Оно может меняться, например, из-за нагрева мотора или насыщения магнитной системы при больших токах. Компенсация этого изменения помогает поддерживать оптимальную работу FOC в более широком диапазоне условий.

    Важно: Для использования этого режима (и других с LAMBDA_COMP) необходимо, чтобы в настройках "Stator Saturation Compensation Mode" был выбран соответствующий режим, использующий лямбда-компенсацию.

  • FOC_OBSERVER_MXLEMMING_LAMBDA_COMP

    Логичное развитие – наблюдатель Mxlemming, также дополненный компенсацией изменения потокосцепления. Сочетает потенциальные преимущества стабильности и меньшей зависимости от "Observer Gain" с улучшенной работой при изменении параметров мотора. Часто этот вариант рекомендуется как хороший выбор по умолчанию в современных прошивках VESC.

  • FOC_OBSERVER_MXV_LAMBDA_COMP

    И снова комбинация – вариант MXV с компенсацией лямбда. Ожидаемо, должен предлагать преимущества MXV-наблюдателя вместе с адаптацией к изменению потокосцепления.

  • FOC_OBSERVER_MXV_LAMBDA_COMP_LIN

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

Так какой же выбрать, чтобы не взорвать Вселенную (или хотя бы VESC)?

Универсального ответа, как всегда, нет. Выбор наблюдателя – это часто процесс экспериментов и тонкой настройки. Вот несколько общих соображений:

  • Начните с рекомендованного по умолчанию: В последних версиях VESC Tool часто по умолчанию стоит FOC_OBSERVER_MXLEMMING_LAMBDA_COMP или похожий вариант с компенсацией лямбда. Это хорошая отправная точка.
  • Проблемы со стабильностью или "странным" поведением мотора? Попробуйте FOC_OBSERVER_MXLEMMING или его варианты с компенсацией лямбда. Они могут лучше справляться с моторами, которые капризничают на классическом Ортеге.
  • Моторы с высокой индуктивностью или склонностью к насыщению: Наблюдатели с компенсацией лямбда (LAMBDA_COMP) могут дать заметное улучшение, так как они адаптируются к изменению параметров мотора "на лету".
  • "Классика" все еще в строю: FOC_OBSERVER_ORTEGA_ORIGINAL может отлично работать на многих моторах, особенно если вы готовы уделить время тщательной настройке "Observer Gain" и параметров индуктивности. Иногда именно он дает наилучший результат после тонкой подгонки.
  • Не бойтесь экспериментировать (но с умом!): Если один наблюдатель не дает желаемого результата, попробуйте другой. Только не забывайте каждый раз после смены типа наблюдателя и других важных параметров (вроде индуктивности, сопротивления, потокосцепления) проводить заново процедуру определения параметров мотора в VESC Tool (Motor Detection), если это рекомендуется, или хотя бы внимательно следить за поведением мотора на малых нагрузках, прежде чем "давать газу".
  • "Observer Gain" – ваш друг (иногда враг): Этот параметр сильно влияет на поведение наблюдателя. Слишком высокий может привести к шумам и нестабильности, слишком низкий – к потере отслеживания ротора. Часто рекомендуют начинать со значения, предложенного мастером настройки VESC Tool, а затем аккуратно его уменьшать или увеличивать, следя за результатом. Для некоторых моторов оптимальное значение может быть вдвое меньше автоматически определенного.
  • Читайте форумы и делитесь опытом: Сообщество пользователей VESC огромно. Велика вероятность, что кто-то уже сталкивался с похожим мотором или проблемой. Задавайте вопросы на vesc форуме, обязательно поможем!

Вместо заключения:

Выбор наблюдателя – это немного искусство, немного наука и капелька черной магии. Иногда кажется, что мотор живет своей жизнью и смеется над вашими попытками его укротить. Но не отчаивайтесь! Терпение, методичный подход к настройке и готовность немного "потанцевать с бубном" вокруг VESC Tool обязательно приведут вас к успеху. И помните: если что-то пошло не так, и вы услышали характерный хлопок с дымком – это не провал, это опыт! Дорогой, конечно, но опыт. Удачи, и да пребудет с вами стабильный FOC!

Другие записи

VESC контроллер: Особенности и принцип работы

Контроллер VESC (Vedder Electronic Speed Controller) — это продвинутый, программируемый контроллер скорости с открытым исходным кодом, предназначенный для управления бесколлекторными двигателями (BLDC). Его основная задача — точно регулировать скорость, направление...

Справочник ошибок контроллера VESC

FAULT_CODE_OVER_VOLTAGE / Перенапряжение

Описание: Входное напряжение превысило максимально допустимый предел, установленный в настройках (Maximum Input Voltage).

Возможные причины:

  • Рекуперативное торможение при полностью заряженной батарее (напряжению некуда уходить).
  • Лимит напряжения...

Как работает ослабление поля в VESC контроллерах

Field Weakening (ослабление поля) — это метод управления электродвигателем, позволяющий увеличить скорость вращения выше номинальной за счет снижения магнитного потока. Эта техника особенно важна для BLDC и PMSM двигателей, управляемых...

Справочник параметров VESC (Конфигурация приложений)

General (Общие настройки)

General (Основные параметры)

APP to Use / Используемое приложение

Описание: Определяет, какой тип внешнего устройства или протокола будет использоваться для управления VESC. Если у вас несколько...

VESC 84200 от MakerBase

MKS разработал новую модель VESC контроллера 84200. Рабочее напряжение до 20с (84в), фазные фильтры, выключатель, провода 6AWG, встроенный bluetooth модуль. Процессор ARM Cortex-M4 STM32F405RG на 168Мгц. Феты остались прежние...