Projet

Général

Profil

« Précédent | Suivant » 

Révision 56

Ajouté par maporte3 il y a plus de 6 ans

Correcteur P ajouté dans un handler cyclique pour l'angle des roues

Voir les différences:

branch/porte/Emb_App/SessionM32C_E8a_system.ini
[Target]
M32C E8a SYSTEM=Renesas Communications
[USER_DATA]
RESET=ff0030
RESET=ff0032
branch/porte/Emb_App/programme_principal_etud.c
unsigned int Consigne_T=450; //Consigne de l'angle de la tourelle
unsigned int valeur=0; //valeur transmise corrig?
unsigned int Somme_Erreur=0, Erreur=0, Delta_Erreur=0, Erreur_pre=0;
int Kp=2;
int Kp=2, Kpr=1;
int Ki=7;
int Kd=2;
unsigned int Vitesse=2,Distance;
......
rcv_dtq (CanRx,&reponse.msg); // Attente de la reponse
Distance=reponse.data.val; // contient la valeur de retour du simulateur.
if(Distance<=680)
Angle_R=-50;
if(Distance>=730)
Angle_R=50;
comm.data.id='D'; //Commande de l'angle des roues
comm.data.rtr=0;
comm.data.val=Angle_R;
......
void Asserv_R_hc(){
if(alpha!=Consigne_T)
Angle_R=Kp*ErreurRoues;//correction de l'angle par handler cyclique
ErreurRoues=Distance-708;
if(Distance<=680)
Angle_R=Kpr*ErreurRoues;
if(Distance>=730)
Angle_R=Kpr*ErreurRoues;
}
void main()

Formats disponibles : Unified diff