Size: a a a

🎄Embedded Group

2021 January 23

AM

Aleksander Mironov in 🎄Embedded Group
Блин надо идти какие то базы читать, терминологию трудно воспринимаю =\
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
Aleksander Mironov
Но как я понимаю, в случае с И частью это просто отразится на коэффициенте? Т.е. при более частом вызове, придется уменьшить И?
интуитивно - да. но не на 100% уверен в этом
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
на 99% уверен)
источник

r

romanetz in 🎄Embedded Group
Aleksander Mironov
Но как я понимаю, в случае с И частью это просто отразится на коэффициенте? Т.е. при более частом вызове, придется уменьшить И?
шаг интегрирования меняется и всё
источник

r

romanetz in 🎄Embedded Group
dt
источник

r

romanetz in 🎄Embedded Group
Частота обсчёт пид не имеет никаких ограничений сверху
источник

r

romanetz in 🎄Embedded Group
Грубо говоря, если даже там  10 мсек, а регулирует температуру в комнате - это овердофига
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
/* Пид-регулятор */
static float yi = 0;
void PID_U_RESET()
{
 yi = 0;
}

float PID_U(float delta)
{
 /* константы */
 #define kp (1)
 #define ki (10)
 #define kd (1)
 #define Td (1)
 #define hd (1e-3)  /*Шаг счета - изменяется обратно пропорционально частоте вызова регулятора */
 /*пропорциональная часть - не нуждается в статической переменной */
 #define yp (kp*delta)
   
 static float yd = 0, delta_last = 0;
   
   if (delta > 80) delta = 80;

   /* интегральная часть */
 yi = yi + hd*ki*delta;  
 if(yi < 40) yi = 40;
 else if(yi > 55) yi = 55;
 
 /* дифференциальная часть */
 yd = yd + hd*( ( kd*(delta-delta_last)/hd - yd )/Td );
 delta_last = delta;
 
 return (yp + yi + yd) ;

 #undef kp
 #undef ki
 #undef kd
 #undef Td
 #undef hd
 #undef yp
}
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
полный ПИД. но если честно - мне никогда вручную не удавалось настроить Д-часть. только оптимизационными методами
источник

AM

Aleksander Mironov in 🎄Embedded Group
Ponytale 🇷🇺
согласно ТАУ, это фундаментальное свойство П-регулятора не важно что он регулирует)
А вот ха это поясните пожалуйста.
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
Aleksander Mironov
А вот ха это поясните пожалуйста.
П-регулятор всегда останавливается ДО достижения точного значения
источник

AM

Aleksander Mironov in 🎄Embedded Group
Ponytale 🇷🇺
П-регулятор всегда останавливается ДО достижения точного значения
Именно по нижней границе, а не в абсолютном значении?
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
Aleksander Mironov
Именно по нижней границе, а не в абсолютном значении?
абсолютного значения. какая разница - нижней/верхней
источник

AM

Aleksander Mironov in 🎄Embedded Group
Ponytale 🇷🇺
абсолютного значения. какая разница - нижней/верхней
Я может на правильно понял. ПОнял это как - то, что овершут на П регуляторе не возможен.
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
смотря с какой стороны вы приближаетесь к уставке
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
овершут на П-регуляторе... мхм. наверное, невозможен, да
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
интегральная часть его вносит
источник

AM

Aleksander Mironov in 🎄Embedded Group
Ponytale 🇷🇺
овершут на П-регуляторе... мхм. наверное, невозможен, да
Блин тогда я что то не понимаю сильно.
У меня П дал 100% мощности, при приближении к уставке убавил на 0. Но нагреватель имеет инерцию огромную и продолжает греть.
И хренась! Огромный перелет.
источник

P

Ponytale 🇷🇺 in 🎄Embedded Group
Aleksandr Zharov
Допусти, что система вошла в резонанс или испытала внешнее воздействие за пределами допустимого. Меняешь коэф. И ждешь пока все успокоится
как именно менять коэффициент?)
источник

A

Aleksandr Zharov in 🎄Embedded Group
Ponytale 🇷🇺
интегральная часть его вносит
Не всегда.
источник