Gestion des unités dans QEI directement
This commit is contained in:
parent
9ee3d96738
commit
a170a48e85
22
QEI.c
22
QEI.c
@ -6,6 +6,21 @@
|
||||
#include "quadrature_encoder.pio.h"
|
||||
|
||||
|
||||
/*** C'est ici que se fait la conversion en mm
|
||||
* ***/
|
||||
|
||||
// Roues 60 mm de diamètre, 188,5 mm de circonférence
|
||||
// Réduction Moteur 30:1
|
||||
// Réduction poulie 16:12
|
||||
// Nombre d'impulsions par tour moteur : 200
|
||||
// Nombre d'impulsions par tour réducteur : 6000
|
||||
// Nombre d'impulsions par tour de roue : 8000
|
||||
// Impulsion / mm : 42,44
|
||||
|
||||
#define IMPULSION_PAR_MM (42.44f)
|
||||
#define ASSERMOTEUR_GAIN_P 160
|
||||
#define ASSERMOTEUR_GAIN_I .80f
|
||||
|
||||
struct QEI_t QEI_A, QEI_B, QEI_C;
|
||||
|
||||
PIO pio_QEI = pio0;
|
||||
@ -89,4 +104,11 @@ int QEI_get(enum QEI_name_t qei){
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// @brief Renvoi la distance parcourue en mm depuis la lecture précédente
|
||||
/// @param qei : Nom du module à lire (QEI_A_NAME, QEI_B_NAME ou QEI_C_NAME)
|
||||
/// @return la distance parcourue en mm calculée lors du dernier appel de la function QEI_Update()
|
||||
double QEI_get_mm(enum QEI_name_t qei){
|
||||
return (double) QEI_get(qei) / (double)IMPULSION_PAR_MM;
|
||||
}
|
Loading…
Reference in New Issue
Block a user