mirror of
https://github.com/modelec/MarcelMoteurSTM32.git
synced 2026-01-18 16:47:23 +01:00
ajout de la méthode de calcul du signal pwm. Elle prend en entrée la commande de sortie du pid vitesse et transforme en un signal pwm qu'on peut envoyer au moteurs
This commit is contained in:
@@ -47,6 +47,9 @@ public:
|
||||
float getKp();
|
||||
float getKi();
|
||||
float getKd();
|
||||
|
||||
//Methodes
|
||||
float getPWMCommand(float vitesse);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,19 @@ float Pid::getKd(){
|
||||
}
|
||||
|
||||
|
||||
//Methodes
|
||||
int Pid::getPWMCommand(float vitesse){
|
||||
/*
|
||||
* Passer du rpm à m/s : 75/60 = 1.25 (nb tour en 1s). circonférence = pi*diamètre roues. Vitesse en m/s = circonférence * nb tour/s
|
||||
*
|
||||
*/
|
||||
if(vitesse >= 0.235){ //si on dépasse la vmax qu'on peut atteindre, on bride
|
||||
return 626;
|
||||
} else{
|
||||
float pwm = (626*vitesse) / 0.235; //produit en croix
|
||||
return std::floor(pwm);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user