![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
2018 HongoMechaTech A
MDPIDSpeed/MDPIDSpeed.h@0:e83b840a5f86, 2018-09-18 (annotated)
- Committer:
- Komazawa_sun
- Date:
- Tue Sep 18 03:11:01 2018 +0000
- Revision:
- 0:e83b840a5f86
????????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Komazawa_sun | 0:e83b840a5f86 | 1 | /* |
Komazawa_sun | 0:e83b840a5f86 | 2 | * MDPIDSpeed.h |
Komazawa_sun | 0:e83b840a5f86 | 3 | * |
Komazawa_sun | 0:e83b840a5f86 | 4 | * Created on: 2018/08/31 |
Komazawa_sun | 0:e83b840a5f86 | 5 | * Author: komazawataiyou |
Komazawa_sun | 0:e83b840a5f86 | 6 | */ |
Komazawa_sun | 0:e83b840a5f86 | 7 | |
Komazawa_sun | 0:e83b840a5f86 | 8 | #ifndef NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_ |
Komazawa_sun | 0:e83b840a5f86 | 9 | #define NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_ |
Komazawa_sun | 0:e83b840a5f86 | 10 | |
Komazawa_sun | 0:e83b840a5f86 | 11 | #include "mbed.h" |
Komazawa_sun | 0:e83b840a5f86 | 12 | #include "MD.h" |
Komazawa_sun | 0:e83b840a5f86 | 13 | #include "QEI.h" |
Komazawa_sun | 0:e83b840a5f86 | 14 | #include "Timer_PID.h" |
Komazawa_sun | 0:e83b840a5f86 | 15 | |
Komazawa_sun | 0:e83b840a5f86 | 16 | class MD_PID_Speed: public MD, public Timer_PID{ |
Komazawa_sun | 0:e83b840a5f86 | 17 | public: |
Komazawa_sun | 0:e83b840a5f86 | 18 | MD_PID_Speed(MD *md, QEI *encorder, double kp, double ki, double kd); |
Komazawa_sun | 0:e83b840a5f86 | 19 | virtual ~MD_PID_Speed(); |
Komazawa_sun | 0:e83b840a5f86 | 20 | |
Komazawa_sun | 0:e83b840a5f86 | 21 | virtual void drive(double rpm); |
Komazawa_sun | 0:e83b840a5f86 | 22 | virtual void brake(double rpm); |
Komazawa_sun | 0:e83b840a5f86 | 23 | virtual void free(); |
Komazawa_sun | 0:e83b840a5f86 | 24 | |
Komazawa_sun | 0:e83b840a5f86 | 25 | double get_duty(); |
Komazawa_sun | 0:e83b840a5f86 | 26 | double get_current_rpm(); |
Komazawa_sun | 0:e83b840a5f86 | 27 | |
Komazawa_sun | 0:e83b840a5f86 | 28 | bool target_complete(float allowable_error); |
Komazawa_sun | 0:e83b840a5f86 | 29 | |
Komazawa_sun | 0:e83b840a5f86 | 30 | void reset(); |
Komazawa_sun | 0:e83b840a5f86 | 31 | private: |
Komazawa_sun | 0:e83b840a5f86 | 32 | MD *md; |
Komazawa_sun | 0:e83b840a5f86 | 33 | QEI *encorder; |
Komazawa_sun | 0:e83b840a5f86 | 34 | |
Komazawa_sun | 0:e83b840a5f86 | 35 | double target_rpm_; |
Komazawa_sun | 0:e83b840a5f86 | 36 | double rpm_log_[4]; |
Komazawa_sun | 0:e83b840a5f86 | 37 | double duty_; |
Komazawa_sun | 0:e83b840a5f86 | 38 | }; |
Komazawa_sun | 0:e83b840a5f86 | 39 | |
Komazawa_sun | 0:e83b840a5f86 | 40 | #endif /* NUCLEO_FLIPING_ARM_LIB_MD_PID_SPEED_MDPIDSPEED_H_ */ |