2022_Ateam_MOTORprogramをscrp_slaveでメインマイコンからコントローラー状況を読み取れるように改良。 また、モータに0以外のpwmが送られている場合に基盤付属のledが点灯するようにした。

Dependencies:   SBDBT arrc_mbed BNO055

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?

UserRevisionLine numberNew 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