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.

[参考译文] TMS320F280025C:CMpss 未触发

Guru**** 2460380 points
Other Parts Discussed in Thread: BOOSTXL-DRV8323RH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1073358/tms320f280025c-cmpss-not-triggering

部件号:TMS320F280025C
“线程”中讨论的其它部件:BOOSTXL-DRV8323RHLAUNCHXL-F280025C

尊敬的 TI 支持:

我需要 CMPSS 的帮助。

我正在使用:  LAUNHXL-F280025C  -  BOOSTXL-DRV8323RH  -通用电机控制实验室  (因此所有原厂均来自 TI)

基本上,我正在尝试验证 CMpss 和过流保护,但它不起作用。

我试图设置为10A,7 A,4 A,并使用10A 驾驶以强制跳闸,但没有任何反应。 可以帮帮我吗?  

查看以下设置。

谢谢,

奥兰多

1 - Hal.h

#define MTR1_IU_CMPSHP_MUX 1//CMPSS1-A11
#define MTR1_II_CMLP_MUX 1//CMPSS1-A11

#define MTR1_IV_CMPHP_MUX 4 // CMPSSS3-C4
#define MTR1_IV_CMPLP_MUX 4 // CMPSS3-C4

#define MTR1_IW_CMPHP_MUX 3 // CMPSSS1-C7
#define MTR1_IW_CMLP_MUX 3 // CMPSSS1-C7

#define MTR1_CMPSSS_DACK_value 2700 // 3308 = 14A / 2917 = 10A / 2700 = 7A / 4095 = 23.56A
#define MTR1_CMPSSS_DACL_value 1396 // 788 =-14A / 1179 =-10A / 1396 =-7A / 0001 =-23.56A

2 -水平

CMPSSS_configFilterHigh (obj->cmpsHandle[cn],4,4,3);
CMPSSS_initFilterHigh (obj->cmpsHandle[cnt]);
CMPSSS_configFilterLow (obj->cmpsHandle[cnt],4,4,3);3.
CMPSS_initFilterLow(obj->cmpsHandle[cnt]);

//设置 COMPHYSCTL 寄存器
// COMP 滞后设为2个典型值
CMPSSS_set滞后(obj->cmpsHandle[cnt],1);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="499814" url="~ë/support/intrans/c2000微控制器-组/CC2000 /f/c2000微控制器-论坛/1073358/tms320f280025c-cmpsss-not trigging"]#define MTR1_CMPSS_D10A_Value 2700 // 3308 = 14A/2917 = 246A = 4095 /
    #define MTR1_CMPSSS_DACL_value 1396 // 788 =-14A / 1179 =-10A / 1396 =-7A / 0001 =-23.56A

    这些设置仅用于初始化。 比较   器的 DAC 值将通过调用 runMotor1Control()中的 HAL_setMtrCMPSSDACValue(obj->halMtrHandle,objSets->dacCMValH,objSets->dacCMPSValL)来更新,该文件位于 motor1_drive.c 文件中。

     dacCMPValH 和 dacCMPValL 在  mer_common.h()中的 calcMotorOverCurrentThreshold 中设置。 因此,最大电流由 obj->Overere_A (motorVars_M1.Overere_A )设置/限制。

    您可以通过更改 user_mtr1.h 中的定义值来设置正确的限制电流 或者在  表达式窗口中在线更改 MotorVars_M1.OVEGE_A 的值。  

    #define user_motor1_over _current_a      (7.0英尺)       // a

    [引用 userid="499814" url="~ë/support/icros/c2000-icro-group/c2f/c2000-微控制器- forum/1073358/tms320f280025c-cmpsss-not trigging"]2 - Hal.c[/quot]

    在这里,无需更改 hal.c 文件中的任何内容。

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

    Yanming 您好,

    我能够验证它。 高达9A 的工作正常,但我不得不为10A 跳闸点工作添加更多的滤波。

    此致,

    奥兰多