2022_Ateam_MOTORprogramをscrp_slaveでメインマイコンからコントローラー状況を読み取れるように改良。 また、モータに0以外のpwmが送られている場合に基盤付属のledが点灯するようにした。
Dependencies: SBDBT arrc_mbed BNO055
PIDco.hpp@5:1a850f68a06c, 2022-01-23 (annotated)
- Committer:
- guesta
- Date:
- Sun Jan 23 13:31:36 2022 +0000
- Revision:
- 5:1a850f68a06c
- Parent:
- 0:a1238c4cd105
- Child:
- 7:a0375e6dc8ca
add go to target_position;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kazumayamanaka | 0:a1238c4cd105 | 1 | #ifndef PID_CO_H |
kazumayamanaka | 0:a1238c4cd105 | 2 | #define PID_CO_H |
kazumayamanaka | 0:a1238c4cd105 | 3 | #include "mbed.h" |
kazumayamanaka | 0:a1238c4cd105 | 4 | |
guesta | 5:1a850f68a06c | 5 | //#define Kp 0.0001 |
guesta | 5:1a850f68a06c | 6 | //#define Ki 0.0000014 |
guesta | 5:1a850f68a06c | 7 | //#define Kd 0.0000001 |
kazumayamanaka | 0:a1238c4cd105 | 8 | #define co (108 * 3.1415926535897) / 500 |
kazumayamanaka | 0:a1238c4cd105 | 9 | |
kazumayamanaka | 0:a1238c4cd105 | 10 | |
kazumayamanaka | 0:a1238c4cd105 | 11 | class PIDco{ |
kazumayamanaka | 0:a1238c4cd105 | 12 | |
kazumayamanaka | 0:a1238c4cd105 | 13 | public://use in main.cpp |
kazumayamanaka | 0:a1238c4cd105 | 14 | PIDco(); |
kazumayamanaka | 0:a1238c4cd105 | 15 | double obt_spd(); |
guesta | 5:1a850f68a06c | 16 | void pass_val(double PULSE,double TARGET,double p_gain,double i_gain,double d_gain); |
kazumayamanaka | 0:a1238c4cd105 | 17 | void wheel_ctl(PinName PIN_A,PinName PIN_B); |
kazumayamanaka | 0:a1238c4cd105 | 18 | |
kazumayamanaka | 0:a1238c4cd105 | 19 | private: |
kazumayamanaka | 0:a1238c4cd105 | 20 | void cal_spd(); |
kazumayamanaka | 0:a1238c4cd105 | 21 | void cal_Error(); |
kazumayamanaka | 0:a1238c4cd105 | 22 | void renew_Error(); |
kazumayamanaka | 0:a1238c4cd105 | 23 | void cal_Pval(); |
kazumayamanaka | 0:a1238c4cd105 | 24 | void cal_Ival(); |
kazumayamanaka | 0:a1238c4cd105 | 25 | void cal_Dval(); |
kazumayamanaka | 0:a1238c4cd105 | 26 | void cal_pwm(); |
kazumayamanaka | 0:a1238c4cd105 | 27 | |
kazumayamanaka | 0:a1238c4cd105 | 28 | double spd; |
kazumayamanaka | 0:a1238c4cd105 | 29 | double Target,Error_a,Error_b; |
kazumayamanaka | 0:a1238c4cd105 | 30 | double Pval,Ival,Dval,Pwm; |
kazumayamanaka | 0:a1238c4cd105 | 31 | double Integral,dt; |
kazumayamanaka | 0:a1238c4cd105 | 32 | double diff,pulse_a,pulse_b; |
kazumayamanaka | 0:a1238c4cd105 | 33 | double v1p_set,v1m_set; |
guesta | 5:1a850f68a06c | 34 | double Kp; |
guesta | 5:1a850f68a06c | 35 | double Ki; |
guesta | 5:1a850f68a06c | 36 | double Kd; |
kazumayamanaka | 0:a1238c4cd105 | 37 | }; |
kazumayamanaka | 0:a1238c4cd105 | 38 | |
kazumayamanaka | 0:a1238c4cd105 | 39 | #endif |
kazumayamanaka | 0:a1238c4cd105 | 40 | |
kazumayamanaka | 0:a1238c4cd105 | 41 | |
kazumayamanaka | 0:a1238c4cd105 | 42 | |
kazumayamanaka | 0:a1238c4cd105 | 43 | |
kazumayamanaka | 0:a1238c4cd105 | 44 | |
kazumayamanaka | 0:a1238c4cd105 | 45 |