TP M1 28 - S8 Principes et structures des actionneurs...

14
1 TP M1 28 - S8 Principes et structures des actionneurs Electriques Gr1 Gr2 Gr3 Gr4 Séance 1 TP1 TP2 TP3 TP3 Séance 2 TP2 TP1 TP4 TP4 Séance 3 TP3 TP3 TP1 TP2 Séance 4 TP4 TP4 TP2 TP1 TP 1 Moteur arc. TP 2 Contacteur. TP 3 Dispositif de commande. TP 4 Moteur à réluctance variable linéaire. L. BAGHLI, mars 2006

Transcript of TP M1 28 - S8 Principes et structures des actionneurs...

Page 1: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

1

TP M1 28 - S8

Principes et structures des actionneurs Electriques

Gr1 Gr2 Gr3 Gr4 Séance 1 TP1 TP2 TP3 TP3 Séance 2 TP2 TP1 TP4 TP4 Séance 3 TP3 TP3 TP1 TP2 Séance 4 TP4 TP4 TP2 TP1 TP 1 Moteur arc. TP 2 Contacteur. TP 3 Dispositif de commande. TP 4 Moteur à réluctance variable linéaire. L. BAGHLI, mars 2006

Page 2: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

2

TP M1-S8 Actionneurs linéaires

Préambule : Ce découpage des TP permet, pour les TP 3 et 4, d'avoir une approche projet. Les TP 1 et 2 restent quand à eux indépendants. Une grande partie de travail de préparation est nécessaire au bon déroulement de ces TP. Les comptes rendus de TP sont à rendre 6 jours après chaque TP.

Illustrations du concept, capture image du logiciel de simulation et photo de la maquette expérimentale

Page 3: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

3

TP n°1 Moteur arc

But : Etudier un moteur asynchrone linéaire dit moteur arc. Préparation :

R=430

3Tπα =

Moteur arc, disposition du bobinage

Page 4: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

4

1. Le bobinage est connecté en série afin d'avoir la vitesse mécanique la plus lente possible.

Ce bobinage est composé de 24 bobines pour les 3 phases réparties sur un angle 3Tπα = à

un rayon de 0.43 m. Déduire l'angle Pα correspondant à une paire de pôles. 2. Calculer la vitesse de synchronisme (tr/m) ? Déduire la vitesse linéaire de synchronisme. 3. Quelles sont les autres configurations de bobinage possibles ? Manipulation :

I. Alimentation par le réseau 50 Hz Alimenter le bobinage triphasé à l'aide d'un alternostat sous tension réduite (V= 190 V par phase). Vérifier que pour un glissement grand (g=1 au démarrage) le courant absorbé soit de l'ordre de 2.8 A 4. Visualiser sur 'oscilloscope le courant de démarrage et la vitesse. Combien dure le

démarrage et quel est le glissement à vide ? 5. Mesurer les courants par phase en régime permanent. Y a-t-il un déséquilibre ? Pourquoi ?

II. Alimentation par un onduleur commandé en V/f constant On alimente maintenant le moteur arc via un onduleur triphasé avec une MLI de 10 kHz. La loi de commande permet d'imposer un rapport V/f constant en faisant varier la fréquence f du fondamental. Effectuez le montage suivant :

Schéma de montage

Le pont triphasé de l'onduleur sera alimenté par un alternostat de manière à obtenir une tension de bus continu de 235 V. Placer le bouton d'inhibition de manière à bloquer les commandes (0) : position 0 : Commandes désactivées position 1 : Commandes activées (marche normale) A l'aide du DSP, on peut faire varier le rapport k=V/f et f, la fréquence du fondamental (de -49.9 à 50.0 Hz), chacun à l'aide d'un potentiomètre indépendant. Familiariser vous avec le système de commande et observer la réaction de ces variables d'entrées sur la sortie (écran LCD et oscilloscope). 6. Activer les commandes de l'onduleur (1) pour une fréquence = 0 Hz. Monter doucement la

fréquence du fondamental jusqu'à 50 Hz. Qu'est ce que vous remarquez ? 7. Est-ce que la machine démarre plus vite ? Qu'en est il du courant de démarrage ? 8. Est-ce que la vitesse du rotor suit instantanément celle du champ statorique ? Pourquoi ? 9. Quelle solution pourrait on utiliser ? 10. Essayez pour les fréquences négatives. Y a-t-il une symétrie ? Y a-t-il des conditions

particulières de sécurité à faire tourner dans un sens ou dans l'autre ?

Page 5: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

5

TP n°2 Contacteur

But : Etudier un contacteur en régime dynamique. Préparation :

