![]() |
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 |