library to use pid easier

Committer:
fachrizi_kiki
Date:
Sun Jan 01 08:39:23 2023 +0000
Revision:
9:2304689cab4a
Parent:
5:ae183f132d39
update filter 15 hz dan 20 hz;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fachrizi_kiki 2:77ef3d60d8d9 1 #ifndef PID_lib_H
fachrizi_kiki 2:77ef3d60d8d9 2 #define PID_lib_H
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 2:77ef3d60d8d9 7
fachrizi_kiki 1:ebb9cfc0cff5 8 public:
fachrizi_kiki 2:77ef3d60d8d9 9
fachrizi_kiki 4:344e46625032 10 PID_lib(PinName direksi1, PinName direksi2, PinName pulseWidth);
fachrizi_kiki 4:344e46625032 11
fachrizi_kiki 3:80e7ed9fdb02 12 void pid_pwm(float target_, float kp_, float ki_, float kd_, float rpm, float t_);
fachrizi_kiki 3:80e7ed9fdb02 13 void pwm_read(float target_, float kp_, float ki_, float kd_, float rpm, float t_);
fachrizi_kiki 3:80e7ed9fdb02 14 void stop();
fachrizi_kiki 4:344e46625032 15 void manualPwm(int dir,float speed_);
fachrizi_kiki 5:ae183f132d39 16 float record_data(int dir_,float speed_,float freq, float t_r);
fachrizi_kiki 4:344e46625032 17 void useParams1();
fachrizi_kiki 4:344e46625032 18 void printParams();
fachrizi_kiki 2:77ef3d60d8d9 19
fachrizi_kiki 1:ebb9cfc0cff5 20 private:
fachrizi_kiki 4:344e46625032 21 Timer tr;
fachrizi_kiki 0:e14308f43fdf 22 DigitalOut dir1;
fachrizi_kiki 2:77ef3d60d8d9 23 DigitalOut dir2;
fachrizi_kiki 2:77ef3d60d8d9 24 PwmOut pwm;
fachrizi_kiki 4:344e46625032 25 float freq_rec;
fachrizi_kiki 4:344e46625032 26 float rpm_rec;
fachrizi_kiki 0:e14308f43fdf 27 float rpm;
fachrizi_kiki 3:80e7ed9fdb02 28 float freq;
fachrizi_kiki 3:80e7ed9fdb02 29 float ppr;
fachrizi_kiki 0:e14308f43fdf 30 float e;
fachrizi_kiki 0:e14308f43fdf 31 float laste;
fachrizi_kiki 0:e14308f43fdf 32 float eI;
fachrizi_kiki 0:e14308f43fdf 33 float eD;
fachrizi_kiki 0:e14308f43fdf 34 float dt;
fachrizi_kiki 0:e14308f43fdf 35 float tim;
fachrizi_kiki 0:e14308f43fdf 36 float lastime;
fachrizi_kiki 0:e14308f43fdf 37 float pidPwm;
fachrizi_kiki 0:e14308f43fdf 38 float pwmLebih;
fachrizi_kiki 0:e14308f43fdf 39 float lastPid;
fachrizi_kiki 0:e14308f43fdf 40 float hP;
fachrizi_kiki 0:e14308f43fdf 41 float hI;
fachrizi_kiki 0:e14308f43fdf 42 float hD;
fachrizi_kiki 0:e14308f43fdf 43 float setI;
fachrizi_kiki 0:e14308f43fdf 44
fachrizi_kiki 1:ebb9cfc0cff5 45 float rpmFilt;
fachrizi_kiki 1:ebb9cfc0cff5 46 float rpmFiltn1;
fachrizi_kiki 1:ebb9cfc0cff5 47 float rpmn1;
fachrizi_kiki 0:e14308f43fdf 48 };
fachrizi_kiki 0:e14308f43fdf 49
fachrizi_kiki 2:77ef3d60d8d9 50 #endif