Показать сообщение отдельно
Старый 02.05.2018, 12:51   #1
Otto Dietrich
Member
 
Регистрация: Feb 2016
Сообщения: 35
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Lightbulb Разбираемся в PID регуляторе .

Разберемся что он делает , как считает и вообще .

D составляющая

В стандартной формуле она состоит из :


Dк - Дифференциальный коэффициент .

Err(t) - Err(t-1) - Дельта ошибок . (может обозначаться как /\Err)
Дельта ошибок это вычитание нынешней ошибки из предыдущей .
Что такое ошибка . Ошибка это ( Уставка - Температура ) .
Соответственно если Уставка = 30 , а Температура = 20 , то ошибка 10 .
Допустим Температура увеличилась до 25 и ошибка стала = 5 .
Теперь зная нынешнюю и предыдущую ошибку мы можем найти дельту . 5 - 10 = -5

/\t - дельта времени .
Это значение времени прошедшие между ошибками .
В SMLogix мы используем Тик * 0,001 .Зачем ?
Если мы в дальнейшем будем задавать значение в секундах , то Мс (Тик измеряется в Мс) нужно перевести в секунды .
Умножая тик на 0,001 мы переводим его в секунды .

С переменными покончено . Переходим к формулам .

Стандартный конструктор использует такую :

/\Err*_()_
          (/\t)

Я честно говоря в ней не разбирался ,
но любые другие формулы связанные с PID имеют другой вид .

Dк*_(/\Err)_
          (/\t)


Используя последнюю формулу мы получаем такой результат .

Допустим /\Err = 0,2 градуса . Dк = 1 . /\t 0,05сек (50мс).
Мы получаем результат 4 .
4 это на сколько градусов изменится температура за 1 секунду при такой скорости .
/\t мы задаем в секундах , так как удобнее для вычислений использовать секунды


Если Err разделить на это значение , то мы получим за сколько секунд мы достигнем уставки .

Как с помощью этого регулировать ? Об этом будет позже .

Последний раз редактировалось Otto Dietrich, 02.05.2018 в 13:13
Otto Dietrich вне форума   Ответить с цитированием