Implémentation d’un système du 2nd ordre: y(n)=> {x(n-1), y(n-1), y(n-2)}
Définition de la fonction Sys2()
La réponse indicielle d’un système en 2nd ordre
Etc.
Paramètre du système du second ordre
#define Fn 10.00
#define Zeta 0.2
#define K 1.0
#define T_ms 10 // 100 Hz
Paramètres de l’échelon
#define A_step 5.0 // Amplitude
#define c_step 200 // Période = 2*c_step*T_ms
Génération de l’entrée x(n) d’amplitude A_step
c++; c=c%c_step;
if(!c)
{
Step=!Step;
c=0;
}
x_nn=A_step*(double)Step;
Calcul de la sortie
y_nn=Sys2(x_nn, 0.1, Wn, K, T_s);
Affichage de l’entrée x(n) et la sortie y(n)
Serial.print(x_nn); Serial.print(",");
Serial.println(y_nn);
La fonction Sys2()
La fonction Sys2() permet de calculer la sortie y(n) en fonction de l’entrée x(n) d’un système du second ordre ne boucle ouverte. Elle prend en entrée l’échantillon actuel d l’entrée x(n), la coefficient d’amortissement zêta, la pulsation normale wn, le gain statique k et la période d’échantillonnage T en seconde. Puis elle retourne la sortie y(n). Ci-dessous la définition de la fonction.
* 1. Implémentation d'un système du 2nd ordre * y(n)=> {x(n-1), y(n-1), y(n-2)} * 2. Définition de la fonction Sys2() * 3. La réponse indicielle d'un système en 2nd ordre * 4. Etc. * */
2 réponses sur « Asservissement | Arduino #7: Réponse indicielle d’un système du second ordre »
Bonjour
Très bien ce programme, juste une petite erreur : vous appelez la fonction Sys2 avec 0.1 au lieu de mettre la variable Zeta (qui est définie à 0.2), du coup lorsque l’on change la valeur de Zeta au début du programme pour faire une petite étude paramétrique, cela ne change rien à la sortie.
En tout cas j’aime bien ce que vous faites, merci.
2 réponses sur « Asservissement | Arduino #7: Réponse indicielle d’un système du second ordre »
Bonjour
Très bien ce programme, juste une petite erreur : vous appelez la fonction Sys2 avec 0.1 au lieu de mettre la variable Zeta (qui est définie à 0.2), du coup lorsque l’on change la valeur de Zeta au début du programme pour faire une petite étude paramétrique, cela ne change rien à la sortie.
En tout cas j’aime bien ce que vous faites, merci.
Merci pour la remarque!