library to use pid easier

Committer:
fachrizi_kiki
Date:
Sun Oct 16 10:07:21 2022 +0000
Revision:
1:ebb9cfc0cff5
Parent:
0:e14308f43fdf
Child:
2:77ef3d60d8d9
update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fachrizi_kiki 0:e14308f43fdf 1 #ifndef PID_lib
fachrizi_kiki 0:e14308f43fdf 2 #define PID_lib
fachrizi_kiki 0:e14308f43fdf 3
fachrizi_kiki 0:e14308f43fdf 4 #include "mbed.h"
fachrizi_kiki 0:e14308f43fdf 5
fachrizi_kiki 1:ebb9cfc0cff5 6 class PID_lib {
fachrizi_kiki 1:ebb9cfc0cff5 7 public:
fachrizi_kiki 1:ebb9cfc0cff5 8 /*
fachrizi_kiki 1:ebb9cfc0cff5 9 initialization
fachrizi_kiki 1:ebb9cfc0cff5 10
fachrizi_kiki 1:ebb9cfc0cff5 11 --------------
fachrizi_kiki 1:ebb9cfc0cff5 12
fachrizi_kiki 1:ebb9cfc0cff5 13 inisialisasi
fachrizi_kiki 1:ebb9cfc0cff5 14 */
fachrizi_kiki 1:ebb9cfc0cff5 15 PID_lib(PinName dir1, PinName dir2, PinName pwm, float rpm=100);
fachrizi_kiki 1:ebb9cfc0cff5 16 /*
fachrizi_kiki 1:ebb9cfc0cff5 17 get the pid pwm
fachrizi_kiki 1:ebb9cfc0cff5 18
fachrizi_kiki 1:ebb9cfc0cff5 19 --------------
fachrizi_kiki 1:ebb9cfc0cff5 20
fachrizi_kiki 1:ebb9cfc0cff5 21 keluarkan nilai pwm pid
fachrizi_kiki 1:ebb9cfc0cff5 22 */
fachrizi_kiki 1:ebb9cfc0cff5 23 void pid_pwm(float target_, float kp_, float ki_, float kd_);
fachrizi_kiki 1:ebb9cfc0cff5 24 private:
fachrizi_kiki 0:e14308f43fdf 25 Timer t;
fachrizi_kiki 0:e14308f43fdf 26 DigitalOut dir1;
fachrizi_kiki 0:e14308f43fdf 27 DigitalOut dir2
fachrizi_kiki 0:e14308f43fdf 28 PwmOut pwm_;
fachrizi_kiki 1:ebb9cfc0cff5 29 protected:
fachrizi_kiki 0:e14308f43fdf 30 float rpm;
fachrizi_kiki 0:e14308f43fdf 31 float e;
fachrizi_kiki 0:e14308f43fdf 32 float laste;
fachrizi_kiki 0:e14308f43fdf 33 float eI;
fachrizi_kiki 0:e14308f43fdf 34 float eD;
fachrizi_kiki 0:e14308f43fdf 35 float dt;
fachrizi_kiki 0:e14308f43fdf 36 float tim;
fachrizi_kiki 0:e14308f43fdf 37 float lastime;
fachrizi_kiki 0:e14308f43fdf 38 float pidPwm;
fachrizi_kiki 0:e14308f43fdf 39 float pwmLebih;
fachrizi_kiki 0:e14308f43fdf 40 float lastPid;
fachrizi_kiki 0:e14308f43fdf 41 float hP;
fachrizi_kiki 0:e14308f43fdf 42 float hI;
fachrizi_kiki 0:e14308f43fdf 43 float hD;
fachrizi_kiki 0:e14308f43fdf 44 float setI;
fachrizi_kiki 0:e14308f43fdf 45
fachrizi_kiki 1:ebb9cfc0cff5 46 float rpmFilt;
fachrizi_kiki 1:ebb9cfc0cff5 47 float rpmFiltn1;
fachrizi_kiki 1:ebb9cfc0cff5 48 float rpmn1;
fachrizi_kiki 0:e14308f43fdf 49 };
fachrizi_kiki 0:e14308f43fdf 50
fachrizi_kiki 0:e14308f43fdf 51 #endif