Test the set param mode
Embed:
(wiki syntax)
Show/hide line numbers
structs.h
00001 #ifndef STRUCTS_H 00002 #define STRUCTS_H 00003 00004 #include "mbed.h" 00005 #include "FastPWM.h" 00006 00007 00008 typedef struct{ 00009 DigitalOut *enable; 00010 DigitalOut *led; 00011 FastPWM *pwm_u, *pwm_v, *pwm_w; 00012 } GPIOStruct; 00013 00014 typedef struct{ 00015 00016 }COMStruct; 00017 00018 typedef struct{ 00019 int adc1_raw, adc2_raw, adc3_raw; // Raw ADC Values 00020 float i_a, i_b, i_c; // Phase currents 00021 float v_bus; // DC link voltage 00022 float theta_mech, theta_elec; // Rotor mechanical and electrical angle 00023 float dtheta_mech, dtheta_elec, dtheta_elec_filt; // Rotor mechanical and electrical angular velocit 00024 float i_d, i_q, i_q_filt, i_d_filt; // D/Q currents 00025 float v_d, v_q; // D/Q voltages 00026 float dtc_u, dtc_v, dtc_w; // Terminal duty cycles 00027 float v_u, v_v, v_w; // Terminal voltages 00028 float k_d, k_q, ki_d, ki_q, alpha; // Current loop gains, current reference filter coefficient 00029 float d_int, q_int; // Current error integrals 00030 int adc1_offset, adc2_offset; // ADC offsets 00031 float i_d_ref, i_q_ref, i_d_ref_filt, i_q_ref_filt; // Current references 00032 int loop_count; // Degubbing counter 00033 int timeout; // Watchdog counter 00034 int mode; 00035 int ovp_flag; // Over-voltage flag 00036 // float p_des, v_des, kp, kd, t_ff; // Desired position, velocity, gians, torque 00037 float p_des, v_des, t_ff; // Desired position, velocity, torque 00038 float kp_L, kp_M1, kp_M2, kp_H, kd ; // kp, kd 00039 float range_L, range_M, range_H; // The range of error 00040 float v_ref, fw_int; // output voltage magnitude, field-weakening integral 00041 float cogging[128]; 00042 } ControllerStruct; 00043 00044 typedef struct{ 00045 double temperature; // Estimated temperature 00046 double temperature2; 00047 float resistance; 00048 } ObserverStruct; 00049 #endif
Generated on Mon Aug 1 2022 02:34:05 by 1.7.2