Моделирование и настройка систем подчинённого регулирования электроприводов постоянного и переменного тока в MATLAB / Simulink. Курс «Управление актуаторами» (ИТМО, методика Лукичёва), настройка контуров по технике БП / МО / СО (технический и симметричный оптимум).
| Компонент | Назначение |
|---|---|
MATLAB (.m) |
расчёт параметров двигателей и коэффициентов регуляторов, запуск симуляций, построение и сохранение графиков |
Simulink (.slx) |
модели контуров регулирования (ток → скорость → положение), нелинейные модели двигателей |
| Control System Toolbox | эталонные переходные характеристики (tf, step) — БП/МО/СО, на которые накладывается отклик из Simulink для проверки настройки |
| MATLAB Graphics | exportgraphics — экспорт результатов в figures/*.png |
Actcount/
├── README.md
│
├── Лабораторная 2/ # ДПТ + двухмассовая нагрузка (вариант 1)
│ ├── params_lab2.m # параметры двигателя и коэффициенты регуляторов
│ ├── run_lab2.m # запуск всех моделей + построение графиков
│ ├── models/ # Simulink-модели по задачам T1…T5
│ │ ├── L2_T1_dcmotor_vs_linear.slx # ДПТ vs линейная модель
│ │ ├── L2_T2_current_loop.slx # контур тока/момента (БП)
│ │ ├── L2_T3_speed_inner_loop.slx # внутренний контур скорости (P)
│ │ ├── L2_T4_speed_outer_loop.slx # внешний контур скорости (I, МО)
│ │ └── L2_T5_position_loop.slx # контур положения (PI, СО)
│ └── figures/ # сохранённые результаты (.png)
│
└── Лабораторная 3/ # СДПМ (PMSM), векторное управление
├── params_lab3.m # параметры СДПМ и коэффициенты регуляторов
├── run_lab3.m # запуск всех моделей + построение графиков
├── models/ # Simulink-модели по задачам T1…T3
│ ├── L3_T1_dq_pmsm.slx # d-q модель СДПМ (внутренние сигналы)
│ ├── L3_T1_linear.slx # линейная модель «скорость-момент»
│ ├── L3_T1_dq_vs_linear.slx # d-q vs линейная (влияние i_rd)
│ ├── L3_T2_cascade_dq.slx # каскад на d-q модели
│ ├── L3_T2_cascade_position.slx # каскад на линейной модели
│ └── L3_T3_vector_control.slx # векторное управление (компенсация связей)
└── figures/ # сохранённые результаты (.png)
Проблема. Спроектировать и настроить каскадную (подчинённую) систему регулирования электропривода на базе ДПТ с двухмассовой упругой нагрузкой (вариант 1). Требуется обеспечить заданное быстродействие и качество переходных процессов по току, скорости и положению, а также подавление возмущения по моменту нагрузки.
Как решено. Построена четырёхконтурная система подчинённого регулирования.
Параметры эквивалентного ДПТ восстановлены из линейной механической
характеристики M(ω) = β·(ω₀ − ω), датчики нормированы к 10 В. Контуры
настроены последовательно изнутри наружу:
| Задача | Контур | Регулятор | Настройка |
|---|---|---|---|
| T1 | ДПТ vs линейная модель | — | проверка адекватности модели, реакция на возмущение M_L = 0.1·Mₙ |
| T2 | ток / момент | ПИ | технический оптимум (БП), компенсация ЭДС |
| T3 | внутренний контур скорости | П | полоса ωᵣ₀ ниже резонанса двухмассовой системы |
| T4 | внешний контур скорости | И | модульный оптимум (МО), подавление статической ошибки при набросе нагрузки |
| T5 | положение | ПИ + префильтр | симметричный оптимум (СО) |
Корректность каждой настройки подтверждается наложением переходного процесса из
Simulink на эталонный шаблон БП/МО/СО (tf/step). Проверяется условие
разделения контуров Tμ₁ ≥ 5·T_т.
Проблема. Реализовать векторное управление СДПМ. Нелинейная d-q модель
содержит перекрёстные связи между осями (член i_rd), которые искажают
механическую и скоростную характеристики по сравнению с идеальной линейной
моделью. Нужно показать это влияние и устранить его регулятором.
Как решено. Двигатель описан в осях d-q; момент Mₑ = (3/2)·Zp·ψf·iq.
Фазные Rs, Ls приведены из междуфазных. Контуры токов id/iq настроены по
БП, контуры скорости и положения — по МО/СО (та же методика, что и в Лаб 2).
| Задача | Что сравнивается | Вывод |
|---|---|---|
| T1 | d-q модель vs линейная; характеристики ω(T) и ω(U) |
перекрёстная связь i_rd искривляет характеристики |
| T2 | каскад на d-q модели vs каскад на линейной модели |
расхождение из-за неучтённой связи между осями |
| T3 | векторное управление (с компенсацией) vs каскад | блок компенсации связей (BC) удерживает i_d ≈ 0 и восстанавливает линейность |
Ключ — блок компенсации перекрёстных связей (BC):
u_sd = −(1/Kинв)·ωᵣ·Ls·iq, u_sq = (1/Kинв)·ωᵣ·(Ls·id + ψf).
Под векторным управлением ток i_d удерживается около нуля, и положение
точно отслеживает эталон СО — в отличие от каскада без компенсации.
Из MATLAB (модели и скрипты должны лежать рядом):
% Лабораторная 2
cd 'Лабораторная 2'
run_lab2 % симулирует T1…T5 и сохраняет графики в figures/
% Лабораторная 3
cd '../Лабораторная 3'
run_lab3 % симулирует T1…T3 и сохраняет графики в figures/Скрипты run_lab*.m сами подгружают параметры (params_lab*.m), последовательно
запускают .slx-модели, накладывают отклик на эталонные характеристики и
экспортируют результаты в figures/*.png.