La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Commande d’actionneurs à l’aide d’un microprocesseur

Présentations similaires


Présentation au sujet: "Commande d’actionneurs à l’aide d’un microprocesseur"— Transcription de la présentation:

1 Commande d’actionneurs à l’aide d’un microprocesseur
7 Réglage Christian Koechli

2 Objectifs du cours Méthodologie de conception Equations d’état
Fonction de transfert Identification Dimensionnement Implémentation du régulateur

3 Méthodologie Identification du système: - décomposition en sous-systèmes; - détermination des constantes de temps. Choix du système de réglage: - réglage direct ou en cascade; - dimensionnement analogique ou digital. Implémentation du régulateur sur le contrôleur.

4 Modèle du système: moteur CC
Equations d’état de l’entraînement

5 Système à régler (Moteur CC)

6 Fonction de transfert: régulateur de vitesse
Grandeur de perturbation Grandeur à régler Grandeur de commande Transformation de Laplace We i

7 Réponse indicielle Attention seule la partie linéaire est intéressante !

8 Système à régler (Moteur CC)

9 Fonction de transfert: régulateur de courant
Grandeur de commande Grandeur de perturbation Grandeur à régler Transformation de Laplace ui i u

10 Réponse indicielle

11 Variante: réglage en tension
On néglige l’effet de l’inductance sur le courant On néglige les frottements visqueux

12 Fonction de transfert: régulateur de vitesse
Grandeur de perturbation Grandeur de commande Grandeur à régler Transformation de Laplace We u

13 Buts du réglage Suivi de consigne: asservissement
Rejet de perturbation: régulation Le réglage doit être le plus rapide possible sans présenter de statisme.

14 Choix du type de régulateur
Classique (PI, PID) Réglage d’état RST Mode de glissement Logique floue

15 Dimensionnement du régulateur
Méthodes: Tournevis Ziegler Nichols (Prof. Longchamp) Design dans le domaine continu puis discrétisation (Prof. Bühler) Design dans le domaine discret (Prof. Longchamp)

16 Méthode tournevis Commencer par augmenter le terme P -> instabilité
Réduire d’au moins 1/3 Augmenter le terme I jusqu’à ce que le statisme et le dépassement soit tolérables Pas très scientifique !

17 Dimensionnement dans le domaine continu puis discrétisation
Identification du système à régler (réponse indicielle)=> constantes de temps Synthèse du régulateur dans le domaine continu (en s) Critère sur la réponse harmonique méplate Critère symétrique Discrétisation du régulateur

18 Structure

19 Réglage pseudo-continu: Simplification

20 Identification du système
Comportement intégral y Régulateur PI t

21 Identification du système
1 constante de temps dominante y Régulateur PI T1 t

22 Identification du système
2 constantes de temps dominantes y Régulateur PID t

23 Petite constante de temps équivalente
Le produit de ces fonctions de transferts et de celle liée à la discrétisation du régulateur peut être approché par: Avec k=0 pur un régulateur I, 0.5 pour un PI, 1 pour un PID

24 Dimensionnement: critère méplat

25 Critère symétrique Pour un système à comportement intégral

26 Réponse indicielle

27 Quel critère ? Méplat: bon comportement en asservissement (dépassement très limité). OK en régulateur (grandeur de perturbation) si T1 et T2 pas trop élevées par rapport à TpE Symétrique: comportement intégral du système ou régulateur avec bonnes performances dynamiques

28 Discrétisation du régulateur

29 Calcul des coefficients du régulateur

30 Implémentation DoCapture(); //lit le périph de mesure du temps entre 2 impulsions du capteur incrémental if (i==100) { //période d'échantillonnage i=0; vcons=AdcResult.ADCRESULT0; vmes = CalcSpeed(); //en tours par minute //régulateur de vitesse SpeedError = vcons- vmes; if(SpeedError>2000)SpeedError=2000; // limitation to avoid overflow if(SpeedError<-2000)SpeedError=-2000; // limitation to avoid overflow //intégrateur SpeedIntegr += SpeedError; if (SpeedIntegr > MaxSpeedIntegr) SpeedIntegr = MaxSpeedIntegr; if (SpeedIntegr < -MaxSpeedIntegr) SpeedIntegr = -MaxSpeedIntegr; taux = (((int32)Speed_KP * SpeedError) >> Speed_KP_div) + ( (SpeedIntegr*Speed_KI)>>Speed_KI_div); //comme on fait du pwm double croisé, un taux de 50% correspond à une tension moyenne nulle taulim = taux + (PERIPWM>>1); //il faut aussi limiter le taux if (taulim > PERIPWM) taulim = PERIPWM; if (taulim < 0) taulim = 0; EPwm1Regs.CMPA.half.CMPA=taulim; EPwm2Regs.CMPA.half.CMPA=taulim; }

31 Code de mesure du saut indiciel
//à déclarer int16 dump[1400]; int16 im=-1; // A utiliser pour déterminer le régulateur de vitesse taux =0; if ((im>=0)&&(im<1400)){ taux=PERIPWM>>2; dump[im]=vmes;//vmes_moyen; im++; } if (im==-1){ im=0;


Télécharger ppt "Commande d’actionneurs à l’aide d’un microprocesseur"

Présentations similaires


Annonces Google