あーちゃん制御
Dependencies: FastPWM cal_PID mbed nucleo_rotary_encoder
omuni/speed_control/speed_control.hpp@1:d6e30aa7bc5b, 2017-09-25 (annotated)
- Committer:
- Akito914
- Date:
- Mon Sep 25 08:23:24 2017 +0000
- Revision:
- 1:d6e30aa7bc5b
- Parent:
- 0:4346c5764e83
cal_PID???????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Akito914 | 0:4346c5764e83 | 1 | #ifndef __SPEED_CONTROL__ |
Akito914 | 0:4346c5764e83 | 2 | #define __SPEED_CONTROL__ |
Akito914 | 0:4346c5764e83 | 3 | |
Akito914 | 0:4346c5764e83 | 4 | #include "mbed.h" |
Akito914 | 0:4346c5764e83 | 5 | #include "rotary_encoder_ab_phase.hpp" |
Akito914 | 0:4346c5764e83 | 6 | |
Akito914 | 0:4346c5764e83 | 7 | class speed_control |
Akito914 | 0:4346c5764e83 | 8 | { |
Akito914 | 0:4346c5764e83 | 9 | private: |
Akito914 | 0:4346c5764e83 | 10 | rotary_encoder_ab_phase *e; |
Akito914 | 0:4346c5764e83 | 11 | Timer t; |
Akito914 | 0:4346c5764e83 | 12 | float kp, ki, kd; |
Akito914 | 0:4346c5764e83 | 13 | float f1, f2, diff[2], m, dm, j; |
Akito914 | 0:4346c5764e83 | 14 | float pulse_per_revol, cy_ms; |
Akito914 | 0:4346c5764e83 | 15 | float target_value, sensor_value; |
Akito914 | 0:4346c5764e83 | 16 | unsigned long time_counter; |
Akito914 | 0:4346c5764e83 | 17 | int32_t e_value[10], pre_counts; |
Akito914 | 0:4346c5764e83 | 18 | char duty; |
Akito914 | 0:4346c5764e83 | 19 | bool _rev; |
Akito914 | 0:4346c5764e83 | 20 | |
Akito914 | 0:4346c5764e83 | 21 | public: |
Akito914 | 0:4346c5764e83 | 22 | speed_control(TIM_TypeDef *timer_type, float _pulse_per_revol, float _cy_ms, bool rev = false); |
Akito914 | 0:4346c5764e83 | 23 | void set_speed(float _target_value); |
Akito914 | 0:4346c5764e83 | 24 | void set_pid(float _kp, float _ki, float _kd); |
Akito914 | 0:4346c5764e83 | 25 | bool check_get_speed(); |
Akito914 | 0:4346c5764e83 | 26 | char get_duty(); |
Akito914 | 0:4346c5764e83 | 27 | float get_speed(); |
Akito914 | 0:4346c5764e83 | 28 | }; |
Akito914 | 0:4346c5764e83 | 29 | |
Akito914 | 0:4346c5764e83 | 30 | #endif |