Налаштування ПІ-регулятора BLDC-двигуна — етап, на якому більшість проєктів застрягає. Двигун свистить, тремтить, перерегулює швидкість чи не тримає положення під навантаженням. Коефіцієнти Kp і Ki підбирають «на око» годинами, ризикуючи спалити регулятор. Насправді для каскадного регулювання FOC є чіткі формули, що виводять коефіцієнти з параметрів двигуна і бажаної смуги. У статті пояснюємо цю методику і показуємо, як симулятор регулювання в SparSIT LAB перевіряє коефіцієнти до того, як ви завантажите їх у VESC, ODrive чи власну прошивку.
Каскадне регулювання BLDC
Сучасні регулятори (FOC) мають три вкладені контури:
| Контур | Що регулює | Типова смуга |
|---|---|---|
| Струм (момент) | струм у осях d/q | fШІМ/10 … fШІМ/20, напр. 1–2 кГц |
| Швидкість | оберти | у 10–20 разів нижче за струмовий |
| Положення | кут вала | ще у 4 рази нижче за швидкісний |
Кожен внутрішній контур має бути помітно швидшим за зовнішній. Інакше вони заважають один одному, і система розгойдується.
Формули ПІ-регулятора струму
Для контуру струму з обраною смугою ωc (рад/с):
Kp_i = L · ωc
Ki_i = R · ωc
Тут L і R — індуктивність і опір фази. Такий вибір компенсує електричну постійну часу двигуна τe = L/R, і контур поводиться як фільтр першого порядку зі смугою ωc. Контур швидкості розраховують із моменту інерції J і константи моменту Kt.
Симулятор регулювання в SparSIT LAB
Сторінка «Регулювання (ЗЗ)» бере параметри двигуна з калькулятора двигуна однією кнопкою: Kv, R, L, момент інерції ротора з навантаженням і в’язке тертя. Далі:
- Задайте регулятор: частоту ШІМ, смугу контуру струму і смугу швидкості. Програма підказує типові співвідношення.
- Виберіть режим: утримання швидкості, утримання положення або керування моментом.
- Задайте сценарій: ціль, тривалість, ступінчасте накидання навантаження в заданий момент, сухе тертя.
- Натисніть «▶ Симулювати».
Графіки показують швидкість, струм і напругу в часі, а також частку часу, коли регулятор упирався в обмеження напруги. Видно перерегулювання, час встановлення і просідання швидкості при накиданні навантаження.
Коефіцієнти для VESC, ODrive і власної прошивки
Програма видає коефіцієнти в одиницях СІ і в форматах, які чекають популярні регулятори:
- контур струму Kp / Ki у В/А і В/(А·с);
- контур швидкості Kp / Ki в А/(рад/с) і в А/(об/с) для ODrive;
- контур положення Kp в 1/с і в (об/с)/об;
- оцінка коефіцієнтів Speed Kp / Ki для VESC (eRPM → duty);
- постійні часу τe = L/R і τм = J·R/Kt².
Кнопка «📋 Коефіцієнти в буфер» копіює все одним текстом. Можна також увімкнути ручні коефіцієнти й подивитися, як поведеться система з вашими поточними налаштуваннями.
Перевірка на реальному двигуні
Після симуляції завантажте коефіцієнти в регулятор і перевірте поведінку через монітор COM-порту: він малює телеметрію швидкості й струму в реальному часі. Порівняйте з симуляцією і за потреби уточніть момент інерції.
SparSIT LAB — безкоштовний бета-доступ
Налаштовуєте FOC на VESC, ODrive чи власному контролері? Симулятор у SparSIT LAB розрахує й перевірить ПІ-коефіцієнти до першого запуску двигуна. Бета-доступ безкоштовний.
Отримати бета-доступ Усі можливості SparSIT LAB →Часті запитання
Чому двигун свистить після налаштування?
Найімовірніше, смуга контуру струму завелика відносно частоти ШІМ, і шум датчиків струму підсилюється. Зменшіть смугу до fШІМ/20.
Що робити, якщо швидкість перерегулює при розгоні?
Регулятор входить у насичення напруги, а інтегратор накопичує помилку. Знизьте смугу швидкісного контуру або обмежте прискорення. Графік «частка часу в насиченні» покаже проблему.
Чи підходить методика для двигунів з датчиками Холла?
Так, для контурів струму і швидкості датчик не важливий. Для утримання положення з датчиками Холла точність обмежена кроком 60° ел., тож смугу положення беріть нижчою.
Корисні джерела: Vector control (Wikipedia).
