11 месяцев назад
История
README.md
fixed point PID regulator
fixed point PID regulator - библиотека PID регулятора для Arduino с использованием fixed point
- П-регулятор с модулем числа и без
- функция map() на fixed point
Совместимость
Совместима со всеми Arduino платформами (используются Arduino-функции)
Инициализация
// setpoint - величина, к которой регулятор будет стараться регулировать входной сигнал (температуру, скорость, положение...)
// Kp - пропорциональный коэффициент, выходная величина будет увеличиваться пропорционально разнице входного сигнала и установки.
// Ki - коэффициент интегрирующей составляющей, отвечает за накапливающуюся ошибку, позволяет сгладить пульсации и нивелировать маленькую ошибку.
// Kd - коэффициент дифференциальной составляющей, отвечает за скорость изменения величины, позволяет уменьшить раскачку системы.
// dt - установка времени дескритизации системы (в мс)
PID_FP(float setpoint, float kp, float ki, float kd, float dt);
Функции и методы
//Методы PID_FP
float getResultFrom(float); //расчет ПИД по входному float и выходному float
int32_t getResultFrom_fp(float); //расчет ПИД по входному float и выходному fixed point
int32_t getResultFrom_fp(int32_t); //расчет ПИД по входному fixed point и выходному fixed point
float getResultFromAbs(float); //расчет ПИД с модулем числа П-регулятора по входному float и выходному float
float getResultFromAbsf(int32_t); //расчет ПИД с модулем числа П-регулятора по входному fixed point и выходному float
int32_t getResultFromAbs_fp(float); //расчет ПИД с модулем числа П-регулятора по входному float и выходному fixed point
int32_t getResultFromAbs_fp(int32_t); //расчет ПИД с модулем числа П-регулятора по входному fixed point и выходному fixed point
//функции map на fixed point
float map_fp(float, float, float, float, float); //конвертирование интервала по входному float и выходному float
float map_fp1(int32_t, float, float, float, float); //конвертирование интервала по входному fixed point и выходному float
int32_t map_fp2(float, float, float, float, float); //конвертирование интервала по входному float и выходному fixed point
int32_t map_fp3(int32_t, float, float, float, float); //конвертирование интервала по входному fixed point и выходному fixed point
Пример
Примеры смотри в examples!
Версии
- v1.0 - первая версия
Описание
библиотека PID (ПИД - Пропорционально-интегрально-дифференцирующего) регулятора для Arduino с использованием Fixed Point
Конвейеры
0 успешных
0 с ошибкой