2022_Ateam_MOTORprogramをscrp_slaveでメインマイコンからコントローラー状況を読み取れるように改良。 また、モータに0以外のpwmが送られている場合に基盤付属のledが点灯するようにした。
Dependencies: SBDBT arrc_mbed BNO055
PIDco.hpp@0:a1238c4cd105, 2022-01-19 (annotated)
- Committer:
- kazumayamanaka
- Date:
- Wed Jan 19 12:43:26 2022 +0000
- Revision:
- 0:a1238c4cd105
- Child:
- 5:1a850f68a06c
2022robotcontest
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 | |
kazumayamanaka | 0:a1238c4cd105 | 5 | #define Kp 0.0001 |
kazumayamanaka | 0:a1238c4cd105 | 6 | #define Ki 0.0000014 |
kazumayamanaka | 0:a1238c4cd105 | 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(); |
kazumayamanaka | 0:a1238c4cd105 | 16 | void pass_val(double PULSE,double TARGET); |
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; |
kazumayamanaka | 0:a1238c4cd105 | 34 | }; |
kazumayamanaka | 0:a1238c4cd105 | 35 | |
kazumayamanaka | 0:a1238c4cd105 | 36 | #endif |
kazumayamanaka | 0:a1238c4cd105 | 37 | |
kazumayamanaka | 0:a1238c4cd105 | 38 | |
kazumayamanaka | 0:a1238c4cd105 | 39 | |
kazumayamanaka | 0:a1238c4cd105 | 40 | |
kazumayamanaka | 0:a1238c4cd105 | 41 | |
kazumayamanaka | 0:a1238c4cd105 | 42 |