Краткое техническое резюме
Field-Oriented Control (FOC) — векторное управление полем — реализует синусоидальную подачу токов в обмотки двигателя с пространственным ориентированием токового вектора по магнитному потоку ротора. На практике это даёт: низкий момент-рывок при коммутации, меньшую пульсацию крутящего момента, лучшую энергоэффективность и точный регулятор момента/угла.
Ключевые отличия от обычной комутации (trapezoidal / six-step)
- Ток: синусоидальный vs ступенчатый — меньше гармоник, ниже нагрев.
- Коммутация: непрерывное управление фазами через Clarke/Park трансформации и SVPWM vs дискретная смена обмоток.
- Контроль момента: прямой контроль в dq-координатах (Id/Iq) вместо косвенного управления.
Почему «едет мягче» — конкретные причины
1. Меньше торсионных рывков (torque ripple): FOC удерживает поток и ток в оптимальной фазе, снижая пульсации крутящего момента, причём влияние заметно при низких скоростях и изменении нагрузки.
2. Плавная коммутация: SVPWM обеспечивает более ровную аппроксимацию синусоидальной формы и уменьшает скачки напряжения при переходах.
3. Быстрый и точный регулятор тока: меньшая задержка между требованием момента и ответом двигателя — исключаются «перепрыгивания» при возрастании нагрузки.
4. Управление рекуперацией и ограничение тока: ПК/прошивка плавно управляют токами при торможении, что убирает резкие толчки.
Блок-схема управления (простая)
- Измерение фазных токов и/или напряжений
- Clarke трансформация: 3ф → 2αβ
- Park трансформация: αβ → dq (с учётом угла ротора)
- PI-регуляторы в d и q направлениях (Id контролирует поток, Iq — момент)
- Обратная Park/Clarke + SVPWM → управляющие ШИМ для инвертора
Практические требования к железу и сенсорам
- Частота ШИМ: типично 8–20 kHz (баланс шум/потери).
- Частота дискретизации тока: ≥2–5 kHz для стабильного current-loop (зависит от PWM).
- Датчик положения: энкодер или точные датчики Холла для низких скоростей; бездатчиковые наблюдатели требуют скорости для надёжной оценки. Сравнение подходов и выбор датчиков — см. статью о датчиках: https://dellerev.com/2026/01/datchiki-holla-encoder-vybor-ryvkov/
- АЦП тока: разрешение 12–16 бит, входные фильтры с минимальной фазовой задержкой.
Настройка и тюнинг (практическая инструкция)
1) Подготовка
- Проверьте параметры мотора: сопротивление фазы (R), индуктивности (Ld, Lq), постоянную back-EMF (Ke). Можно получить из даташита или замеров. Для подбора мотора см. https://dellerev.com/2026/01/podbor-elektromotora-qs-motor/
- Убедитесь в корректности измерения нуля тока и компенсации смещения ADC.
2) Tuning current-loop (Id/Iq)
- Цель: получить высокую полосу пропускания, но без возбуждения. Рекомендация: целевая полоса current-loop ≈ PWM_freq/8 … PWM_freq/4.
- Метод: временно отключите Ki (интегратор), увеличивайте Kp до устойчивой полу-быстрой реакции без колебаний, затем добавьте Ki для устранения статической ошибки.
- Анти-виндап: обязательно включите, чтобы при длительном ограничении тока интегрированная составляющая не накапливалась.
3) Velocity-loop (угловой / скоростной)
- Полоса значительно ниже: 10–200 Hz в зависимости от задачи. Для езды по дорогам комфортно — меньшая полоса (меньше резких ускорений).
- Настройте фильтр скорости (low-pass) по шуму датчика, но не делайте излишне медленным — это приведёт к тормозному эффекту.
4) Feedforward и тормозное управление
- Добавьте feedforward по току/моменту (термин пропорциональный требуемому ускорению/скорости) — уменьшает ошибку и дергание при резких изменениях сет-поинта.
- Настройка рекуперации должна включать ограничение тока регенерации и плавное нарастание — пример практической реализации есть в инструкции по Votol: https://dellerev.com/2026/01/nastroyka-votol-toki-rekuperaciya-start-zashchita-temperatury/
Потенциальные источники «не-мягкости» и как их убрать
- Неправильная калибровка сдвига тока ADC → добавляет асимметрию фаз. Исправление: пересчитать нулевые офсеты при разных напряжениях батареи.
- Низкая частота PWM или плохая SVPWM реализация → заметные ступеньки в моменте. Решение: поднять частоту ШИМ/переписать модуль PWM.
- Неполадки с датчиками положения (градация энкодера, jitter Холлов) → фильтрация/интерполяция/переход на энкодер.
Примеры значений для старта (практичные ориентиры)
- PWM: 12 kHz
- Дискретизация тока: 4 kHz
- Current-loop Kp: начать с 0.1–1.0 (в единицах, специфичных для прошивки), Ki: малое значение, увеличивать до стабилизации статической ошибки
- Velocity-loop: Kp значительно меньше, Ki — небольшой, фильтр скорости fc = 5–30 Hz
Ограничения и когда FOC не даёт ощутимого преимущества
- Очень дешёвые моторы с крупным cogging и механическими люфтами — аппаратный источник рывков не решит программно.
- Применение при экстремально низком бюджете: реализация FOC требует более мощного MCU и качественных датчиков.
Практический план внедрения FOC для существующей системы
1. Проверить и закалибровать измерения тока.
2. Подключить энкодер или убедиться в адекватности Hall для планируемой скорости.
3. Реализовать basic FOC loop с логированием: фазные токи, угол ротора, команды PWM.
4. Настроить current-loop, затем velocity-loop, включить feedforward.
5. Тестировать в режиме медленного наращивания тока и на требованиях нагрузок.
Для примеров настройки контроллеров и защиты см. инструкцию по Votol: https://dellerev.com/2026/01/nastroyka-votol-toki-rekuperaciya-start-zashchita-temperatury/ и материалы по FOC в практическом ключе: https://dellerev.com/2026/01/foc-upravlenie-edet-myagche/. Для корректного выбора датчиков положение/скорость рекомендована статья: https://dellerev.com/2026/01/datchiki-holla-encoder-vybor-ryvkov/.
Читайте также:
- https://dellerev.com/2026/01/novosti-mesyaca-elektro-moto-batarei-rad-stark/
- https://dellerev.com/2026/01/nastroyka-votol-toki-rekuperaciya-start-zashchita-temperatury/
- https://dellerev.com/2026/01/datchiki-holla-encoder-vybor-ryvkov/

FOC снижает пульсации и момент-рывки за счёт синусоидальной подачи и ориентации тока по потоку ротора — мотор едет заметно мягче и
FOC реально снижает пульсации момента и рывки при коммутации за счёт синусоидальной подачи токов и пространственного ориентирования — в итоге более плавный ход, меньше нагрев и выше
FOC действительно делает ход «мягче» — синусоидальная подача и ориентирование тока по магнитному потоку снижают пульсации момента и нагрев, повышая точность управления и КПД по сравнению с обычной шестиступенчатой