#include "foc/foc_config.h" #include "foc/core/PI_Controller.h" #define CURR_BANDWITH 1000 #define STAR_R 0.5F #define STAR_L 0.0002F static PI_Controller PI_Ctrl_ID = { .kp = S16Q5(CURR_BANDWITH * STAR_R), .ki = S16Q5(CURR_BANDWITH * STAR_L), .max = S16Q5(MAX_vDC), .min = S16Q5(-MAX_vDC), .DT = S16Q14(1.0f/(float)IDQ_CTRL_TS), .Ui = 0, }; static PI_Controller PI_Ctrl_IQ = { .kp = S16Q5(CURR_BANDWITH * STAR_R), .ki = S16Q5(CURR_BANDWITH * STAR_L), .max = S16Q5(MAX_vDC), .min = S16Q5(-MAX_vDC), .DT = S16Q14(1.0f/(float)IDQ_CTRL_TS), .Ui = 0, }; static PI_Controller PI_Ctrl_Spd = { .kp = S16Q5(0.001f), .ki = S16Q5(0.003f), .max = S16Q5(MAX_iDQ), .min = S16Q5(-MAX_iDQ), .DT = S16Q14(1.0f/(float)SPD_CTRL_TS), .Ui = 0, }; static PI_Controller PI_Ctrl_fw = { .kp = S16Q5(0.001f), .ki = S16Q5(0.003f), .max = S16Q5(20), .min = S16Q5(0), .DT = S16Q14(1.0f/(float)SPD_CTRL_TS), .Ui = 0, };