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.

[参考译文] TMS320F2.8069万F:电流感应和偏移计算存在问题

Guru**** 2559730 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/657548/tms320f28069f-issue-with-current-sense-and-offset-calculation

部件号:TMS320F2.8069万F

大家好,

我有一个使用TMS320F2.8069万F的自定义逆变器,代码几乎与LAB 11a相同,还有3个LEM电流传感器,ADC上的电流为1.65V。 我们的系统是高电流的,因此电动机设计用于200安,并具有线性范围为+-375A的电流传感器。 但是,它们的全刻度ADC范围对应于1075A (+-537A),但不能保证该范围的远距离范围是线性的。

因此,我已将ADC全刻度电流设置为1075A。 根据应用说明,我将IQ全刻度电流设置为538A。 这些值现在使默认IQ范围饱和,因此我将global_Q设置为IQ21以表示最大2048。

gAdcData.i中的电流读数有奇怪的行为。 将所有偏移设置为0.0 以启动,两个电流传感器始终如预期显示,值为1 PU (考虑偏移后对应零电流),第三个传感器在没有电流流经传感器时出现异常行为报告-2 PU。 因为我们验证了所有3个ADC计数都是正确的,所以我认为在IQ设置或ADC与电流计算中可能会出现错误。

另外,我们发现,要使用来自其他论坛线程的LEM电流传感器,我们需要将其配置为与负反馈放大器电流并联测量一致,并且已经这样做了。

如有任何帮助,我们将不胜感激。 谢谢!

意愿

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.您不能更改global_Q,它必须始终为iQ24。 如果您不将项目中的PU值转换为实际电流,则无需更改任何最大电流。
    2.读取电流的信号基于LEM传感器及其连接。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1. 您不能更改global_Q,它必须始终为iQ24。 如果您不将项目中的PU值转换为实际电流,则无需更改任何最大电流。
    2.读取电流的信号基于LEM传感器及其连接。

    [/引述]

    感谢您的回复。 在使用iQ24的默认设置时,我们看到了同样的问题。 我们对相位进行了物理布线,并将电流传感器设置为与正电流方向一致,以便在8305开发套件的Instaspin实验室中执行并联电流测量。

    我忘记在原帖中提及此事:

    第一个奇怪的行为是我提到的,如果我们命令offfset计算,我们将得到-2,1和1 pu的偏移。 -2 PU值毫无意义-所有三个传感器在各相之间的物理接线相同,我们验证当零电流流经传感器时,所有三个传感器都读取~2048 ADC计数的正确ADC读数。

    第二个奇怪的行为是这种行为。 我们在3个相位上有3个电流传感器(在用户文件中,电流传感器的数量配置为3)。 然后,我们在每个传感器的正电流方向通过所有3个电流传感器的导线。  然后我们通过这条线运行16A。 当我们查看ADCRESULT寄存器组时,我们发现所有3个ADC计数都非常接近,并且对应于电流的正确物理值。 当我们查看gAdcData.i. value和*手动设置offset*到1.0 PU时,我们看到它们分别对应于+32A,-16A和-16A,这是非物理的,因为它们在相同的方向运行,并且具有相同的电流。 这些值由Instaspin之外的手根据gAdcData.i. value中存储的PU值计算得出。

    据我所知  ,在ADCRESULT寄存器中看到的ADC计数和gAdcData.i.值之间发生的这些信号的唯一计算发生在HAL_readAdcDataWithOffsets()中,示例如下:

     //转换当前B
     值=(_IQ) ADC_readResult(obj->adcHandle,ADC_ResultNumber_2);
     值=_IQ12bumpy (value,current_SF);
     pAdcData->i.Value[1]=值;

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

    我还想添加一些详细信息。

    我尝试进行故障排除的最大问题是无法启动电机。 我正在使用的电机之前是使用启动板和8305增强板来识别的,控制(速度,电流)工作正常,无需修改实验2a和实验5代码。

    在新逆变器上,我们在运行实验11a代码时遇到的问题是,在启用和未启用强制角度时,电机振荡。 我们已验证电压感应是否准确,并且适用于所有三相和直流总线电压。 因此,我们开始检查电流感应电路,在这里我们看到了上述问题。 看起来Instaspin正在进行A+B+C=0计算,尽管它可以访问三相电流传感器。

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

    事实证明,这是目前解决方案的一个问题。 逆变器用于高电流牵引电机,由于我们在无负载下进行测试,我们几乎没有电流分辨率,因为内部ADC只有12位,并且高电流传感器上的全刻度范围为1080A。 当我们将设计电流传感器更换为范围更低的传感器时,该问题得到了解决。

    向Kappa Electronics的Dave Wilson大声表示,他为我们指明了正确的方向!