![]() |
AvrIO
1.4.5
Bibliothèque C modulaire pour ATMEL AVR
|
![]() |
Structures de données | |
struct | xPidData |
Structure contenant l'état du filtre PID. Plus de détails... | |
Fonctions | |
int32_t | iPidProcess (int32_t iSetPoint, int32_t mesure, xPidData *xPid) |
Calcul PID. Plus de détails... | |
void | vPidInit (float fKp, float fKi, float fKd, xPidData *xPid) |
Initialise le filtre PID. Plus de détails... | |
void | vPidResetIntegrator (xPidData *xPid) |
Remise à zéro de la somme des erreurs. | |
Macros | |
#define | SCALING_FACTOR 128 |
Définitions de type | |
typedef struct xPidData | xPidData |
Structure contenant l'état du filtre PID. Plus de détails... | |
Structure contenant l'état du filtre PID.
Erreur: e = consigne - mesure Facteur d'échelle: SK = SCALING_FACTOR (128) de = e - e_précédente Se = somme des erreurs alors u, consigne filtrée: u = Kp.e + Kd.de/dt + Ki.Se.dt On n'en déduit: fKp = Kp.SK fKd = Kd.SK/dt fKi = Ki.SK.dt
int32_t iPidProcess | ( | int32_t | iSetPoint, |
int32_t | mesure, | ||
xPidData * | xPid | ||
) |
Calcul PID.
consigne | Valeur de consigne Desired value. |
mesure | Valeur mesuréeMeasured value. |
xPid | Filtre à utiliser |
void vPidInit | ( | float | fKp, |
float | fKi, | ||
float | fKd, | ||
xPidData * | xPid | ||
) |
Initialise le filtre PID.
fKp | Coefficient du terme proportionnel (fKp=128.Kp) |
fKi | Coefficient du terme intégral (fKi=128.Ki=128.Kp.dT/Ti) |
fKd | Coefficient du terme dérivé (fKd=128.Kd=128.Kp.Td/dT) |
xPid | Filtre à initialiser |