PMSM_FOC_Params.h 927 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "foc/foc_config.h"
  2. #include "foc/core/PI_Controller.h"
  3. #define CURR_BANDWITH 1000
  4. #define STAR_R 0.5F
  5. #define STAR_L 0.0002F
  6. static PI_Controller PI_Ctrl_ID = {
  7. .kp = S16Q5(CURR_BANDWITH * STAR_R),
  8. .ki = S16Q5(CURR_BANDWITH * STAR_L),
  9. .max = S16Q5(MAX_vDC),
  10. .min = S16Q5(-MAX_vDC),
  11. .DT = S16Q14(1.0f/(float)IDQ_CTRL_TS),
  12. .Ui = 0,
  13. };
  14. static PI_Controller PI_Ctrl_IQ = {
  15. .kp = S16Q5(CURR_BANDWITH * STAR_R),
  16. .ki = S16Q5(CURR_BANDWITH * STAR_L),
  17. .max = S16Q5(MAX_vDC),
  18. .min = S16Q5(-MAX_vDC),
  19. .DT = S16Q14(1.0f/(float)IDQ_CTRL_TS),
  20. .Ui = 0,
  21. };
  22. static PI_Controller PI_Ctrl_Spd = {
  23. .kp = S16Q5(0.001f),
  24. .ki = S16Q5(0.003f),
  25. .max = S16Q5(MAX_iDQ),
  26. .min = S16Q5(-MAX_iDQ),
  27. .DT = S16Q14(1.0f/(float)SPD_CTRL_TS),
  28. .Ui = 0,
  29. };
  30. static PI_Controller PI_Ctrl_fw = {
  31. .kp = S16Q5(0.001f),
  32. .ki = S16Q5(0.003f),
  33. .max = S16Q5(20),
  34. .min = S16Q5(0),
  35. .DT = S16Q14(1.0f/(float)SPD_CTRL_TS),
  36. .Ui = 0,
  37. };