motor_param.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #ifndef _MOTOR_PARAM_H__
  2. #define _MOTOR_PARAM_H__
  3. #include "bsp/bsp.h"
  4. #include "os/os_types.h"
  5. #include "foc/core/PMSM_FOC_Core.h"
  6. /* 电机外特性map, 每个转速点对应的最大扭矩 */
  7. typedef struct {
  8. s16 rpm;
  9. s16 torque;
  10. }motor_map_t;
  11. typedef struct{
  12. s16 torque;
  13. s16 d;
  14. s16 q;
  15. }torque2dq_t;
  16. typedef struct {
  17. s16 iq;
  18. float lq;
  19. }iq_lq_map_t;
  20. typedef torque2dq_t torque_map_t;
  21. s16 motor_max_torque_for_rpm(s16 rpm);
  22. void motor_mpta_fw_lookup(float rpm, float torque, DQ_t *dq_out);
  23. float motor_get_lq_from_iq(s16 iq);
  24. #if CONFIG_MOT_TYPE==MOTOR_BLUESHARK_NEW1
  25. #define MOTOR_R 0.010f
  26. #define MOTOR_Ld (0.000120f*0.5f)
  27. #define MOTOR_Lq (0.000200f*0.5f)
  28. #define MOTOR_POLES 4
  29. #define MOTOR_ENC_OFFSET 0.0F
  30. #define CONFIG_MAX_MOTOR_TORQUE 40.0F
  31. #define TRQ_PI_KP 0.14F
  32. #define TRQ_PI_KI 0.15F
  33. #define CONFIG_CURRENT_BANDWITH 1000.0f /* 电流环带宽 */
  34. #define CONFIG_DEFAULT_PHASE_CURR_LIM 200
  35. #define CONFIG_MAX_FW_D_CURR 100.0F //d轴最大的退磁电流
  36. #define MOTOR_NR 0x11
  37. #elif CONFIG_MOT_TYPE==MOTOR_BLUESHARK_A1
  38. #define MOTOR_R 0.011f
  39. #define MOTOR_Ld (0.000140F*0.5f)
  40. #define MOTOR_Lq (0.000356f*0.5f)
  41. #define MOTOR_Flux (0.013f)
  42. //#define MOTOR_R 0.033f
  43. //#define MOTOR_Ld (0.000168f * 0.5f)//(0.000140F*0.5f)
  44. //#define MOTOR_Lq (0.000330f * 0.5f)//(0.000340f*0.5f)
  45. #define MOTOR_POLES 4
  46. #define MOTOR_ENC_OFFSET 0.0F
  47. #define CONFIG_MAX_MOTOR_TORQUE 400.0f//45.0F
  48. #define TRQ_PI_KP 0.05F
  49. #define TRQ_PI_KI 0.01F
  50. #define TRO_PI_KD 0.0F
  51. #define MOTOR_NR 0x16
  52. //4000->10, 34; 8000->8, 15
  53. #define CONFIG_CURRENT_BANDWITH (800 * 2 * PI) /* 电流环带宽 = bandwith / (2 * pi)*/
  54. #define CONFIG_DEFAULT_PHASE_CURR_LIM 500
  55. #define CONFIG_MAX_FW_D_CURR 300.0F //d轴最大的退磁电流
  56. #define CONFIG_CURRENT_LOOP_DECOUPE //电流环解耦
  57. #elif CONFIG_MOT_TYPE==MOTOR_BLUESHARK_NEW2
  58. #define MOTOR_R 0.013f
  59. #define MOTOR_Ld (0.000140f*0.5f)
  60. #define MOTOR_Lq (0.000320f*0.5f)
  61. #define MOTOR_POLES 4
  62. #define MOTOR_ENC_OFFSET 250.0F
  63. #define CONFIG_MAX_MOTOR_TORQUE 40.0F
  64. #define TRQ_PI_KP 0.14F
  65. #define TRQ_PI_KI 0.15F
  66. #define MOTOR_NR 0x12
  67. #define CONFIG_CURRENT_BANDWITH 1000.0f /* 电流环带宽 */
  68. #define CONFIG_DEFAULT_PHASE_CURR_LIM 200
  69. #define CONFIG_MAX_FW_D_CURR 100.0F //d轴最大的退磁电流
  70. #elif CONFIG_MOT_TYPE==MOTOR_BLUESHARK_ZD_100
  71. #define MOTOR_R 0.008f
  72. #define MOTOR_Lq (0.000125f*0.5f)
  73. #define MOTOR_Ld (0.000091f*0.5f)
  74. #define MOTOR_POLES 5
  75. #define MOTOR_ENC_OFFSET 145.0F
  76. #define CONFIG_MAX_MOTOR_TORQUE 200.0F
  77. #define TRQ_PI_KP 0.6F //0.13f
  78. #define TRQ_PI_KI 0.5F
  79. #define TRO_PI_KD 0.0F
  80. #define MOTOR_NR 0x13
  81. #define CONFIG_CURRENT_BANDWITH 1000.0f /* 电流环带宽 */
  82. #define CONFIG_DEFAULT_PHASE_CURR_LIM 200
  83. #define CONFIG_MAX_FW_D_CURR 100.0F //d轴最大的退磁电流
  84. #elif CONFIG_MOT_TYPE==MOTOR_BLUESHARK_OLD
  85. #define MOTOR_R 0.012f
  86. #define MOTOR_Ld (0.000143f*0.5f)
  87. #define MOTOR_Lq (0.000205f*0.5f)
  88. #define MOTOR_POLES 5
  89. #define MOTOR_ENC_OFFSET 180.0F
  90. #define CONFIG_MAX_MOTOR_TORQUE 40.0F
  91. #define TRQ_PI_KP 0.14F
  92. #define TRQ_PI_KI 0.15F
  93. #define MOTOR_NR 0x14
  94. #define CONFIG_CURRENT_BANDWITH 1000.0f /* 电流环带宽 */
  95. #define CONFIG_DEFAULT_PHASE_CURR_LIM 200
  96. #define CONFIG_MAX_FW_D_CURR 100.0F //d轴最大的退磁电流
  97. #elif CONFIG_MOT_TYPE==MOTOR_3505
  98. //编码器电机 3505
  99. #define MOTOR_R 0.08f
  100. #define MOTOR_Ld 0.000032f
  101. #define MOTOR_Lq 0.000032f
  102. #define MOTOR_POLES 10
  103. #define CONFIG_MAX_MOTOR_CURR 20.0F
  104. #define TRQ_PI_KP 0.14F
  105. #define TRQ_PI_KI 0.15F
  106. #define MOTOR_NR 0x15
  107. #define CONFIG_CURRENT_BANDWITH 1000.0f /* 电流环带宽 */
  108. #endif
  109. #endif /* _MOTOR_PARAM_H__ */