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.

[参考译文] TMS320F28069F:直流总线电压降低后的异常重启问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192773/tms320f28069f-the-problem-of-abnormal-restart-after-dc-bus-voltage-reduction

器件型号:TMS320F28069F
主题中讨论的其他器件:MOTORWARE

TI 专家:我正在进行 motorware lab10实验、我遇到了一个需要帮助的奇怪问题。 我的控制板和主电路单独供电。 电机正常运行后、关闭直流主电路电源、电机停止运行(因为设置了欠压保护)。 当直流电压低于极低(约5V)时、再次打开直流主电路电源(此时、控制电路仍保持通电状态)。 当电机启动时、电机运行异常、电机不稳定、产生高频噪声、电机电流和电压振荡。但是、如果直流电压值高于特定值(大约5V)、则再次打开直流主电路电源、 电机正常运行。 gMotorVars.Flag_ enableOffsetcalc/gMotorVars.Flag_ EnableRsRecalc 默认为 true。 直流主电路闭合后、View OFFSET_ I/V 不会改变。 我无法在 while (gMotorVars. flag_enableSys)循环中进一步检查相关状态、因为它涉及 est 函数。 您能告诉我原因、以及如何解决?

谢谢!

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

    添加:如果直流总线电压为零、则运行 for (;)循环、然后打开直流总线电源、将发生相同的问题。

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

    您好!

    MotorWare SDK 专家现已不在办公室。 他将在下周回来。

    此致、Santosh

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

    好的、谢谢! 等待专家。

    此致

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

    默认情况下、每次启动电机时、InstaSPIN 实验都会执行 ADC 偏移校准。 因此、您需要确保在启动电机时直流总线电压足够高、或者您可以禁用偏移校准并在初始化代码中设置正确的值。

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

    罗好:谢谢你的回复!

    根据我的实验、设置 ADC 偏移校准= false。 如果直流电压低于特定值、程序将进入 while (gMotorVars. FLAG_enableSys)、启动电机将产生异常噪声。 但是、如果直流电压低于特定值、程序将跳出 while (gMotorVars。FLAG_enableSys)、然后在电压高于特定值后输入 while (gMotorVars。FLAG_enableSys)、 启动电机将正常运行、而 ADC 偏移校准= false / true、它仅影响电机低速时的稳定性、不会产生高频噪声。 因此、高频噪声的原因应该是主中断函数中的 CTRL_setup (ctrlHandle)、CTRL_Setup (ctrlHandle)是由于 CTRL_RunTraj (handle)原因、我想我是否正确?

    2.为了求解 Q1、最简单的方法是退出 while (gMotorVars。flag_enableSys) 循环并等待直流电压恢复、然后再进入循环。 但是、存在一个新问题、即进入周期后有一段等待时间。 默认值为5s、不符合工作要求。 如何保存最后一个 ADC 偏移校准值并设置 gMotorVars。 Flag_ EnableRsRecalc=false,并修改 pUserParams ->ctrlWaitTime [CTRL_State_Offline]= 0,我该怎么办?

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="520304" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192773/tms320f28069f-the-problem-of-abnormal-restart-after-dc-bus-voltage-reduction/4499015 #4499015"]我想知道我的说法是否正确?

    如果要设置  ADC 偏移 calibration=false、则需要在代码中设置正确的初始偏移、如下所述。

    [引用 userid="520304" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1192773/tms320f28069f-the-problem-of-abnormal-restart-after-dc-bus-voltage-reduction/4499015 #4499015"]我该怎么办?

    是的、最好先检查直流总线电压、然后退出等待环路以启用偏移校准并开始运行电机。

    或按如下所示在 user.h 中设置正确的值、并将 gMotorVars.Flag_enableOffsetcalc 设置为"false"。

    //! 简要介绍 A、B 和 C 相的 ADC 电流偏移
    //! 简要说明与硬件相关的一次性、但校准也可以在运行时完成
    //! \brief 在初始电路板校准后,这些值应针对您的特定硬件进行更新,以便在编译二进制文件后可以加载到控制器中
    #define I_A_offset (0.9939797521)
    #define I_B_OFFSET (1.014363647)
    #define I_C_OFFSET (1.005615234)

    //! 简要介绍 A、B 和 C 相的 ADC 电压偏移
    //! 简要说明与硬件相关的一次性、但校准也可以在运行时完成
    //! \brief 在初始电路板校准后,这些值应针对您的特定硬件进行更新,以便在编译二进制文件后可以加载到控制器中
    #define V_A_offset (0.5020679235)
    #define V_B_OFFSET (0.4977650046)
    #define V_C_OFFSET (0.4986107945)

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

    罗好: 谢谢你的回复! 我已经解决了这个问题、现在它运行良好。

    此致