Projet

Général

Profil

« Précédent | Suivant » 

Révision 53

Ajouté par maporte3 il y a plus de 6 ans

Implantation du correcteur PID et boucle de régulation à 4hz

Voir les différences:

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