Révision 53
Ajouté par maporte3 il y a plus de 6 ans
branch/porte/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff001e
|
||
RESET=ff002a
|
branch/porte/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned int alpha=0;//prend la valeur de l'angle au temps t-1
|
||
unsigned int Consigne_T=450; //Consigne de l'angle de la tourelle
|
||
unsigned int valeur=0; //valeur transmise corrig?
|
||
int k=2;
|
||
unsigned int Somme_Erreur=0, Erreur=0, Delta_Erreur=0, Erreur_pre=0;
|
||
int Kp=2;
|
||
int Ki=7;
|
||
int Kd=2;
|
||
|
||
void Asserv_T(){
|
||
|
||
... | ... | |
comm.data.val=valeur;
|
||
snd_dtq (CanTx,comm.msg);//Envoi de la commande
|
||
|
||
dly_tsk(300);
|
||
dly_tsk(250);
|
||
}
|
||
}
|
||
|
||
void Asserv_T_hc(){
|
||
Erreur_pre=Erreur;
|
||
Erreur=Consigne_T-alpha;
|
||
Delta_Erreur=Erreur-Erreur_pre;
|
||
Somme_Erreur+=Erreur;
|
||
|
||
if(alpha!=Consigne_T)
|
||
valeur=k*(Consigne_T-alpha);//correction de l'angle par handler cyclique
|
||
valeur=Kp*Erreur+Kd*Delta_Erreur+(1/Ki)*Somme_Erreur;//correction de l'angle par handler cyclique
|
||
}
|
||
|
||
void main()
|
Formats disponibles : Unified diff
Implantation du correcteur PID et boucle de régulation à 4hz