Показать сообщение отдельно
Старый 25.02.2017, 22:10   #75
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 171
Благодарил(а): 241 раз(а)
Поблагодарили: 166 раз(а) в 158 сообщениях
По умолчанию Ответ: Мой вариант PID-регулятора

Цитата:
Сообщение от LordN Посмотреть сообщение
Sp - Err - dErr = Sp - ErrOld
ErrOld = Err
Цитата:
Сообщение от tvf Посмотреть сообщение
Тогда у меня вопрос к математике.
Если Err - рассогласование, то
Err=Sp-Pv, где Pv - датчик.

Sp - Err - dErr=Sp-(Sp-Pv)-d(Sp-Pv)=
=Sp-Sp+Pv-dSp+dPv=
=Pv-dSp+dPv

В общем то Pv-dSp+dPv >< Sp - ErrOld

для стационарных условий, при неизменной уставке

dSp=0, тогда

Pv-dSp+dPv=Pv+dPv, то есть вообще не зависит от Sp.

Может мы друг друга не совсем понимаем, может лучше привести полную формулу ПИД регулятора?
смотрите выше.

Err = Sp - Pv
dErr = Err - ErrOld(**)
ErrOld = Err // запомнили

а это значит что

Sp - (Err + dErr) => Sp - (Err + (Err - ErrOld)) => Sp - (2Err - ErrOld)



полная формула ПИДа

Err/P +(Summ+=Err* tautick/Ti) + dErr*Td/tautick

размерность
Err = °K
Р = °К
Ti = °К*секунды
Td = секунды/°K
dErr = °K
tautick = секунда

p.s.
Summ+=Err* tautick/Ti - интеграл по формуле прямоугольника
можно заменить интеграл на формулу трапеции
Summ+=(Err+ErrOld)* tautick/(2*Ti) =>
по (**)
ErrOld = Err - dErr и тогда
Summ=(2*dErr-dErr)*tautick/(2*Ti)


__________________
C уважением, LordN

Последний раз редактировалось LordN, 25.02.2017 в 22:33
LordN сейчас на форуме   Ответить с цитированием