Отслеживание уставки двигателя постоянного тока с изменениями параметра

Этот пример показывает, как сгенерировать массив моделей LTI, которые представляют изменения объекта системы управления от модели Simulink. Этот массив моделей используется в Control System Designer для системы управления.

Модель двигателя постоянного тока

В управляемых арматурой двигателях постоянного тока приложенное напряжение Va управляет угловой скоростью вала. Упрощенную модель двигателя постоянного тока показывают ниже.

Откройте модель Simulink для двигателя постоянного тока.

mdl = 'scdDCMotor';
open_system(mdl)

Выполните пакетную линеаризацию

Цель контроллера состоит в том, чтобы предоставить отслеживание ступенчатым изменениям в ссылочной угловой скорости.

В данном примере физические константы для двигателя:

  • R = 2.0 +/-10% Ом

  • L = 0.5 Henrys

  • Km = 0.1 постоянные Крутящих момента

  • Kb = 0.1 постоянные Обратных эдс

  • Kf = 0.2 Nms

  • J = 0.02 +/-.01 кг m^2/s^2

Обратите внимание на то, что параметры R и J заданы как область значений значений.

Чтобы разработать контроллер, который будет работать на все значения физического параметра, создайте представительный набор объектов путем выборки этих значений.

Для параметров R и J, используйте их номинал, минимум и максимальные значения.

R = [2,1.8,2.2];
J = [.02,.03,.01];

Чтобы создать массив LTI моделей объекта управления, пакет линеаризует объект двигателя постоянного тока. Для каждой комбинации демонстрационных значений R и J, линеаризуйте модель Simulink. Для этого задайте точку ввода линеаризации при выводе блока контроллера и выходной точки линеаризации с циклом, открывающимся при выводе блока загрузки как показано в модели.

Поймите аналитические мысли линеаризации, заданные в модели.

io = getlinio(mdl);

Отличайтесь параметры объекта R и J.

[R_grid,J_grid] = ndgrid(R,J);
params(1).Name = 'R';
params(1).Value = R_grid;
params(2).Name = 'J';
params(2).Value = J_grid;

Линеаризуйте модель для каждой комбинации значения параметров.

sys = linearize(mdl,io,params);

Открытый Control System Designer

Откройте Control System Designer и импортируйте массив моделей объекта управления. использование следующей команды.

controlSystemDesigner(sys)

Используя Control System Designer, можно разработать контроллер для номинальной модели объекта управления, одновременно визуализируя эффект на другие модели объекта управления как показано ниже.

Редактор корневого годографа отображает корневой годограф для номинальной модели и местоположений полюса с обратной связью, сопоставленных с другими моделями объекта управления.

Предвещать редактор отображает и номинальный образцовый ответ и ответы других моделей объекта управления.

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

Разработайте контроллер

Используя инструменты в Control System Designer, разработайте следующий компенсатор для отслеживания уставки.

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

Экспортируйте проект и подтвердите в модели Simulink

Чтобы экспортировать разработанный контроллер в рабочее пространство MATLAB, нажмите Export. В диалоговом окне Export Model выберите C и нажмите Export. Запишите параметры контроллера в модель Simulink.

[Cnum,Cden] = tfdata(C,'v');
hws = get_param(mdl, 'modelworkspace');
assignin(hws,'Cnum',Cnum)
assignin(hws,'Cden',Cden)

Больше информации

Для получения дополнительной информации об использовании мультиособенностей модели Control System Designer смотрите Мультиобразцовую Систему управления (Control System Toolbox).

bdclose('scdDCMotor')