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.

[参考译文] TIDA-00643:DRV8305电机控制在停止电机时停止

Guru**** 2386620 points
Other Parts Discussed in Thread: DRV8305, MOTORWARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1046221/tida-00643-drv8305-motor-control-stops-on-stalling-the-motor

器件型号:TIDA-00643
主题中讨论的其他器件:DRV8305MOTORWARE

你好

我使用 lab5b 在不断提高的最大电流限制水平下进行速度控制。  

当最大电流限值 保持在15A (20A - 25A)以上时、在电机上施加特定的失速后、控制将被翻转。

由于 感应电阻为2 m Ω、我已将 USER_IQ_FULL_SCALE_CURRENT_A 和 USER_ADC_FULL_SCALE_CURRENT_A 分别更改为82.5A 和165A。

是否有任何需要调整的变量、以便不会影响控制(电机上施加堵转时、电机控制停止)。

P.S 我已经在电路板上测试了 Lab5a、对于7m Ω 感应电阻器、23A 也出现了同样的问题。 因此、对于    2m Ω 感应电阻器、我将 USER_IQ_FULL_SCALE_CURRENT_A 和 USER_ADC_FULL_SCALE_CURRENT_A 更改为82.5A 和165A、然后它正常工作。 电机控制没有停止。

但现在、即使在更改这些参数后、问题仍然存在、并且在15A 电流时发生。

我已经使用 lab2c 进行用户参数识别、它工作正常。

请帮助。

