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:了解 Vsref 与过调制#39;s 占空比限制

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/570904/tms320f28069m-understanding-vsref-versus-overmodulation-s-duty-limit

器件型号:TMS320F28069M

您好!

我正在尝试了解这些数量的重要性(特别是 gMotorVars.Vsref 和 svgencie->Vlimit)、因为我目前在这些数量和我的电机控制器方面遇到了一些问题。

首先、我要指出、我正在比较实验5d (Instaspin 运动速度控制)与实验10b (具有过调制的 Instaspin 运动速度控制)。

在另一个线程(e2e.ti.com/.../2088170)中、我指出在'main.h'中 、motor_Vars_init 中有一条线、用于将 gMotorVars.Vsref 设置为等于 _IQ (0.8 * USER_MAX_VS_MAG_PU)。  这意味着在实验5d 中、Vsref 实际上为0.4、因为我的 MAX_VS_MAG_PU 为0.5。 在该线程中、暗示我可以更改此值、 只要我没有使用场强减弱、就可以在'main.h'中为我的 MOTOR_Vars_init 使用_IQ (1.0 * USER_MAX_VS_MAG_PU)。

我将以这种方式设置它、以便 Vsref 为0.5、但我在实验10b 中读取了一个位、我在 SVGEN 初始化部分中发现了以下内容:

//初始化并设置100% SVM 发生
器 svgencurentHandle = SVGENCURRENT_INIT (&svgenccurrent、sizeof (svgencCurrent));
//设置 svgen Current
{
float_t minWidth_microseconds = 2.0;
uint16_t minWidth_Counts =(uint16_t)(minWidth_microseconds * USER_SYSTEM_FREQ_MHz);
float_t fdutyLimit = 0.5-(2.0*minWidth_microseconds * USER_PWM_FREQ_kHz*0.001);
_iq dutyLimit =_IQ (dutyLimit);

SVGENCURRENT_setMinWidth (svgencurentHandle、minWidth_Counts);
SVGENCURRENT_setIgnoreShunt (svgencurentHandle、USE_ALL);
SVGENCURRENT_setMode (svgencurentHandle、all_PHASE_CAUST);
SVGENCURRENT_setVlimit (svgencurentHandle、dutyLimit);
} 

在我的示例中、我有一个14kHz 的 PWM 开关频率、因此、通过计算、我发现 SVGENCURRENT_setVlimit ()中使用的占空比限制大约为0.44。  无论如何、如果我的 minWidth_microseconds 高于0.0、则占空比限制小于0.5。

问题:

这是否意味着、如果我设置实验5d、使 Vsref 为0.5、那么我将会因为电流不可采样而使电机控制器发电?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lab05d 使用 SpinTAC 速度控制来替代 InstaSPIN-FOC 速度 PI 控制器、需要对电流进行采样、以使用 PI 控制器来实现电流控制。 在 ST_runVelCtl()中设置 IQ_ref、而在电流 PI 控制器中使用 VsRef 来限制 Vs 输出。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yanming、

    因此、我了解实验5d 使用 SpinTAC 控制器、并设置 IQ_ref、而不是传统 PI 控制器。

    我的问题与 SpinTAC 速度控制器和具有过调制的 SpinTAC 速度控制器之间的差异有关。

    在实验5d 中、我可以使用小于或等于0.5的 Vsref。

    在实验10b 中、在上面包含的代码片段 I 中、某些类型的 Vlimit 值由函数 SVGENCURRENT_setVlimit ()设置、如果您查看数学运算、该值始终设置为小于0.5。

    我想知道这些值之间是否有任何关系? 我之所以提出这一问题、是因为当我尝试进入过调制区域时、在运行实验10b 时遇到了一些初始问题、但实验5d 似乎可以正常运行。