Télécharger la présentation
Publié parAndromaque Moi Modifié depuis plus de 10 années
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;
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.