Révision 365
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=ff004a
|
||
RESET=ff003e
|
branch/porte/Emb_App/programme_principal_etud.c | ||
---|---|---|
//Variables pour l'asserivssement des roues, de la vitesse et du telemetre
|
||
unsigned int Angle_T=0, Consigne_T=500; //prend la valeur de l'angle au temps t-1 //Consigne de l'angle de la tourelle (consigne/10=>degr?s)
|
||
unsigned int valeur=0, Saut=0; //valeur transmise corrig?
|
||
unsigned int Somme_Erreur=0, Erreur=0, Delta_Erreur=0, Erreur_pre=0;
|
||
unsigned int ErreurRoues=0, ErreurRouesPre=0, Delta_ErreurRoues=0,Somme_ErreurRoues=0;
|
||
int Kpt=1, Kpr=2; //Param?tre des PID tourelle et roues
|
||
int Kit=4, Kir=40;
|
||
int Kdt=1.5, Kdr=1;
|
||
unsigned int Vitesse=35, vit=0, i=1, Distance;
|
||
unsigned int Somme_Erreur=0, Erreur=0;
|
||
unsigned int ErreurRoues=0,Somme_ErreurRoues=0;
|
||
int Kpt=1, Kpr=1; //Param?tre des PID tourelle et roues
|
||
int Kdt=0.1, Kdr=0.1;
|
||
unsigned int Vitesse=40, vit=0, i=1, Distance;
|
||
unsigned int Angle_R=0, distance_bord=660; //Angle des roues
|
||
//Variable de la fonction Capteur
|
||
unsigned int Info_capteur;
|
||
... | ... | |
|
||
void Asserv_T_hc(){
|
||
|
||
Erreur_pre=Erreur;
|
||
Erreur=Consigne_T-Angle_T;
|
||
Delta_Erreur=Erreur-Erreur_pre;
|
||
Somme_Erreur+=Erreur;
|
||
|
||
if(Angle_T!=Consigne_T)
|
||
valeur=Kpt*Erreur+Kdt*Delta_Erreur+(1/Kit)*Somme_Erreur;//correction de l'angle par handler cyclique de la tourelle
|
||
valeur=Kpt*Erreur+Kdt*Somme_Erreur;//correction de l'angle par handler cyclique de la tourelle
|
||
}
|
||
|
||
void Asserv_R(){
|
||
... | ... | |
|
||
void Asserv_R_hc(){
|
||
|
||
ErreurRouesPre=ErreurRoues;
|
||
ErreurRoues=distance_bord-Distance;
|
||
Delta_ErreurRoues=ErreurRoues-ErreurRouesPre;
|
||
Somme_ErreurRoues+=ErreurRoues;
|
||
|
||
if(Distance != distance_bord && Bord_defaut == 0)
|
||
Angle_R=-1*(Kpr*ErreurRoues/*+Kdr*Delta_Erreur+(1/Kir)*Somme_ErreurRoues*/);//correction de l'angle par handler cyclique des roues
|
||
Angle_R=-1*(Kpr*ErreurRoues+Kdr*Somme_ErreurRoues);//correction de l'angle par handler cyclique des roues
|
||
}
|
||
|
||
|
Formats disponibles : Unified diff
Amélioration de l'asservissement des roues et de la tourelle