library to use pid easier
Diff: PID_lib.h
- Revision:
- 4:344e46625032
- Parent:
- 3:80e7ed9fdb02
- Child:
- 5:ae183f132d39
diff -r 80e7ed9fdb02 -r 344e46625032 PID_lib.h --- a/PID_lib.h Thu Oct 20 07:36:28 2022 +0000 +++ b/PID_lib.h Thu Dec 15 00:58:59 2022 +0000 @@ -1,42 +1,29 @@ #ifndef PID_lib_H #define PID_lib_H -/** - * Includes - */ #include "mbed.h" -/** - * Proportional-integral-derivative controller. - */ class PID_lib { public: - /* - initialization - - -------------- - - inisialisasi - */ - PID_lib(PinName dir1, PinName dir2, PinName pwm); - /* - get the pid pwm - - -------------- - - keluarkan nilai pwm pid - */ + PID_lib(PinName direksi1, PinName direksi2, PinName pulseWidth); + void pid_pwm(float target_, float kp_, float ki_, float kd_, float rpm, float t_); void pwm_read(float target_, float kp_, float ki_, float kd_, float rpm, float t_); void stop(); + void manualPwm(int dir,float speed_); + void record_data(int dir_,float speed_,float freq, float t_r); + void useParams1(); + void printParams(); private: -// Timer t; + Timer tr; DigitalOut dir1; DigitalOut dir2; PwmOut pwm; + float freq_rec; + float rpm_rec; float rpm; float freq; float ppr; @@ -58,8 +45,6 @@ float rpmFilt; float rpmFiltn1; float rpmn1; - - }; #endif