Révision 70
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=ff0038
|
||
RESET=ff003c
|
branch/porte/Emb_App/programme_principal_etud.c | ||
---|---|---|
unsigned int Consigne_T=500; //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=1.5, Kpr=1;
|
||
int Ki=4;
|
||
int Kp=1.5, Kpr=1.6;
|
||
int Ki=4, Kir=10;
|
||
int Kd=1.5, Kdr=1;
|
||
unsigned int Vitesse=10,Distance;
|
||
unsigned int Vitesse=30,Distance;
|
||
unsigned int Angle_R=0;
|
||
unsigned int ErreurRoues=0, ErreurRouesPre=0, Delta_ErreurRoues=0;
|
||
unsigned int ErreurRoues=0, ErreurRouesPre=0, Delta_ErreurRoues=0,Somme_ErreurRoues=0;
|
||
|
||
void Asserv_T(){
|
||
|
||
... | ... | |
comm.data.val=Angle_R;
|
||
snd_dtq (CanTx,comm.msg);//Envoi de la commande
|
||
|
||
dly_tsk(100);
|
||
dly_tsk(5);
|
||
}
|
||
}
|
||
|
||
... | ... | |
CanFrame reponse;
|
||
while(1){
|
||
|
||
dly_tsk(3000);
|
||
dly_tsk(2600);
|
||
comm.data.id='V'; //Commande de l'angle des roues
|
||
comm.data.rtr=0;
|
||
comm.data.val=Vitesse;
|
||
... | ... | |
|
||
void Asserv_R_hc(){
|
||
|
||
// ErreurRouesPre=ErreurRoues;
|
||
ErreurRouesPre=ErreurRoues;
|
||
ErreurRoues=660-Distance;
|
||
// Delta_ErreurRoues=ErreurRoues-ErreurRouesPre;
|
||
Delta_ErreurRoues=ErreurRoues-ErreurRouesPre;
|
||
Somme_ErreurRoues+=ErreurRoues;
|
||
|
||
if(Distance!=660)
|
||
Angle_R=-ErreurRoues;
|
||
Angle_R=-Kpr*ErreurRoues+Kdr*Delta_Erreur+(1/Kir)*Somme_ErreurRoues;
|
||
}
|
||
|
||
void main()
|
Formats disponibles : Unified diff
Correction des asservissement PID pour les roues et modification des delay dans les taches