主题中讨论的其他器件:DRV8323
大家好!
编译: CCS12.3编译器22.6.0.LTS
我的大电机运行达到用户设置的轨迹速度 SDK 4.0 pu:0.5、20Khz、无论启动、扭矩、增量电流和加速启动速度如何、都仅达到1Hz UMCSDK 在下面的文本文件中设置。 已尝试下面每种可能的组合 UMCSDK user_mtr1.h 设置、并发现奇怪的是、两个 Delta 电流的 CCS show 源在构建中没有到任何函数或用户参数的链接。 我希望这对调试较新的 MCSDK 代码有所帮助。 小型电机 Nidec 25H +24V 负载0.35A 具有极低的电流、但在较高速度下具有很大的扭矩>8krpm UMCSDK 不会出现问题。
怪异的 USER_MOTOR1_FORCE_DELTA_ A、 USER_MOTOR1_ALIGN_DELTA_A 没有关联的函数或变量在 user_mtr1.h 中定义、是指向 FAST_FULL_lib.lib 的链接。 没有编译器警告 ABI 或 COF 问题、但这似乎是 ABI 构建工程设置的 COF 库构建?
为什么两个电机在 SDK4.0中都可以正常工作、但在 MCSDK 中无法工作? 当电机电流小于1A 时、 小型电机启动并运行以参考目标轨迹速度、但大型电机保持强制角开环速度1Hz。 请建议一些 user_mtr1.h 设置,以帮助大型电机的 kgm^2转子质量,许多 EV 级范围大于63磅惯性。 还将 UMCSDK 与若干 M1.KP_SPD 值绑定、例如148.xxx、48.xxx 至0.48xxxx、但仍未更改以加速到参考轨迹速度。
MCSDK 大电机 user_mtr1.h SDK4.0大电机 user.h 设置