x0

l0

0

buté

Position de repos

R1=10R2=20

R3=30

h=25

x

NI

xx0

l0+ x0-x

0

F=k(x0-x)

buté buté

Schéma du contacteur, coupe transversale Le contacteur comporte un noyau de fer représenté par la figure ci-dessus. Les dimensions sont données en mm. La dimension non représentée (3D) du noyau vaut lp=10 mm. L'entrefer est variable et vaut x. La bobine comporte N=100 tours. La partie mobile a une masse de m=0.1 kg. Elle repose à 0 5x x mm= = sur des butées. Le ressort de rappel ( 310 /k N m−= ) ne fait alors subir aucune force à la partie mobile. On considère néglige la chute de potentiel magnétique dans le fer ( rµ = ∞ ). 1. Ecrire le théorème d'Ampère le long de la ligne en pointillés qui traverse l'entrefer dans

ses parties centrale et extérieure. 2. Calculer l'induction magnétique dans l'entrefer (parties centrale Bc et extérieure Be) en

fonction de x. 3. Calculer, en fonction de x, l'énergie magnétique stockée W, la force d'attraction F et

l'inductance du circuit électrique de la bobine L. 4. Ecrire l'équation électrique du circuit comprenant la bobine. Elle est alimentée à l'instant 0

par une source de tension E=15 V. La résistance de la bobine vaut 1 Ω . 5. Ecrire l'équation mécanique (relation fondamentale de la dynamique : RFD) régissant le

mouvement de la pièce mobile. Simulation : Modéliser le système électromécanique sous Matlab / Simulink 6. Ecrire un fichier initvar.m qui va initialiser les grandeurs et dimensions de l'étude.

Page 6: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

6

7. Saisir un schéma Simulink solve.mdl qui va intégrer numériquement dans le temps les équations mécaniques et électriques. Vous pouvez aussi écrire un programme Matlab dans un fichier eulersolve.m qui va intégrer numériquement dans le temps les équations mécaniques et électriques. N'oublier pas de modéliser les butées : si x<10-4 alors x=10-4; v=0; si x>5·10-3 alors x=5·10-3; v=0;

8. Récupérer l'évolution des variables suivantes dans le temps : a. La position et la vitesse du mobile : x, v b. L'inductance L c. La force F d. Le courant i

9. Afficher les courbes et commenter Manipulation : Alimenter la bobine du contacteur 24 V via l'alimentation stabilisée de la table de la salle de TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope à l'aide d'une sonde de courant. 1. Récupérer le fichier de données sous Excel et comparer avec le courant issu de la

simulation. Commenter. 2. Varier la tension d'alimentation et observer les seuils de fermeture et d'ouverture du

contacteur. Pourquoi n'y a-t-il pas de symétrie ? 3. Quel est l'impact de la limitation de courant de l'alimentation stabilisée sur le

fonctionnement du dispositif ?

Page 7: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

7

TP n°3 Dispositif de commande

But : Se familiariser avec l'environnement de programmation MPLAB et du microcontrôleur dsPIC 30F3010. Préparation : Etudier la structure du dsPIC et les registres à configurer (I/O port, ADC, PWM). dsPIC30F3010 DataSheets 70141b.pdf dsPIC30F Family Reference Manual 70046D.pdf

Le circuit imprimé de commande mis à votre disposition comporte un dsPIC 30F3010, un onduleur triphasé, une interface RS232, des boutons poussoirs, 3 LEDs commandées par des sorties logiques et 2 potentiomètres reliés aux entrées ADC AN2/RB2 et AN3/RB3 :

Mobile mrvlin et ses constituants.

Schéma de la carte de commande, partie alimentation

RunningLED

InterruptLED

BugLED

Reset

VMLI

On/Off Onduleur

Fréquence

Manuel

Onduleur triphasé L6234

Interface de liaison série dsPIC–MAX232–RS232–PC

dsPIC 30F3010

Jumper de raccord du neutre à la masse

On / Off Général

LED de conduction

Jumper de raccord de la batterie à l'alim extérieure

Batterie 10 x 1.2 V NiMH

Alim extérieure

Page 8: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

8

Schéma de la carte de commande, partie dsPIC

Schéma de la carte de commande, partie onduleur (L6234)

Page 9: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

9

Schéma de la carte de commande et de l'emplacement des composants On donne la manière dont on configure : Les ports d'entrée/sortie I/O : On définit les variables suivantes afin de ne pas avoir à manipuler bit par bit les registres des ports B et D qui sont dédiés aux entrées / sorties : #define StartPrg PORTBbits.RB1 #define TogglesAlim PORTDbits.RD0 #define EnableL6234 PORTDbits.RD1 #define RunningLED PORTBbits.RB0 #define InterruptLED PORTBbits.RB4 #define BugLED PORTBbits.RB5 On définit également une variable logique : Flags.RunMotor struct unsigned RunMotor : 1; unsigned unused : 15; Flags;