谢谢。

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

    您好、Natsu、

    我将向 C2000团队寻求帮助。

    我相信较高的分流电阻值(7m Ω)会导致问题、因为最小增益设置为10V/V、电流为23A 会导致最小电压差23*0.007*10=1.61V、 如果 VREF = 3.3V 且 k = 2、则接近 ADC 的饱和限值(+/-1.65V)。 当使用较高的分流电阻值时、23A 或更高的任何电流都可能饱和并提供不正确的电流输出。  

    您能否确认使用的 VREF、k 和增益设置?

    谢谢、
    Aaron

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

    您是否更改 DRV8305的 VDS 电平以增加过流保护值? 您可以尝试在实验主文件中的 HAL_setupDrvSpi()之后添加以下代码。

     HAL_setupDrvSpi (halHandle、&G);

     gDrv830Spi5Vars.Ctrl_Reg_0C.VDS_level = VDS_level_1p679_V;
     gDrv830Spi5Vars.WriteCmd = 1;

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

    你好,Aaron

    VREF 为3.3V、  

    K 为1。

    增益设置为10V/V

    我们预计使用0.002分流电阻器时的电流为82.5A。 因此、82.5 * 0.002 * 10 = 1.65V。 因此、获得电流至至少50A 不应该是一个问题吗?

    尽管我可以使用 lab5a (电流控制)在停止时看到44.4A 电流。 对于 lab5b (速度控制)、我无法看到相同的结果。

    谢谢、

    Natsu

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

    您好 Yanming

    是的、我将 VDS 电平从0.060V 更改为1.679V、但行为没有变化。   一旦输入电流超过10A、电机仍会停止。 该电阻器上的电压。 此测试是在200 rpm 的低速下进行的

     IQ_A = 30.4366且 ID_A =-0.27146是电机停止且程序复位时的读数(Flag_enableSystem 和 Flag_enableIdentity 变为零)

    谢谢、

    Natsu

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

    已尝试将 k 的值更改为2。

    仍然是相同的误差。

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

    如果您以更高的速度或轻负载运行电机、会发生什么情况? 请检查硬件板或电机是否支持如此高的负载或电流。

    您可以尝试使用 MotorWare 或 MotorControlSDK 中支持的套件。

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

    您好 Yanming

    一旦 RPM 增加、主板在停止时能够消耗更多电流(10000RPM 时为33A)。 但是、电机将以较低的 RPM 停止。

    如果问题确实与硬件板有关、则 lab5a 也应该存在问题?(电流控制)。 我们刚刚将感应电阻器从7m Ω 更改为2m Ω、并分别将 USER_ADC_FULL_SCALE_CURRENT 和 USER_IQ_FULL_SCALE_CURRENT 更新为165和82.5。

    请告诉我需要监控哪些所有参数以增加输入消耗电流。

    您能否解释一下 ID_A、IQ_A、IS _A 之间的差异以及它们与输入电流的关系?

    谢谢

    Natsu

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

    电机的额定转速是多少? 您以多低的速度运行电机? 请注意、200rpm 是低转速的工具、您的电机可在重负载下运行。 如果您想以满载低速运行此电机、则可能必须尝试传感 focC。

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

    电机的额定转速为131A。  

    电机以200RPM 的速度进行测试、并在失速时停止。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="496312" URL"~/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1046221/tida-00643-drv8305-motor-control-stops-on-stalling-the-motor/3878329 #3878329"]电机的额定转速为131A。  [/报价]

    该电机的额定和最大速度是多少?

    以200rpm 运行时、电机会增加什么负载? 如上所述、200rpm 对于电机来说太低、无法在满载时使用无传感器 FOC 运行。

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

    您好 Yanming

    很遗憾,我无法向您提供有关负载的任何信息。

    关于第14.1.1.4节、调整后的 Kp 和 Ki 值是否在施加扭矩时以低速停止电机方面发挥了重要作用

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

    您好 Yanming

    电机的额定转速为974 RPM、最大转速为15589 RPM。

    我已将速度增加到最大值、然后在其上施加了运行所需的扭矩。

    现在、已经完成了扭矩测试、这样电机负载已固定且不会移动。 在该位置、电机应消耗最大电流、但无法这样做。

    而是控制器开始回滚。

    谢谢

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

    您能否分享更多测试波形和信息、以显示您在上面提到的问题以及您是如何测试电机的? 是的、您需要调整速度 PI 控制器的 Kp 和 Ki、并且必须根据您的电机和系统使用不同的 Kp 和 Ki 来实现低速和高速。

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

    您好 Yanming

    以上是 MCU_Isen_A 的图像  

    左侧图像是 USER_MOTOR_MAX_CURRENT 为40A 时的图像。

    右侧图像是 USER_MOTOR_MAX_CURRENT 为10A 时的情况。

    当设定的最大电流限值为40A 时、会出现很多失真、这相当于信号中的噪声。

    可以通过修改电流感应 RC 部分或修改 ADC 采样速度来解决该问题吗?

    我尝试调节 SPD KP 和 KI 值、但没有使用。

    电机使用扭矩测试单元进行测试、其中当电机旋转时负载固定、从而尝试从启动时消耗最大电流。

    谢谢你

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

    如果您尝试调节速度 PI 控制器、但无法根据需要提高性能。 如果可能的话、您必须使用传感 FOC 在重负载下以低速运行电机。

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

    您好 Yanming

    感谢您的建议。

    您能否详细说明一下什么是 Vsnsocp_trip (相位短路保护限制)、它在 DRV8305数据表中的值为2V。

    对于 USER_MOTOR_MAX_CURRENT 10A 和40A、上面照片中所附的 ADC 值的最大值为1.65V。 如何解释 ADC 值、因为它应该根据汲取的电流而上升?

    电流感测部分 RC 滤波器如何承受 R = 56欧姆和 C = 2200pF 的影响? 我尝试更改这些值、但电机无法正常旋转。 请详细说明如何设置这些值

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="496312" URL"~/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1046221/tida-00643-drv8305-motor-control-stops-on-stalling-the-motor/3890408 #3890408"]USER_MOTOR_MAX_CURRENT 10A 和40A 时、上面照片中所附的 ADC 值的最大值为1.65V。 如何解释 ADC 值、因为它应该根据汲取的电流而上升?[/引述]

    您可以查看 DRV8305的数据表、并根据您的电机设置 DRV8305的控制寄存器的正确值。

    [引用 userid="496312" URL"~/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/1046221/tida-00643-drv8305-motor-control-stops-on-stalling-the-motor/3890408 #3890408"]R=56欧姆且 C=2200pF 的电流感应部分 RC 滤波器如何处理? 我尝试更改这些值、但电机无法正常旋转。 请详细说明如何设置这些值[/报价]

    您可以在电路板上保留原始值、最好使用50~100 Ω(Ω)电阻器和(1nF~2.2nF)电容器作为 RC 滤波器、并且 make 的截止频率远高于 PWM/采样频率。