Révision 61
Ajouté par maporte3 il y a plus de 6 ans
branch/porte/Emb_App/programme_principal_etud.c | ||
---|---|---|
// correspondant au nom du v?hicule si le nom se termine par '*'
|
||
|
||
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 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=3, Kpr=1;
|
||
int Ki=9;
|
||
int Kd=1, Kdr=1;
|
||
int Kp=2, Kpr=1;
|
||
int Ki=5;
|
||
int Kd=2, Kdr=1;
|
||
unsigned int Vitesse=0,Distance;
|
||
unsigned int Angle_R=0;
|
||
unsigned int ErreurRoues=0, ErreurRouesPre=0, Delta_ErreurRoues=0;
|
||
... | ... | |
}
|
||
}
|
||
|
||
/*void Asserv_V(){
|
||
void Asserv_V(){
|
||
|
||
//'V'/86/0x56?: Commande en vitesse des roues motrices du vehicule (en radian /secondes).
|
||
CanFrame comm;
|
||
... | ... | |
|
||
dly_tsk(500);
|
||
}
|
||
}*/
|
||
}
|
||
|
||
void Asserv_T_hc(){
|
||
Erreur_pre=Erreur;
|
||
... | ... | |
|
||
void Asserv_R_hc(){
|
||
ErreurRouesPre=ErreurRoues;
|
||
ErreurRoues=Distance-710;
|
||
ErreurRoues=Distance-500;
|
||
Delta_ErreurRoues=ErreurRoues-ErreurRouesPre;
|
||
if(Distance<=690)
|
||
if(Distance<=470)
|
||
Angle_R=Kpr*ErreurRoues+Kdr*Delta_ErreurRoues;
|
||
if(Distance>=730)
|
||
if(Distance>=530)
|
||
Angle_R=Kpr*ErreurRoues+Kdr*Delta_ErreurRoues;
|
||
}
|
||
|
||
... | ... | |
sta_tsk(ID_Asserv_R);
|
||
sta_cyc(ID_Asserv_R_hc);
|
||
|
||
/*delay(1000);
|
||
sta_tsk(ID_Asserv_V);*/
|
||
delay(5000);
|
||
sta_tsk(ID_Asserv_V);
|
||
|
||
while(1)
|
||
{
|
branch/porte/Emb_App/conf_noyau.cfg | ||
---|---|---|
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = Asserv_V();
|
||
name = ID_Asserv_V;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 4;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
flag[]{
|
||
name = ev_bus_fin_tr;
|
||
initial_pattern = 0x0000;
|
Formats disponibles : Unified diff
Ajout de la tache vitesse qui se déclenche quelque seconde après le démarrage
(essaie pour vitesse nulle)