library to use pid easier
PID_lib.h@9:2304689cab4a, 21 months ago (annotated)
- 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?
User | Revision | Line number | New 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 |