Estou implementando um controlador PID para controle de velocidade do motor. Terminei de implementar o controle PI e ele funciona perfeitamente para mim. Na especificação, fui instruído a implementar uma técnica de filtragem usando a seguinte equação para a parte D:
Agora, o que entendi até agora, é que s
representa "dx/dt"
geralmente o que corresponde à taxa de mudança de erro, mas aqui posso relacioná-lo com a taxa de mudança de feedback. Td/N
é para limitar a saída de ganho geral (espero que eu entendi direito). Agora, para representar isso em termos de código C, tentei da seguinte maneira:
s = (CurrentFeedback()-Old_Feedback)*100/(MaxFeedback()); //to calculate the % change in feedback
s = s*1000/sampleTime; //1000 is multiplied because sampleTime is in milliseconds
D = (Td*s)/(1+(s*Td/N));
D = D*KP; //Kp is multiplied as per the standard pid equation.
Old_Feedback = CurrentFeedback();
PID = P+I-D;
Bem, os resultados adicionando D não são o que eu previ. Eu só quero saber se eu implementei a equação da porção D corretamente? Estou cometendo algum erro na minha compreensão das matemáticas básicas da diferenciação?
NOTA: Não tenho liberdade para alterar o recálculo do kp, ti, td, pois ele vem diretamente do VFD.
fonte
Respostas:
Tenho 3 pontos para compartilhar:
1-Vou lhe dizer por que as pessoas mexem com o termo D intermos de sinal, PID = P + I + D, mas, D = kd * (erro-erro antigo) e no controle de posição se você estiver se aproximando do ponto de ajuste, sempre o erro mais antigo é <erro, então o termo D será negativo e, portanto, diminui a saída e evita o excesso.
2-Quanto ao tempo, não divida ou use o tempo. Como você está usando um microcontrolador incorporado, use apenas uma constante de tempo e cancele-a de todas as equações: por exemplo, use uma interrupção do temporizador para gerar uma constante de tempo de 1ms e chamar sua função por dentro.
3-Por que você está usando o PID para controle de velocidade, 90% do tempo o PI é suficiente no controle de velocidade, pois D aqui é mais parecido com o controle de aceleração.
espero que ajude
fonte