PMSM_FOC_Params.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "foc/foc_config.h"
  2. #include "foc/core/PI_Controller.h"
  3. #include "foc/motor/motor_param.h"
  4. static PI_Controller PI_Ctrl_ID = {
  5. .kp = (CURRENT_BANDWITH * MOTOR_Ld),
  6. .ki = (CURRENT_BANDWITH * MOTOR_R),
  7. .kp_s = (CURRENT_BANDWITH * MOTOR_Ld),
  8. .ki_s = (MOTOR_R/MOTOR_Ld),
  9. .max = (MAX_vDC),
  10. .min = (-MAX_vDC),
  11. .DT = (1.0f/(float)IDQ_CTRL_TS),
  12. .Ui = 0,
  13. };
  14. static PI_Controller PI_Ctrl_IQ = {
  15. .kp = (CURRENT_BANDWITH * MOTOR_Lq),
  16. .ki = (CURRENT_BANDWITH * MOTOR_R),
  17. .kp_s = (CURRENT_BANDWITH * MOTOR_Lq),
  18. .ki_s = (MOTOR_R/MOTOR_Lq),
  19. .max = (MAX_vDC),
  20. .min = (-MAX_vDC),
  21. .DT = (1.0f/(float)IDQ_CTRL_TS),
  22. .Ui = 0,
  23. };
  24. static PI_Controller PI_Ctrl_trq = {
  25. .kp = 0.001f,
  26. .ki = 0.01f,
  27. .max = (MAX_TORQUE),
  28. .min = (-MAX_TORQUE),
  29. .DT = (1.0f/(float)SPD_CTRL_TS),
  30. .Ui = 0,
  31. };
  32. static PI_Controller PI_Ctrl_Spd = {
  33. .kp = 0.001f,
  34. .ki = 0.01f,
  35. .max = (MAX_TORQUE),
  36. .min = (-MAX_TORQUE),
  37. .DT = (1.0f/(float)SPD_CTRL_TS),
  38. .Ui = 0,
  39. };
  40. static PI_Controller PI_Ctrl_fw = {
  41. .kp = (0.001f),
  42. .ki = (0.003f),
  43. .max = (20),
  44. .min = (0),
  45. .DT = (1.0f/(float)SPD_CTRL_TS),
  46. .Ui = 0,
  47. };