Модели непрерывных объектов и их дискретизация в среде Matlab: Методические указания к лабораторным работам по курсам: “Микроэлектронные и микропроцессорные управляющие и информационные устройства”, “Микропроцессорные системы управления в электроприводе”, страница 3

n                     p          

Рис.3.1

В таблице обозначено: n размерность квадратной матрицы A. В примере три уравнения состояния, поэтому n=3. Следовательно, матрицаA квадратная и состоит из трех строк и трех столбцов:

.                                       (3.12)

Матрица В состоит из n=3строк и p=2 столбцов. Количество столбцов p равно числу входных воздействий. В примере два воздействия: U1=uy и U2=ic. Размерность матрицы С q xn, где q-число выходов. В примере три выхода. Выходами являются напряжение якоря Uя, ток Iя и скорость w. Размерность D определяется  количеством выходовq и  количеством входов p.

Поскольку в нашем примере число входов p=2 и выходов q=3  матрицы B и С примут вид, причем C диагональная матрица:

,, .                      (3.13)

Применение изложенных правил продемонстрируем на примере.

Пример 1. Построить модель объекта в уравнениях состояния, если дано: Тп=0.01, Tя=0.04 с, Rя=0.5 Ом, Тм=0.1 с, Uян=220 В, wн=105, Iн=21А, kп=22. 

Перейдем к работе в системе Matlab-Control System Toolbox. Запустить Matlab можно из меню “Пуск” или с помощью ярлычка на рабочем столе. Окно Matlab для ввода команд пакета Control System Toolbox и других пакетов расширения, имеет вид, приведенный на рис.3.2.


Рис. 3.2.

При создании модели состояния в Matlab - Control System Toolbox необходимо предварительно с помощью Matlab ввести промежуточные константы cf и k, используя данные из задания:

cf=сф= (Uян RяIн)/wнIk=Uян/Rяk=Ik/Iн=Uян/(RяIн),

а затем ввести численные значения элементов матриц используя формулы, следующие за (3.9):

a22=,  a31=

 b22=b22=0,

.

По формуле Matlab 

A = [a11  a12  a13;  a21  a22  a23;  a31  a32  a33],                   (3.14)

ввести матрицу A, где первые три цифры – элементы первой строки, вторые – второй, третьи – третей. Элементы строк разделяются точкой с запятой.При трех выходах w, iЯ, uЯ и двух входных воздействиях uy и ic матрица B состоитиз трех строк и двух столбцов и вводится следующим образом:

B = [b11  b12b21  b22b31  b32].                                    (3.15)

С=[1 0 0; 0 1 0; 0 0 1]; D=[0 0; 0 0; 0 0].

Для ввода непрерывной модели в уравнениях состояния необходимо воспользоваться функцией Matlab

Sss=ss(A,B,C,D),                                                         (3.16)

а преобразование аналоговой модели в цифровую модель в уравнениях состояния осуществить с помощью другой функции Matlab

Zss=c2d(Sss, T, ’metod’),                                           (3.17)   где Sss, Zss – соответственно имена непрерывной и цифровой моделей в уравнениях состояния, T – период дискретизации, metod – метод дискретизации, это слово следует заменить одним из следующих значений, сохраняя кавычки:

zoh’ – экстраполятор нулевого порядка, принят по умолчанию и поэтому может при вызове функции не указываться.

foh’ – экстраполятор первого порядка.

tustin’ – подстановка Тастина.

Период дискретизации T следует выбирать из условия T£0.5Tmin, где Tmin наименьшая постоянная времени системы. Оценку правильности выбора T можно выполнить несколькими прогонами системы, каждый раз уменьшая  T в два раза. Последний и предпоследний прогоны следует выводить в одно окно. В этом случае кривые процессов будут выводиться наложенными друг на друга, что существенно облегчит сравнение. Если в последних двух прогонах переходные процессы совпадают, то следует выбрать T из предпоследнего прогона. Необходимо также, чтобы амплитуда первого скачка выходного напряжения усилителя мощности была не больше 30%. Это даст гарантию, что не будет превышено предельно допустимое значение темпа нарастания тока якоря. Допустимый темп нарастания тока определяется по паспортным данным двигателя и находится в пределах 10…50 номинальных токов за секунду.  

Более тонкую оценку можно выполнить по весовым функциям.

Переопределить шаг дискретизации функции Zss  можно с помощью функции

Zss1=d2d(Zss,T),

где Zss – исходная цифровая модель,

Zss1 – модель с измененным шагом дискретизации.