设置 SDK4.0与 UMCSDK 类似但不工作相同的电机、更高的电流相同问题不会加速以参考轨迹速度。
#define USER_MOTOR1_TYPE MOTOR_TYPE_PM
#define USER_MOTOR1_NUM_POLE_PAIRS (18)
#define USER_MOTOR_SPEED_REF_HZ (265) // Set Trajectory Speed
#define USER_MOTOR1_Rr_Ohm (NULL)//ACIM only
//Cust-INV: DCINV 0.16828759, DRV8320RS 0.155892089
#define USER_MOTOR1_Rs_Ohm (0.16828759)
//Cust-INV: 0.000986817526, DRV8320RS 0.000890934956
#define USER_MOTOR1_Ls_d_H (0.000896817526)
#define USER_MOTOR1_Ls_q_H (0.000896817526)
//Cust-INV:0.138790429
#define USER_MOTOR1_RATED_FLUX_VpHz (0.138790429)
#define USER_MOTOR1_MAGNETIZING_CURRENT_A (NULL)//ACIM only
#define USER_MOTOR1_RES_EST_CURRENT_A (5.0f) // 10-30% of rated current HV36/8.2A, unloaded 5.0/100v
#define USER_MOTOR1_IND_EST_CURRENT_A (-4.5f) // 10-30% of rated current(LS) HV36:-4.5
#define USER_MOTOR1_MAX_CURRENT_A (5.65f) // Saturation current(Peak) HV36:5.6
#define USER_MOTOR1_FLUX_EXC_FREQ_Hz (60.0f) // MotorID 60 Hz for [1 uH < Lphase < 10 uH]
// MotorID 20 Hz for [10 uH < Lphase < 1000 uH]
// Number of lines on the motor's quadrature encoder
#define USER_MOTOR1_NUM_ENC_SLOTS (NULL)
#define USER_MOTOR1_INERTIA_Kgm2 (0.352838295721)
#define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz (2.0f) // Hz
#define USER_MOTOR1_RATED_VOLTAGE_V (250.0f)
#define USER_MOTOR1_RATED_SPEED_KRPM (3.5f)
#define USER_MOTOR1_FREQ_MIN_HZ (2.0f) // Hz
#define USER_MOTOR1_FREQ_MAX_HZ (1350.0f) // Hz 720Hz*60/18=2400rpm, Hz-suggested to set to 120% of rated motor frequency
#define USER_MOTOR1_FREQ_LOW_HZ (65.0f) // Hz 65Hz - suggested to set to 10% of rated motor frequency
#define USER_MOTOR1_FREQ_HIGH_HZ (650.0f) // Hz 650Hz*60/18=2166rpm: suggested to set to 100% of rated motor frequency
#define USER_MOTOR1_VOLT_MIN_V (85.0f) // Volt
#define USER_MOTOR1_VOLT_MAX_V (186.0f) // Volt
#define USER_MOTOR1_FORCE_DELTA_A (0.55f) // A
#define USER_MOTOR1_ALIGN_DELTA_A (0.25f) // A
#define USER_MOTOR1_FLUX_CURRENT_A (5.25f) // !A
#define USER_MOTOR1_ALIGN_CURRENT_A (5.0f) // !A
#define USER_MOTOR1_STARTUP_CURRENT_A (7.25f) // !A
#define USER_MOTOR1_TORQUE_CURRENT_A (2.65f) // !A
#define USER_MOTOR1_OVER_CURRENT_A (12.8f) // !A
#define USER_MOTOR1_BRAKE_CURRENT_A (1.0f) // A
#define USER_MOTOR1_BRAKE_TIME_DELAY (12000U) // 60s/5ms
#define USER_MOTOR1_SPEED_START_Hz (5.0f)
#define USER_MOTOR1_SPEED_FORCE_Hz (15.0f)
#define USER_MOTOR1_ACCEL_START_Hzps (5.0f) // !Hz
#define USER_MOTOR1_ACCEL_MAX_Hzps (25.0f) // !Hz
更改设置通用 MCSDK 电机仍保持±1Hz 不会加速到参考轨迹速度、即使电流较小的电机仍仅以1Hz 的频率启动。
#define USER_MOTOR1_FREQ_NEARZEROLIMIT_Hz (2.0f) // Hz #define USER_MOTOR1_RATED_VOLTAGE_V (250.0f) #define USER_MOTOR1_RATED_SPEED_KRPM (3.5f) #define USER_MOTOR1_FREQ_MIN_HZ (2.0f) // Hz #define USER_MOTOR1_FREQ_MAX_HZ (1350.0f) // Hz 720Hz*60/18=2400rpm, Hz-suggested to set to 120% of rated motor frequency #define USER_MOTOR1_FREQ_LOW_HZ (65.0f) // Hz 65Hz - suggested to set to 10% of rated motor frequency #define USER_MOTOR1_FREQ_HIGH_HZ (650.0f) // Hz 650Hz*60/18=2166rpm: suggested to set to 100% of rated motor frequency #define USER_MOTOR1_VOLT_MIN_V (85.0f) // Volt #define USER_MOTOR1_VOLT_MAX_V (186.0f) // Volt #define USER_MOTOR1_FORCE_DELTA_A (0.55f) // A #define USER_MOTOR1_ALIGN_DELTA_A (0.25f) // A #define USER_MOTOR1_FLUX_CURRENT_A (1.75f) // !A #define USER_MOTOR1_ALIGN_CURRENT_A (4.0f) // !A #define USER_MOTOR1_STARTUP_CURRENT_A (3.55f) // !A #define USER_MOTOR1_TORQUE_CURRENT_A (1.65f) // !A #define USER_MOTOR1_OVER_CURRENT_A (12.0f) // !A #define USER_MOTOR1_BRAKE_CURRENT_A (1.0f) // A #define USER_MOTOR1_BRAKE_TIME_DELAY (12000U) // 60s/5ms #define USER_MOTOR1_SPEED_START_Hz (15.0f) #define USER_MOTOR1_SPEED_FORCE_Hz (25.0f) #define USER_MOTOR1_ACCEL_START_Hzps (35.0f) // !Hz #define USER_MOTOR1_ACCEL_MAX_Hzps (55.0f) // !Hz
SDK4.0用户设置对于更大的电机可正常启动、但为什么 MCSDK 中不能这样做?
USER_MOTOR_TYPE = 1, // MOTOR_TYPE_PM,
USER_MOTOR_NUM_POLE_PAIRS = 18, // HV36:18pp
USER_MOTOR_Rr_Ohm = 0, //ACIM only
USER_MOTOR_Rs_Ohm = 0.16828759,
//HV36: DCINV 0.16828759, DRV8320RS 0.155892089
USER_MOTOR_Ls_d_H = 0.000896817526,
//HV36: INV 0.000986817526, DRV8320RS 0.000890934956
USER_MOTOR_Ls_q_H = 0.000896817526,
//HV36: INV 0.000986817526, DRV8320RS 0.000890934956
USER_MOTOR_RATED_FLUX_VpHz = 0.138790429,
//HV36:0.138790429
USER_MOTOR_MAGNETIZING_CURRENT_A = 0, //ACIM only
USER_MOTOR_RES_EST_CURRENT_A = 5.0, // 10-30% of rated current HV36/8.2A, unloaded 5.0/100v
USER_MOTOR_IND_EST_CURRENT_A = -4.5, // 10-30% of rated current(LS) HV36:-4.5
USER_MOTOR_MAX_CURRENT_A = 5.6, // Saturation current(Peak) HV36:5.6
USER_MOTOR_FLUX_EXC_FREQ_Hz = 60.0, // MotorID 60 Hz for [1 uH < Lphase < 10 uH]
// MotorID 20 Hz for [10 uH < Lphase < 1000 uH]
USER_MOTOR_INERTIA_EN = (1), //1:true, 0:false
USER_MOTOR_INERTIA_Kgm2 = 0.325505192710553,
USER_MOTOR_NUM_ENC_SLOTS = 71, // Number of lines on the motor's quadrature encoder
USER_MOTOR_FREQ_MIN_HZ = 2.0, // Hz
USER_MOTOR_FREQ_MAX_HZ = 780.0, // 720Hz*60/18=2400rpm, Hz-suggested to set to 120% of rated motor frequency
USER_MOTOR_FREQ_LOW_HZ = 65.0, // 65Hz - suggested to set to 10% of rated motor frequency
USER_MOTOR_FREQ_HIGH_HZ = 650.0, // 650Hz*60/18=2166rpm: suggested to set to 100% of rated motor frequency
USER_MOTOR_VOLT_MIN_V = 60.0, // Volt - suggested to set to 15% of rated motor voltage
USER_MOTOR_VOLT_MAX_V = 160.0, // Volt - suggested to set to 100% of rated motor voltage
HAL_PWM_DBRED_CNT = 20, // PWM Deadband RED register x 10 nanosecond SYSCLK periods
HAL_PWM_DBFED_CNT = 20, // PWM Deadband FED register x 10 nanosecond SYSCLK periods
HAL_PWM_DB_CNT = 20, // DRV 8320RS gate driver deand band SPI register value.
USER_PWM_FREQ_kHz = 20.0, // EPWM module PRD clock frequency for DC inverter modulation.
//! \brief Defines the maximum P2P current at the AD converter
USER_ADC_FULL_SCALE_CURRENT_A = 82.0; //PGA 42.843, INA240A1:78-82.0

