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:
Maxime Chauveau
2025-03-28 19:50:37 +01:00
parent 8634adc821
commit 683c7995f5
2 changed files with 16 additions and 0 deletions

View File

@@ -47,6 +47,9 @@ public:
float getKp();
float getKi();
float getKd();
//Methodes
float getPWMCommand(float vitesse);
};

View File

@@ -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);
}
}