Expliquer les lignes suivantes : void setup_ports(void) // Clear All Ports Prior to defining I/O ADPCFG = 0xFFF3; // ????? PORTB=0; //Initialize LED pin data to off state

R : reset O/I : marche onduleur M : mode manuel

V : Tension MLI F : fréquence

R O/I MV F

φ

Φ : Phase en conduction

L1 L2 L3

L1 : onduleur On L2 : ds PIC On L3 : mode démo

OnOff X

X : alimentation extérieur

ds pic

Onduleur 3φ

Page 10: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

10

PORTC=0; PORTD=0; PORTE=0; // ???? TRISB = 0xFFCE; // ????? TRISC = 0xDFFF; // ????? TRISD = 0xFFFD; //Set pin as : RD0 BP3 input=1, RD1 output=0 enable L6234

//NO debug allowed on EMUC2/EMUD2 TRISE = 0x0000; // ?????

Une fois la configuration des ports d'E/S effectuée, pour allumer une LED, il convient de mettre à 1 le bit du registre qui lui correspond. Exemple : InterruptLED=1; // allume la diode d'interruption LED2 ... InterruptLED=0; // éteint la diode d'interruption LED2

Manipulation : Pour une première prise en main, créez un projet sous MPLAB avec comme "target" le 30F3010. Dans un fichier vf.c nouvellement crée et ajouté au projet, ajoutez les lignes suivantes de configuration : #include "p30F3010.h" //Configuration bits _FOSC(CSW_FSCM_OFF & XT_PLL8); _FWDT(WDT_OFF); _FBORPOR(PBOR_OFF & BORV_27 & PWRT_16 & MCLR_EN); _FGS(CODE_PROT_OFF);

Ajoutez une fonction main() et la fonction de configuration des ports d'entrée-sortie. Votre programme vf.c doit avoir des fonctionnalités de sortie. Pour cela : 1. Allumez la diode RunningLED au démarrage de votre programme, attendez l'appui sur le

bouton poussoir StartPrg puis éteignez la RunningLED. 2. Ajoutez une séquence On/Off de la LED InterruptLED dans la boucle while. 3. Configurer l'ADC comme suit pour lancer une conversion immédiate et lisez l'information

correspondant au potentiomètre 1. // config ADC en lancement immédiat // config ADC en lancement immédiat ADCON1 = 0x800C; //Conv continously, 4 ch simultanés, ADC Off for configuring ADCON2 = 0x0200; // simulataneous sample 4 channels ADCHS = 0x0022; // Connect RB2/AN2 as CH0 = pot K_V_f AN3/RB3 to CH1 = pot Fs ADCON3 = 0x0080; // Tad = internal RC (4uS) ADCON1bits.ADON = 1;

Page 11: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

11

// turn ADC ON TimerPrd=1024; //... ADCON1bits.SAMP = 0; // start conversion while(!ADCON1bits.DONE) // attend la fin CMPR=ADCBUF0;

En fonction de cette valeur (CMPR), allumer plus ou moins fort une LED InterruptLED. L'idée est de créer avec des lignes de code en C, un motif de comptage et une MLI.

CMPR

iTime

0

TimePrd

InterrruptLED

0 0

1

Etat On Etat Off

Motif de MLI 4. Il existe une autre manière d'implanter la MLI, c'est en utilisant le module PWM intégré

au dsPIC. Il dispose d'un timer et d'une logique de comparaison câblée "hardware". En partant de l'exemple précédent, expliquez la configuration suivante :

5. A quoi sert le registre OVDCON ? 6. Implantez et observez. unsigned int CMPR, iTime, TimerPrd, Sequence, SeqMaxDelay, SeqDelayCounter; void InitADC10(void) // config ADC ADCON1 = 0x006F; // PWM starts conversion, 4 ch simultanés, ADC Off for configuring ADCON2 = 0x0200; // simulataneous sample 4 channels, ADC INTerrupt à chaque EOC=100 us ADCHS = 0x0022; // Connect RB2/AN2 as CH0 : potar1 CMPR et AN3/RB3 to CH1: potar2 fs ADCON3 = 0x0080; // Tad = internal RC (4uS) IFS0bits.ADIF = 0; // Adc int flag Off IEC0bits.ADIE = 1; // Adc int On ADCON1bits.ADON = 1; // turn ADC ON //----------------------------------------------------------------------------- // InitMCPWM, intializes the Motor PWM as follows: // FPWM = 10 khz at 8Mips // Independant PWMs // Control outputs using OVDCON // Init Duty Cycle with a value = 100 // Set ADC to be triggered by PWM special trigger //----------------------------------------------------------------------------- void InitMCPWM(void) PTPER = FCY/FPWM - 1; // set the pwm period register PWMCON1 = 0x0700; // disable PWMs OVDCON = 0x0000; // allow control using OVD register PDC1 = 800; // init PWM DC 1 : 800 (50% duty cycle) PDC2 = 800; PDC3 = 800; SEVTCMP = PTPER; // set ADC to trigeer at ...

