1
Dependencies: mbed-dev-f303 FastPWM3
structs.h@55:489f01927025, 2021-05-12 (annotated)
- Committer:
- shaorui
- Date:
- Wed May 12 12:41:39 2021 +0000
- Revision:
- 55:489f01927025
- Parent:
- 54:4c9415402628
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
benkatz | 20:bf9ea5125d52 | 1 | #ifndef STRUCTS_H |
benkatz | 20:bf9ea5125d52 | 2 | #define STRUCTS_H |
benkatz | 20:bf9ea5125d52 | 3 | |
benkatz | 20:bf9ea5125d52 | 4 | //#include "CANnucleo.h" |
benkatz | 20:bf9ea5125d52 | 5 | #include "mbed.h" |
benkatz | 20:bf9ea5125d52 | 6 | #include "FastPWM.h" |
benkatz | 20:bf9ea5125d52 | 7 | |
benkatz | 20:bf9ea5125d52 | 8 | |
benkatz | 20:bf9ea5125d52 | 9 | typedef struct{ |
benkatz | 20:bf9ea5125d52 | 10 | DigitalOut *enable; |
benkatz | 37:c0f352d6e8e3 | 11 | DigitalOut *led; |
benkatz | 20:bf9ea5125d52 | 12 | FastPWM *pwm_u, *pwm_v, *pwm_w; |
benkatz | 20:bf9ea5125d52 | 13 | } GPIOStruct; |
benkatz | 20:bf9ea5125d52 | 14 | |
benkatz | 20:bf9ea5125d52 | 15 | typedef struct{ |
benkatz | 20:bf9ea5125d52 | 16 | |
benkatz | 20:bf9ea5125d52 | 17 | }COMStruct; |
benkatz | 20:bf9ea5125d52 | 18 | |
benkatz | 20:bf9ea5125d52 | 19 | typedef struct{ |
benkatz | 37:c0f352d6e8e3 | 20 | int adc1_raw, adc2_raw, adc3_raw; |
benkatz | 20:bf9ea5125d52 | 21 | float i_a, i_b, i_c; |
benkatz | 20:bf9ea5125d52 | 22 | float v_bus; |
benkatz | 20:bf9ea5125d52 | 23 | float theta_mech, theta_elec; |
benkatz | 34:51647c6c500d | 24 | float dtheta_mech, dtheta_elec, dtheta_elec_filt; |
Rushu | 49:7eac11914980 | 25 | float theta_mech1, theta_elec1; //shaorui add for joint position read theta_joint_raw_pre |
shaorui | 48:1b51771c3647 | 26 | float dtheta_mech1, dtheta_elec1, dtheta_elec_filt1; //shaorui add for joint position read |
Rushu | 49:7eac11914980 | 27 | float theta_joint, theta_joint_raw, theta_joint_raw_pre,theta_joint_raw_fil; //hjb added |
Rushu | 54:4c9415402628 | 28 | float i_d, i_q, i_q_filt, i_d_filt; // D/Q currents |
Rushu | 54:4c9415402628 | 29 | float v_d, v_q; // D/Q voltages |
Rushu | 54:4c9415402628 | 30 | float dtc_u, dtc_v, dtc_w; // Terminal duty cycles |
Rushu | 54:4c9415402628 | 31 | float v_u, v_v, v_w; // Terminal voltages |
Rushu | 54:4c9415402628 | 32 | float k_d, k_q, ki_d, ki_q, alpha; // Current loop gains, current reference filter coefficient |
Rushu | 54:4c9415402628 | 33 | float d_int, q_int; // Current error integrals |
Rushu | 54:4c9415402628 | 34 | int adc1_offset, adc2_offset; // ADC offsets |
Rushu | 54:4c9415402628 | 35 | float i_d_ref, i_q_ref, i_d_ref_filt, i_q_ref_filt; // Current references |
Rushu | 54:4c9415402628 | 36 | int loop_count; // Degubbing counter |
Rushu | 54:4c9415402628 | 37 | int timeout; // Watchdog counter |
benkatz | 22:60276ba87ac6 | 38 | int mode; |
Rushu | 54:4c9415402628 | 39 | int ovp_flag; // Over-voltage flag |
Rushu | 54:4c9415402628 | 40 | float p_des, v_des, kp, kd, t_ff; // Desired position, velocity, gians, torque |
Rushu | 54:4c9415402628 | 41 | float v_ref, fw_int; // output voltage magnitude, field-weakening integral |
benkatz | 23:2adf23ee0305 | 42 | float cogging[128]; |
Rushu | 54:4c9415402628 | 43 | int current_sector; |
Rushu | 54:4c9415402628 | 44 | int otw_flag; // Over-temp warning |
Rushu | 54:4c9415402628 | 45 | float i_max; |
Rushu | 54:4c9415402628 | 46 | float inverter_tab[128]; |
Rushu | 54:4c9415402628 | 47 | int oc_flag; |
shaorui | 48:1b51771c3647 | 48 | float angle,angle1;//shaorui add for test |
shaorui | 48:1b51771c3647 | 49 | float init1, init2,cha; |
shaorui | 48:1b51771c3647 | 50 | int c,sidebct; |
shaorui | 48:1b51771c3647 | 51 | int sidebct1; |
Rushu | 49:7eac11914980 | 52 | int Ncycle; |
Rushu | 49:7eac11914980 | 53 | float Ncycle_mod, Mech_mod; |
benkatz | 20:bf9ea5125d52 | 54 | } ControllerStruct; |
benkatz | 20:bf9ea5125d52 | 55 | |
benkatz | 22:60276ba87ac6 | 56 | typedef struct{ |
Rushu | 54:4c9415402628 | 57 | double temperature; // Estimated temperature |
Rushu | 54:4c9415402628 | 58 | float temp_measured; |
Rushu | 54:4c9415402628 | 59 | float q_in, q_out; |
Rushu | 54:4c9415402628 | 60 | float resistance; |
Rushu | 54:4c9415402628 | 61 | float k; |
Rushu | 54:4c9415402628 | 62 | float trust; |
Rushu | 54:4c9415402628 | 63 | float delta_t; |
Rushu | 54:4c9415402628 | 64 | |
benkatz | 37:c0f352d6e8e3 | 65 | float theta_m, theta_est; |
benkatz | 37:c0f352d6e8e3 | 66 | float thetadot_m, thetadot_est; |
benkatz | 37:c0f352d6e8e3 | 67 | float i_d_m, i_d_est; |
benkatz | 37:c0f352d6e8e3 | 68 | float i_q_m, i_q_est; |
benkatz | 37:c0f352d6e8e3 | 69 | float i_d_dot, i_q_dot; |
benkatz | 37:c0f352d6e8e3 | 70 | float e_d, e_q; |
benkatz | 37:c0f352d6e8e3 | 71 | float e_d_int, e_q_int; |
benkatz | 37:c0f352d6e8e3 | 72 | } ObserverStruct; |
benkatz | 22:60276ba87ac6 | 73 | |
benkatz | 20:bf9ea5125d52 | 74 | #endif |