library to use pid easier

PID_lib.h

Committer:
fachrizi_kiki
Date:
20 months ago
Revision:
3:80e7ed9fdb02
Parent:
2:77ef3d60d8d9
Child:
4:344e46625032

File content as of revision 3:80e7ed9fdb02:

#ifndef PID_lib_H
#define PID_lib_H

/**
 * Includes
 */
#include "mbed.h"

/**
 * Proportional-integral-derivative controller.
 */
class PID_lib {

public:

    /*
        initialization
        
        --------------
        
        inisialisasi
    */
    PID_lib(PinName dir1, PinName dir2, PinName pwm);
        /*
        get the pid pwm
        
        --------------
        
        keluarkan nilai pwm pid
    */   
    void pid_pwm(float target_, float kp_, float ki_, float kd_, float rpm, float t_);
    void pwm_read(float target_, float kp_, float ki_, float kd_, float rpm, float t_);
    void stop();

private:
//       Timer t;
       DigitalOut dir1;
       DigitalOut dir2;
       PwmOut pwm;
       float rpm;
       float freq;
       float ppr;
       float e;
       float laste;
       float eI;
       float eD;
       float dt;
       float tim;
       float lastime;
       float pidPwm;
       float pwmLebih;
       float lastPid;
       float hP;
       float hI;
       float hD;
       float setI;
       
       float rpmFilt;
       float rpmFiltn1;
       float rpmn1;


};

#endif