library to use pid easier

Committer:
fachrizi_kiki
Date:
Sun Oct 16 09:27:54 2022 +0000
Revision:
0:e14308f43fdf
Child:
1:ebb9cfc0cff5
try to publish

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fachrizi_kiki 0:e14308f43fdf 1 //make pid_lib cpp
fachrizi_kiki 0:e14308f43fdf 2 #ifndef PID_lib
fachrizi_kiki 0:e14308f43fdf 3 #define PID_lib
fachrizi_kiki 0:e14308f43fdf 4
fachrizi_kiki 0:e14308f43fdf 5 #include "mbed.h"
fachrizi_kiki 0:e14308f43fdf 6
fachrizi_kiki 0:e14308f43fdf 7 class PID_lib{
fachrizi_kiki 0:e14308f43fdf 8 public:
fachrizi_kiki 0:e14308f43fdf 9 PID_lib(PinName dir1, PinName dir2, PinName pwm_,float rpm_);
fachrizi_kiki 0:e14308f43fdf 10
fachrizi_kiki 0:e14308f43fdf 11 void pid_pwm(float target_, float kp_, float ki_, float kd_);
fachrizi_kiki 0:e14308f43fdf 12 private:
fachrizi_kiki 0:e14308f43fdf 13 Timer t;
fachrizi_kiki 0:e14308f43fdf 14 DigitalOut dir1;
fachrizi_kiki 0:e14308f43fdf 15 DigitalOut dir2
fachrizi_kiki 0:e14308f43fdf 16 PwmOut pwm_;
fachrizi_kiki 0:e14308f43fdf 17 protected:
fachrizi_kiki 0:e14308f43fdf 18 float rpm;
fachrizi_kiki 0:e14308f43fdf 19 float e;
fachrizi_kiki 0:e14308f43fdf 20 float laste;
fachrizi_kiki 0:e14308f43fdf 21 float eI;
fachrizi_kiki 0:e14308f43fdf 22 float eD;
fachrizi_kiki 0:e14308f43fdf 23 float dt;
fachrizi_kiki 0:e14308f43fdf 24 float tim;
fachrizi_kiki 0:e14308f43fdf 25 float lastime;
fachrizi_kiki 0:e14308f43fdf 26 float pidPwm;
fachrizi_kiki 0:e14308f43fdf 27 float pwmLebih;
fachrizi_kiki 0:e14308f43fdf 28 float lastPid;
fachrizi_kiki 0:e14308f43fdf 29 float hP;
fachrizi_kiki 0:e14308f43fdf 30 float hI;
fachrizi_kiki 0:e14308f43fdf 31 float hD;
fachrizi_kiki 0:e14308f43fdf 32 float setI;
fachrizi_kiki 0:e14308f43fdf 33
fachrizi_kiki 0:e14308f43fdf 34 float rpmFilt,rpmFiltn1;
fachrizi_kiki 0:e14308f43fdf 35 float rpmn1,;
fachrizi_kiki 0:e14308f43fdf 36 };
fachrizi_kiki 0:e14308f43fdf 37
fachrizi_kiki 0:e14308f43fdf 38 #endif