В нашем случае, М=1,25
Расчет регулятора сводится к следующей методике расчета:
Величина параметра регулятора, при которой амплитудно-фазовая характеристика разомкнутой системы будет касаться окружности с заданным М, определяется следующим образом:
1. Строится АФЧХ регулируемого объекта, и из начала координат проводится луч под углом к отрицательной вещественной полуоси.
2. Проводится окружность с центром на вещественной отрицательной полуоси, касающаяся одновременно АФЧХ регулируемого объекта и этого луча.
В качестве регулятора попробуем использовать ПИ-регулятор. Найдем его параметры с помощью Matlab’а.
clcclearW1=tf([0.9],[20 1],'td', 1) % задаем передаточную функциюW2=tf([1],[500 100 1],'td', 15) % задаем передаточную функциюWob=W1*W2 % общая передаточная двух последовательных частей системы nyquist(Wob)M=1.25;w=0.0001:0.0001:0.3;s=i*w;Kp=3.2;Ki=0.03Wob1=((0.9).*(Kp+(Ki./(s))))./(10000*s.^3+2500*s.^2+120*s+1);re=real(Wob1);im=imag(Wob1);R=M/(M^2-1);C=(M^2)/(1-M^2);x=-1:0.00001:0.4;y1=sqrt(R^2-(x-C).^2);y2=-sqrt(R^2-(x-C).^2);K=tan(asin(1/M));y3=K*x;plot(re, im, x,y1,x,y2,x,y3)grid on |
Изменяя значения Kp и Ki, подберем такие значения, при которых окружность одновременно касается АФЧХ и луча. Это достигается при:
Рис. 5. Расчет ПИ-регулятора
Промоделируем систему с
иРис.6. Структура объекта с регулятором
Получим характеристику:
Рис. 7. Поведение непрерывного объекта с ПИ-регулятором
При использовании данного регулятора точность составит
что удовлетворяет заданному условию
Следовательно будем использовать ПИ-регулятор с параметрами
Передаточная функция такого регулятора имеет вид:
3. Синтез компенсатора
Для того, чтобы добиться желаемого качества процесса управления или регулирования (требуемой точности системы и качества переходного процесса), можно изменить структуру системы, введя дополнительные звенья корректирующие устройства (компенсаторы).
Основная задача компенсаторов состоит в улучшении точности системы и качества переходных процессов.
Систему с компенсатором можно представить в виде:
Рис. 8. Система с компенсатором
Рассчитать компенсатор можно следующим образом:
Условие физической реализуемости компенсатора соблюдено – степень числителя не превышает степень знаменателя.
Промоделируем в Simulink систему без учёта компенсатора
Рис. 9. Структура системы без компенсатора
Характеристика системы будет следующей
Рис. 10. Поведение системы без компенсатора
Промоделируем в Simulink систему с учётом компенсатора
Рис. 11. Структура системы с компенсатором
Характеристика системы будет следующей
Рис. 12. Поведение системы с компенсатором
Характеристики систем
Рис. 13.
Из Рис. 13 делаем вывод : компенсатор снизил возникшую при введении в систему внешнего воздействия ошибку.
4. Синтез дискретного регулятора
Предполагается, что ступенчатое изменение задающей переменной происходит в момент времени k=0:
ω(k)=1 для k= 0,1,2,… .
Так как время запаздывания не равно нулю (d≠0), то необходимо использовать следующую модель объекта:
(2.1)Коэффициенты этой модели удовлетворяют соотношениям:
(2.2)На процесс управления наложены теперь следующие ограничения:
y(k)=ω(k)=1 для k ≥ ν=m+d,
u(k)=u(m) для k ≥ m.
Тогда параметры регулятора:
(2.3)Таким образом, получим передаточную функцию апериодического регулятора:
(2.4)Отсюда следует, что передаточная функция по задающему сигналу при использовании точной модели объекта будет равна:
(2.5)а ее характеристическое уравнение:
(2.6)что говорит об апериодическом характере переходного процесса.
Будем рассчитывать регулятор, включенный последовательно с объектом, с помощью Matlab’а.
W1=tf([0.9],[20 1],'td', 1) % задаем передаточную функциюW2=tf([1],[500 100 1],'td', 15) % задаем передаточную функциюWob=W1*W2 % общая передаточная двух последовательных частей системыT=1 % время квантованияWdiskr=c2d(Wob,T,'zoh') % передаточная в дискретной области [NumerDenom]=tfdata(Wdiskr, 'v') % коэффициенты числителя и знаменателя m=length (Numer)Denom1=Denom(2:m)Numer1=Numer(2:m)q0=1/sum(Numer1)for i=1:(m-1)q(i)=q0*Denom1(i) p(i)=q0*Numer1(i)endQ=[q0 q] % матрица коэффициентов числителя P=[1 -p] % матрица коэффициентов знаменателя Wr=tf(Q, P, T) % передаточная функция регулятора |
Получим значение передаточной функции дискретного регулятора:
Посмотрим на поведение системы при использовании такого регулятора. Промоделируем поведение системы в Simulink’e.
Рис. 12. Структура системы с дискретным регулятором
Получим следующий график:
Рис. 13. Поведение системы с дискретным регулятором
Как видно из полученного графика, установившаяся ошибка и время перерегулирования отсутствует. Время регулирования составляет 3 такта.
Таким образом, произведен синтез дискретного регулятора.
5. Синтез дискретного компенсатора
Систему с компенсатором можно представить в виде:
Рис. 14 Система с компенсатором
Таким образом, рассчитать компенсатор можно следующим образом:
Рассчитаем дискретный компенсатор с помощью Matlab’а.
W1=tf([0.9],[20 1],'td', 1) % задаем передаточную функциюW2=tf([1],[500 100 1],'td', 15) % задаем передаточную функциюWf=tf([0.7],[10 1]) % задаем передаточную функциюWob=W1*W2 % общая передаточная двух последовательных частей системыT=1 % время квантованияWdiskr=c2d(Wob,T,'zoh') % передаточная в дискретной области W1d=c2d(W1,T,'zoh') % передаточная в дискретной областиW2d=c2d(W2,T,'zoh') % передаточная в дискретной областиWfd=c2d(Wf,T,'zoh') % передаточная в дискретной области[NumerDenom]=tfdata(Wdiskr, 'v') % находим числитель и знаменатель m=length (Numer)Denom1=Denom(2:m)Numer1=Numer(2:m)q0=1/sum(Numer1)for i=1:(m-1) q(i)=q0*Denom1(i) |
p(i)=q0*Numer1(i)endQ=[q0 q] % матрица коэффициентов числителя P=[1 -p] % матрица коэффициентов знаменателя Wr=tf(Q, P, T) % передаточная функция регулятораWkomp=(Wfd)/(Wr*W1d) % передаточная функция компенсатора[NkDk]=tfdata(Wkomp, 'v') % коэффициенты числителя и знаменателя[NfDf]=tfdata(Wfd, 'v') % коэффициенты числителя и знаменателя [N1 D1]=tfdata(W1d, 'v') % коэффициенты числителя и знаменателя[N2 D2]=tfdata(W2d, 'v') % коэффициенты числителя и знаменателя |
Получим значение передаточной функции дискретного компенсатора:
Посмотрим на поведение системы при использовании такого компенсатора. Промоделируем поведение системы в Simulink’e.