Page 12: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

12

PWMCON2 = 0x0000; // 1 PWM values PTCON = 0x8000; // start PWM however output ... // is enabled by OVDCON which is OFF //--------------------------------------------------------------------- // The ADC interrupt reads the demand pot value. // tt est synchrone % à cette int de 100 us //--------------------------------------------------------------------- void __attribute__((__interrupt__)) _ADCInterrupt (void) InterruptLED=1; // allume la diode d'interruption LED2 IFS0bits.ADIF = 0; // clear Int Flag // actionneur à plot (MRV linéaire 6/4) CMPR =ADCBUF0; // fs =ADCBUF1; PDC1=CMPR; PDC2=CMPR; PDC3=CMPR; // on placera ici le deroulement des sequences d'alimentation // ... // ... // ... InterruptLED=0; // éteint la diode d'interruption LED2 //----------------------------------------------------------------------------- //Main routine int main(void) unsigned int j; setup_ports(); InitADC10(); InitMCPWM(); RunningLED=1; // LED run = On RunningLED=0; // LED run = Off CMPR=512; TimerPrd=1024; Sequence=0; // init des variables du deroulement de la seq d'alim des enroulements SeqMaxDelay=10; SeqDelayCounter=SeqMaxDelay; OVDCON = 0xFFFF; // Les 3 PWM sont actives, no effect of OVDCON PWMCON1= 0x0777; // enable PWM outputs EnableL6234=1; // enable L6234 while(1) // end of while (1) // end of main

PDCx/2

0

PTPER

PWMx

0 0

1 Active High

Active Low

Motif de MLI centrée généré automatiquement par le module PWM du dsPIC 30F3010

Page 13: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

13

TP n°4 Moteur à réluctance variable linéaire

But : En partant du TP 3, réaliser la commande du moteur linéaire, puis mesurer les forces Fx et Fz.

Préparation : L'actionneur à plots dispose d'enroulements autour de ses 6 plots actifs. 1. Calculer B, l'énergie magnétique We et les forces Fx, Fy, Fz suivant les 3 axes.

On donne les dimensions réelles : ly=28 mm, lx=8 mm, e=1.5 mm (ajustable), N/2=150 spires, I=1A ajustable (0 à 2 A).

2. Partant du programme du TP3, rajouter des lignes de code dans l'interruption pour faire dérouler les séquences d'alimentation plus ou moins vite (avec la lecture du second potentiomètre fs).

PDCx/2

0

PTPER

0 0

1 Phase a

Phase b

Phase c

Motif de MLI centré Utiliser le registre OVDCON pour // if (Sequence==0) OVDCON=0x0300; // phase A active only // if (Sequence==1) OVDCON=0x0C00; // phase B active only // if (Sequence==2) OVDCON=0x3000; // phase C active only

Page 14: TP M1 28 - S8 Principes et structures des actionneurs ...lotfi1.baghli.free.fr/dl/TP_M1_S8_v4.pdf · TP. Sur un échelon de tension de 15V, visualiser le courant à l'oscilloscope

14

Manipulation : 3. Réalisez le programme qui alimente de manière séquentielle les enroulements du MRVlin.

Vérifiez son bon fonctionnement en observant les signaux MLI sur l'oscilloscope. 4. Bloquez la séquence sur la phase 1 et effectuez les mesures de forces Fx et Fz à l'aide du

dynamomètre. Comparez avec les valeurs théoriques pour I=1 A. 5. Partant du programme du TP3, question 4, rajoutez des lignes de code dans l'interruption

pour faire dérouler les séquences d'alimentation plus ou moins vite (avec la lecture du second potentiomètre fs).

6. Observez l'influence de la fréquence sur le comportement dynamique du mobile. Comment peut on améliorer son mouvement.

7. Décrivez la solution matérielle et logicielle à réaliser pour ce faire.

"E pur, si muove"