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 dactionneurs à laide dun microprocesseur 7 Réglage Christian Koechli.

Présentations similaires


Présentation au sujet: "Commande dactionneurs à laide dun microprocesseur 7 Réglage Christian Koechli."— Transcription de la présentation:

1 Commande dactionneurs à laide dun 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 1.Identification du système: - décomposition en sous-systèmes; - détermination des constantes de temps. 2.Choix du système de réglage: - réglage direct ou en cascade; - dimensionnement analogique ou digital. 3.Implémentation du régulateur sur le contrôleur.

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

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

6 Fonction de transfert: régulateur de vitesse Grandeur de commande Grandeur à régler Grandeur de perturbation Transformation de Laplace e 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 à régler Grandeur de perturbation Transformation de Laplace uiui u i

10 Réponse indicielle

11 Variante: réglage en tension On néglige leffet de linductance sur le courant On néglige les frottements visqueux

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

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 dau 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 t Régulateur PI

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

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

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 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; taux=PERIPWM>>2; }


Télécharger ppt "Commande dactionneurs à laide dun microprocesseur 7 Réglage Christian Koechli."

Présentations similaires


Annonces Google