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

Dependencies:   SBDBT arrc_mbed BNO055

PIDco.hpp

Committer:
guesta
Date:
2022-04-08
Revision:
13:369f4abc1f36
Parent:
12:894e5ac49810

File content as of revision 13:369f4abc1f36:

#ifndef PID_CO_H
#define PID_CO_H
#include "mbed.h"

//#define Kp 0.0001
//#define Ki 0.0000014
//#define Kd 0.0000001
#define co (108 * 3.1415926535897) / 500


class PIDco{
    
    public://use in main.cpp
        PIDco();
        double obt_spd();
        double output;
        void pass_val(double PULSE,double TARGET,double p_gain,double i_gain,double d_gain);
        void wheel_ctl(PinName PIN_A,PinName PIN_B,double Regulation);
        void pid_ctl(double now_angle,double target_angle,double p_gain,double i_gain,double d_gain);
    
    private:
        void cal_spd();
        void cal_Error();
        void renew_Error();
        void cal_Pval();
        void cal_Ival();
        void cal_Dval();
        void cal_pwm();
        
        double spd;
        double Target,Error_a,Error_b;
        double Pval,Ival,Dval,Pwm;
        double Integral,dt;
        double diff,pulse_a,pulse_b;
        double v1p_set,v1m_set;
        double Kp;
        double Ki;
        double Kd;
        
        
};

#endif