WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Commande vectorielle à  flux rotorique orienté de la machine asynchrone:simulation et expérimentation

( Télécharger le fichier original )
par Danic TOFFESSI YAPTA
Université Henri Poincaré Nancy 1 - Master 2 SEE énergie électrique 2010
  

précédent sommaire

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Conclusion

Au cours de la manipulation (expérimentation) de a commande vectorielle, on a constaté que la machine avait un problème d'autopilotage (orientation du repère (d , q ) et

calage l'axe d sur le flux) pour la constante de temps rotorique ô r 0,1 6 s. Et ce à travers la dynamique du courant Isq lors de l'échelon de charge.

Une meilleure dynamique du courant Isq a ainsi été obtenue pour une constante de

temps ô r 0,4 s

Rs = 2,5 7 Ù ; Ls = 0,5 3 H ; ô r = 0,4 s; ó = 0,03 9

J = 0, 0162 kg.m2 ; rad

f = 0,00 1 N . m . s

Les paramètres retenus sont :

ANNEXE 2 : EXTRAITS DE PROGRAMMES ET FONCTIONS

1- Bibliotheque VAR.H : Declaration des constantes et variables

/* Machine (une partie des données) */

//#define Trconst 0.55

#define Trconst 0.4 // Constante de temps rotorique #define P 1

/* constantes */

#define trm2rds 0.10471975511965977461542144610932

#define PI 3.14159265358979323846

#define TWOPI 6.283185307179586

//#define IdsrefBase 0.8 //-- //8.944

#define IdsrefBase 1.0 // Valeur par défaut du courant de la référence Isd*

double IqsrefMax=8.5; // Maximum du courant Isq

// Correcteur de courant volatile double Kpq=36.65; volatile double Kiq=0.92;

// Correcteur de vitesse

volatile double KpW=0.5;

volatile double KiW=0.005;

volatile double KTiW=1.0;

2- Fonction ACQUI.C : Acquisition de courants et vitesse mesurés

#define Aquisition_Courants( i1, i2) \

{ \

i1 = 0.03+20.0*( ds1104_adc_read_conv(2) ); \

i2 = 20.0*( ds1104_adc_read_conv(3) ); \

}

#define inputWm \

{ \

/* read incremental encoder counter */ \

inc_k = ds1104_inc_position_read(1, DS1104_INC_LINE_SUBDIV_4); \

/*inc_k = ds1104_inc_counter_read(1); */\

\

/* calculate mechanical angle rd _ avec inversion _*/ \

mpos=POStoRD*(float)inc_k; \

\

/* calculate mechanical speed rd/s */ \

FIR_Wm[0]=POStoRD_S*(float)( inc_k - inc_kOld ); \

inc_kOld = inc_k; \

3- Fonction TRANS.0 : Transformations de Clarke et de Park

#define C32( Xalpha, Xbeta, Xa, Xb, Xc ) \ { \

Xa=Xalpha; \

Xb=0.8660254038*Xbeta-0.5*Xalpha; \ Xc=-0.5*Xalpha-0.8660254038*Xbeta; \

}

#define 2t( Xa, Xb, Xalpha, Xbeta ) \ { \

Xalpha=Xa; \

Xbeta=0.5773502692*Xa+1.154700538*Xb; \

}

#define Park( Xd, Xq, sin_th, cos_th, Xalpha, Xbeta) \

{ \

Xalpha=Xd*cos_th-Xq*sin_th; \ Xbeta=Xd*sin_th+Xq*cos_th; \

}

4- Fonction REGUL.0 : Regulations de courants et vitesse

/* calcul de thetas, Wsl, Ws et du flux */

#define Calc_thetas \

{ \

Wsl= Iqsref / Tr / Idsref; \

Phidr+=DT*( M*(Ids1+Ids2)-Phidr)/ Tr; \

if (Control_Type==1) Ws=P*Wm+Wsl; \

if (Control_Type!=1) Ws=Wsref; \

th+=DT*Ws; /* 200 us */ \

if ( th > PI) th-=TWOPI; \

if ( th < -PI) th+=TWOPI; \

}

//

void Boucle_PI_Id() {

e=Idsref-Ids;

Vdsref = Kpd*e + xed;

if ( fabs(Vdsref)<=VdsrefMax ) xed += Kid*e;

/* decouplage */

// non valable en MASDE Vdsref-=sigma*Ls*Ws*Iqs;

/* limiteur de tension */

if ( Vdsref>VdsrefMax) Vdsref=VdsrefMax; if ( Vdsref<-VdsrefMax) Vdsref=-VdsrefMax;

}

précédent sommaire






Extinction Rebellion







Changeons ce systeme injuste, Soyez votre propre syndic



"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo