
7.2 Синтез программного корректирующего устройства
Для того чтобы синтезировать программное корректирующее устройство запишем передаточную функцию параллельного корректирующего устройства (56) в виде z – разностных уравнений, проведем обратное z – преобразование и вычислим коэффициент ошибки управления.
Введем замену
,
получим
(60)
Введем следующую замену
,
получим функцию вида
(61)
Домножим числитель и знаменатель на 1/z, тогда:
(62)
Преобразуем (62) к виду (63)
(63)
Запишем разностное уравнение в реальном масштабе времени введя в числитель дополнительный сдвиг z-1:
(64)
Выбор корректирующего устройства
Последовательные корректирующие устройства получили широкое распространение в САУ, за счет того, что они позволяют корректировать точность работы системы. И за счет того, что последовательно включить дополнительное звено, как правило, легче реализовать из-за того, что на ее вход поступает более мощный сигнал.
К основным достоинствам этого вида коррекции относят:
-
Уменьшение динамических показателей переходного процесса или исключение влияния звеньев системы ухудшающих переходный процесс;
-
Снижение чувствительности системы к флуктуациям и помехам;
-
Высокая эффективность коррекции;
-
Применение в системах любой сложности.
Но так как в САУ изначально присутствует микропроцессорное устройство, то применение аналогового корректирующего устройства экономически нецелесообразнее, так как добавляются новые элементы. Одним из достоинств программной коррекции является точное выполнение зависимостей корректирующего устройства, тогда как для аналоговых корректирующих устройств трудно добиться точности, так как трудно точно подобрать номинал элементов в соответствии с расчетным. Поэтому целесообразнее написать программу коррекции для МП.
8 ПРОГРАММА ДЛЯ МИКРОПРОЦЕССОРА
По виду разностного уравнения (64) в виде:
(65)
Для разностного уравнения (65) корректирующего устройства составим блок-схему возможной процедуры коррекции (см. рисунок 13).
Рисунок 13 – Блок схема программы коррекции
Ниже приведена процедура коррекции для микропроцессора, написанная на языке Assembler.
;Расчет разностного уравнения
;
;х – входной сигнал
;у – выходной сигнал
i_port EQU 11h; номер порта для чтения
o_port EQU 12h; номер порта для записи
А1 EQU -207,6;
A2 EQU -207,5;
B1 EQU -0,86;
x1, x2, , DB 0; выделение памяти под переменные xk-1, xk-2
у1, DB 0; выделение памяти под переменные yk-1
;вычисляем значение выражения у(k)=A1*x1+A2*x2+B1*y1
start: ;метка начала цикла коррекции
in al,i_port ;чтение данных из порта
mov al,Al; вычисление слогаемого А1*х1
mov bl,al; сохранение результата в bl
; в результате имеем А1*х1 в регистре bl
mov al,х2; вычисление
mul al,A2; слагаемое А2*х2
add bl,al; прибавление к предыдущему результату
; в результате имеем А1*х1+А2*х2 в регистре bl
mov al,y1; вычисление
mul al,B1; слагаемое В1*у1
add b1,a1; прибавление к предыдущему результату
; в регистре b1 имеем результат вычисления всего выражения
mov y3,y2; для следующего
mov y2,y1; такта
mov y1,b1
mov x2,x1
mov x1,x
out o_port, bl; вывод управляющего сигнала из bl
jmp start; зацикливание на начало программы