Implémentation d’un système du 2nd ordre en boucle fermée (BF)
Analyse d’un système en BF
La réponse indicielle/rampe en BF
Avantage et inconvénient d’un système en boucle fermée à retour unitaire sans correcteur La réponse à une rampe d’un système en 2nd ordre
Etc.
Voir le tuto d’avant pour plus des détails
Fonctionnement
Le tuto a pour objectif d’introduire l’architecture d’asservissement avec Arduino. En particulier la boucle fermée avec le retour unitaire et sans correcteur. On va analyser la réponse indicielle et une rampe du système en BF en comparaison avec la boucle ouverte et en déduire les avantages et incontinents des deux stratégies de commande. L’architecture introduite dans ce tuto sera utilisé dans les tutos prochains avec les divers types des correcteurs numériques (P, PI, PD, PID, …). Voir le tuto pour plus des détails. Ci-dessous le code Arduino commenté.
Les paramètres du système
#define Fn 10.00
#define Zeta 0.70710678118
#define K 1.0
#define T_ms 2
Les paramètres de l’échelon (ou rampe)
#define A_step 10.0 // Amplitude
#define c_step 200 // Période = 2*c_step*T_ms
unsigned long c=0; // Compteur (période)
bool Step=false;
Les variables en BO et BF
double x_nn=0.0; // Consigne (entrée)
double y_n_BF=0.0; // Sortie en BF
double y_n_BO=0.0; // Sortie en BO
double eps_n=0.0; // Erreur
double y_capt=0.0; // Sortie du capteur
double y_corr=0.0; // Sortie du correcteur
Les variables internes des systèmes
double x1[2], y1[3]; // Système en BF
double x2[2], y2[3]; // Système en BO
Les étapes de l’implémentation de la boucle fermée avec Arduino
La consigne (l’entrée) x(n)
c++; c=c%c_step;
if(!c)
{
Step=!Step;
c=0;
}
x_nn=A_step*(double)Step; // Réponse à un échelon x(n)=cte
/* * 1. Implémentation d'un système du 2nd ordre en boucle fermée (BF) * 2. Analyse d'un système en BF * 3. La réponse indicielle/rampe en BF * 4. La réponse à une rampe d'un système en 2nd ordre * 5. Etc. * ------------- - - x(n) ------->--- SYS2 ------->-- y(n): BO - - -------------