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

Dependencies:   SBDBT arrc_mbed BNO055

Committer:
guesta
Date:
Fri Apr 08 09:14:20 2022 +0000
Revision:
13:369f4abc1f36
Parent:
12:894e5ac49810
2022/04/08

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 7:a0375e6dc8ca 16 double output;
guesta 5:1a850f68a06c 17 void pass_val(double PULSE,double TARGET,double p_gain,double i_gain,double d_gain);
guesta 10:ad8fced7d6b6 18 void wheel_ctl(PinName PIN_A,PinName PIN_B,double Regulation);
guesta 10:ad8fced7d6b6 19 void pid_ctl(double now_angle,double target_angle,double p_gain,double i_gain,double d_gain);
kazumayamanaka 0:a1238c4cd105 20
kazumayamanaka 0:a1238c4cd105 21 private:
kazumayamanaka 0:a1238c4cd105 22 void cal_spd();
kazumayamanaka 0:a1238c4cd105 23 void cal_Error();
kazumayamanaka 0:a1238c4cd105 24 void renew_Error();
kazumayamanaka 0:a1238c4cd105 25 void cal_Pval();
kazumayamanaka 0:a1238c4cd105 26 void cal_Ival();
kazumayamanaka 0:a1238c4cd105 27 void cal_Dval();
kazumayamanaka 0:a1238c4cd105 28 void cal_pwm();
kazumayamanaka 0:a1238c4cd105 29
kazumayamanaka 0:a1238c4cd105 30 double spd;
kazumayamanaka 0:a1238c4cd105 31 double Target,Error_a,Error_b;
kazumayamanaka 0:a1238c4cd105 32 double Pval,Ival,Dval,Pwm;
kazumayamanaka 0:a1238c4cd105 33 double Integral,dt;
kazumayamanaka 0:a1238c4cd105 34 double diff,pulse_a,pulse_b;
kazumayamanaka 0:a1238c4cd105 35 double v1p_set,v1m_set;
guesta 5:1a850f68a06c 36 double Kp;
guesta 5:1a850f68a06c 37 double Ki;
guesta 5:1a850f68a06c 38 double Kd;
guesta 12:894e5ac49810 39
guesta 12:894e5ac49810 40
kazumayamanaka 0:a1238c4cd105 41 };
kazumayamanaka 0:a1238c4cd105 42
kazumayamanaka 0:a1238c4cd105 43 #endif
kazumayamanaka 0:a1238c4cd105 44
kazumayamanaka 0:a1238c4cd105 45
kazumayamanaka 0:a1238c4cd105 46
kazumayamanaka 0:a1238c4cd105 47
kazumayamanaka 0:a1238c4cd105 48
kazumayamanaka 0:a1238c4cd105 49