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 с ошибкой