k

Dependencies:   Servo ServoArm mbed

Headers/PID_Control.h

Committer:
beacon
Date:
2017-05-22
Revision:
0:15a8480061e8

File content as of revision 0:15a8480061e8:

/*
 * PIDControl.h
 *
 *  Created on: 16.04.2017
 *      Author: chris
 */

#ifndef COMMON_PID_CONTROL_H_
#define COMMON_PID_CONTROL_H_

/**
 * This class calculates a PID control
 */
class PID_Control
{
public:
    PID_Control();
    virtual ~PID_Control();

    float calc(float e, float period);
    void setPIDValues(float p, float i, float d, float max, float min, float _iMax);

private:
    /**
     * the proportional gain
     */
    float kp;

    /**
     * integral gain
     */
    float ki;

    /**
     * differential gain
     */
    float kd;

    /**
     * Sum of all the errors
     */
    float iSum;

    /**
     * Error value one iteration befor
     */
    float eOld;
    
    float max;
    float min;
    float iMax;
    
};

#endif /* COMMON_PID_CONTROL_H_ */