This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28069M:扭矩不足

Guru**** 2540720 points
Other Parts Discussed in Thread: TMS320F28069M, BOOSTXL-DRV8301

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/623374/tms320f28069m-not-enough-torque

器件型号:TMS320F28069M
主题中讨论的其他器件: BOOSTXL-DRV8301

您好!

我已经使用了搜索功能、但尚未找到答案:/  我使用 Launchpad TMS320F28069M 和 BOOSTXL-DRV8301-Board。

我的问题是我的电机只达到其一半的扭矩。 它是一款 BLDC 电机、24V 和16A 时的额定功率为260W。 在我的应用中、我只使用速度控制器来限制速度。 速度控制器参考值一直设置为最大允许速度。 使用模拟传感器、用户可以控制速度控制器的最大输出。 我这样做是为了让用户控制扭矩。速度控制器刚刚被激活以限制车辆速度、因为它将在达到最大速度时降低其输出。  起初、当我施加高电流时、我在低速时遇到问题。 电机加速并突然开始抖动和制动。  在我的测试台上、我发现如果速度控制器的最大输出高于0.8 (低速时)(我的最大电机电流的 pu 值)、则电流信号就会变为正方形信号、这会让电机进行抖动。 因此我将用户输入限制为0.8..Motor 运行良好、完全安静并且工作正常。 重点是、我在14A 时仅获得6Nm。 但根据数据表、我应该具有11Nm 的扭矩。  此外、当我使用 RC-ESC (我认为它是块换向)而不是 Instaspin 控制器时、电机噪声很大、但施加的扭矩要大得多。 我必须添加以下信息:我还使用最低速度为3km/h 的 Flystart 控制器不必在此速度下处于活动状态。

我将向您展示我的 user.h、并告诉您一些我认为可能存在问题的价值观。 但首先、我有一些问题、因为我可能理解有问题:

当我们使用最大值0.5 (USER_MAX_VS_MAG_PU)时、是否也只有一半的可用功率?   使用正弦波控制的 RC-ESC 的廉价响亮换向是否比 FOC 更强大?

当我的步进高于15%时、我是否必须在低转速(最大转速的10%至15%)上施加更小的电流?

由于 BOOSTXL-DRV8301上的 NexFET 允许14A、这是否会限制我的电流?

这种晃动和制动行为的问题只在很小的速度下发生。 我认为最大速度的7-15%。 也许 BEMF 会过低以检测转子?

我不确定电机是否有15对或17对极对。 这是问题吗? 还是仅用于测量速度?

我使用 Lab5a 开始。 我添加了速度控制器和将速度控制器设置为最大速度的逻辑。 此时、我只想测试电流调节器、因此我将最大速度设置为30km/h 电机无法达到30km/h、而我的 Speed-PI 具有高 Kp 增益、因此它应始终在其输出端设置高电流。 使用霍尔传感器、我可以控制速度调节器的最大输出。 该值介于0和0.8之间。  如前所述、问题是我没有达到电机的最大功率。 我可以看到 Idq-controller 的输出限制为(-0.5和0.5)。 这是正常的吗? 我尝试更改该值、但控制器总是将其设置回-0.5和0.5、但我找不到发生这种情况的代码?  这是问题吗?

遵循我的用户 h 设置(仅限我更改的行)

#define USER_IQ_FULL_SCALE_FREQ_Hz       (500.0)

#define USER_IQ_FULL_SCALE_VOLTAGE_V     (25.2)

#define USER_PWM_FREQ_kHz               (50.0)


#define USER_MOTOR_TYPE                MOTOR_Type_PM // Motor_Type_PM (全部同步:BLDC、PMSM、SMPM、IPM)或 Motor_Type_Induction (ACI 异步)
#define USER_MOTOR_NUM_POLE_PAIRS      (15)      //eventuell 17    //对、而不是总极数。 仅用于根据转子 Hz 计算用户 RPM
#define USER_MOTOR_RR                  (NULL)        //仅感应电机、否则为 NULL
#define USER_MOTOR_Rs                  (0.149880037)    //在 Y 等效电路中确定的相位到中性点电阻(欧姆、浮点)
#define USER_MOTOR_LS_d                (0.000172284781) //对于 PM、确定的平均定子电感 (亨利、浮点数)
#define USER_MOTOR_LS_q                (0.000172284781) //对于 PM、确定的平均定子电感 (亨利、浮点数)
#define USER_MOTOR_RATGE_FLUX          (0.0755883753)        //确定转子和定子之间的总磁链(V/Hz)
#define USER_MOTOR_磁 化电流 (NULL)        //仅感应电机、否则为 NULL
#define USER_MOTOR_RES_EST_CURRENT     (1.0)         //在电机识别期间、用于 Rs 估算的最大电流(安培、浮点数)、10-20%额定电流
#define USER_MOTOR_IND_EST_CURRENT     (-1.0)        //在电机识别期间、用于 LS 估算的最大电流(负电流、浮点数)、只需足够的时间即可启用旋转
#define USER_MOTOR_MAX_CURRENT         (30)        //关键:在 ID 和运行时使用、设置所提供速度 PI 控制器向 IQ 控制器输出的最大电流命令的限制
#define USER_MOTOR_FLUX_EST_FREQ_Hz    (40.0)        //在电机识别期间、最大命令速度(Hz、浮点)、额定电流~10%
#define USER_MOTOR_ENCODER_LINESS(1.0)        
#define USER_MOTOR_MAX_SPEED_KRPM      (1.5)

希望您能理解我的问题。 很抱歉、有这么多问题、请提前感谢!

此致

Sebastian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉。 我想我找到了答案。 我的电流测量只能测量33A 的振幅。 在更高的扭矩上、我的电流振幅将更高、Dann 33A。 (在 Phase1上测得的~20A RMS-AC)。 这就是稳压器不输出更多电流的原因、以及电机在应用此高电流时为何开始出现异常行为? 我认为它无法重建磁场。
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没错。 ADC 溢出或电源输出不足。 您可以将电流分流电阻器更改为小电阻、并且需要注意功率 FET 的热耗散。