No plano Z
𝑧 = 𝑒 −𝑠𝑇 = 𝑒 −60.6∙0.003 = 0.8338
A função de transferência para a malha fechada considerando
𝐺∗ (𝑧) = 𝐺(𝑧) ∙ 𝐾 , será
𝐾 ∙ 0.0869
𝑀𝐹∗ =
𝑧 − 0.9131 + 𝐾 ∙ 0.0869
Para obter o novo polo, deseja-se que o denominador em malha fechada
seja
1 1
=
𝐷𝑒𝑛𝑜𝑚𝑖𝑛𝑎𝑑𝑜𝑟(𝑧) 𝑧 − 0.8338
Assim
1 1
=
𝑧 − 0.9131 + 𝐾 ∙ 0.0869 𝑧 − 0.8338
−0.9131 + 𝐾 ∙ 0.0869 = −0.8338
0.0793
𝐾= = 0.9125
0.0869
Assim, a nova função de transferência em malha fechada será
0.9125 ∙ 0.0869 0.0793
𝑀𝐹∗ = =
𝑧 − 0.9131 + 0.9125 ∙ 0.0869 𝑧 − 0.8338
Referência = 2.0
K = 0.9125
PWM (Referência , Entrada)
while(1){
V_saída = ADC (Saída)
Erro = Referência – V_saída
Nova_Entrada = K*Erro
PWM (Nova_Entrada , Entrada)
Aguarda (3ms)
}
#include <stdio.h>
#include <stdlib.h>
double Ref = 0.0;
double u=0.0;
double e=0.0;
double Vad=0.0;
double k=0.9125;
void setup() {
Ref=0.0;
delay(5000);
Ref=2.0;
pinMode(A0,INPUT);
pinMode(13,OUTPUT);
}
void loop() {
Vad=analogRead(A0)*5.0/1024.0;
e=Ref-Vad;
u=k*e;
analogWrite(13,u*255.0/5.0);
delay(3);
}