КОНТР-&-БАСИК |
||
Заготовка для исследования переходных
процессов в ПИД-регуляторе
Это исследовательская программа для изучения законов регулирования. Регулятор, предназначенный для встраивания, будет содержать намного меньше строк, так как не нужно будет организовывать процедуры возмущения и коммутации звеньев. Данное приложение иллюстрирует возможности контроллера.
Программа запрашивает коэффициенты для звеньев обратной связи и выводит значение регулируемого параметра на терминал в столбик. На терминале включался вывод протокола в файл. После записи нескольких периодов переключения задающего параметра, запись останавливалась. Результаты, записанные в файл, были скопированы в таблицу EXCEL, таким образом, были получены графики переходных процессов.
Рис.1
В данной программе, возмущающее воздействие приложено в виде изменения задающего параметра от 200 до 800 дискретов АЦП – 20 и 80 процентов зоны регулирования.
REM *************************************** REM * Отладочная версия PID регулятора * REM * коэффициенты P,I,D пронормированы * REM * как 100 к некоторому знаменателю. * REM * При выводе сумма сигналов дополни- * REM * тельно делится на 10. * REM * Например, необходим коэффициент 0.5 * REM * тогда * REM * знаменатель 10 / 0.5 = 20 REM *************************************** print "******************************" print "* PID-регулятор Версия 1.2 *" print "* 02.03.2007 UA6ANN *" print "******************************" X=800 50 input "PROP=",L input "INTEG=",M input "DERIV=",Q I=0 100 GOSUB 300 SETB 128 ADC Y Z=(X-Y) TSTB B,1 IF B=1 THEN GOSUB 800 D=0 TSTB B,2 IF B=1 THEN GOSUB 900 GOSUB 700 C=(P+I+D)/10 PRINT Y REM PRINT "X=",X;" Z=",Z;" P=",P;" I=",I;" D=",D;" C=";C," O=",O IF C<0 THEN C=0 IF C>1023 THEN C=1023 DAC C TSTB A,126 IF A=0 THEN GOTO 100 input "$",A PRINT "PROP=",L;" INTEG=",M;" DERIV=",Q GOTO 50 REM ****************************************** REM * Переключатель значения задающего * REM * параметра. Каждые 50 отсчётов * REM * происходит перепад задающего параметра * REM * для исследования переходной * REM * характеристики * REM ****************************************** 300 S=S+1 if S=50 then goto 330 if S=100 then goto 380 return REM Задающ. параметр на 200 ед. 330 X=200 return REM Задающ. параметр на 800 ед. REM и начать отсчёт времени REM переключения сначала 380 X=800 S=0 return REM ********************************* REM * Пропорциональноезвено * REM ********************************* 700 P=Z SCALE P,100,L RETURN REM ********************************* REM * Интегрирующее звено * REM ********************************* 800 J=Z SCALE J,100,M I=I+J RETURN REM ********************************* REM * Дифференцирующее звено * REM ********************************* 900 D=W-Z W=Z SCALE D,100,Q RETURN |
|
Графики переходных процессов
Масштаб времени в данном эксперименте был 1.5 сек на 50 отсчётов.
Рис.2
Обновлен 02.03.07 |
||