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.

[参考译文] TMS320F28027F:如何校正死区时间失真

Guru**** 2927270 points

Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1009217/tms320f28027f-how-to-make-dead-time-distortion-correction

器件型号:TMS320F28027F
Thread 中讨论的其他器件:controlSUITE

大家好!

我正在使用 C:\ti\controlSUITE2_DMC Rev\developing_kits\HVMotorCtrl+PfcKit_v2.1\HVACI_Scalar

直流电压=550VDC

极数= 2 (1500RPM)

fmin =0.1 fmid=60赫兹 fmax =120Hz

V 最小值= 3V V 最大值= 550v

死区时间为2.5us。

在启动电机开始时、电机平稳旋转、但当电机加速 (600RPM)时 、电机开始  振动。 在1300RPM 中,我们有振动。

并且桥臂分流电阻器的电流在1A 至12A 之间变化!  

事实证明、这个问题是由于  死区时间失真而发生的。

1997年,Dave Wilson 先生发表了一份应用手册,这 是一种很老的方法,我想知道 TI 是否有解决这个问题的办法。

如何检测 电流极性区域以便-DT 为+DT?

是否可以通过电流桥臂分流电阻器传感器检测它? 如果是,如何执行。  

是否有更好的方法来实现它?

感谢您的关注。
Dave。

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

    顺便说一下  ,我在10年前的某个部分读了一个尊敬的 Dave Wilson 的表格,他指出,由于我们使用了桥臂分流电阻器,我们可以通过 LEM 传感器进行失真校正  

    我可以得到电流波形并将(DT/2)减去和加(主 PWM)

    我的代码与此类似  

     gDeadTimeCorrection.DT[AdcCnt]=(_IQtoF (gAdcData.I.Value[AdcCnt])>0)? 死区时间:死区时间;

    这样我就可以解决我的问题%70

    但 我希望我的电机平稳旋转(现在我感应电机上的振动、电流将在每次旋转时从1A~ 4A 变化)  
    我不知道如何微调低幅度区域以 应用+(DT/2)或-(DT/2)。

     TI 是否有更好的解决 方案或代码来解决这些问题?

    请详细说明这一点。

    谢谢

    Dave。  

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

    抱歉、除了在 controlSUIET 中使用方法外、没有用于死区时间补偿的新解决方案和代码。

    通常、正确的死区时间补偿值基于电流方向。

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

    您好、Luo
    您提到了"在 controlSUIET 中使用方法"。

    问题1:这意味着什么方法?

    问题2:请  告诉我在哪里可以找到该方法?

    此致。

    Dave。

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1009217/tms320f28027f-how-to-make-dead-time-distortion-correction/3730840 #3730840"]在 controlSUIET 中使用方法。[/quot]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.安装   controlSUITE https://www.ti.com/tool/controlsuite

    2.在文件夹  C:\ti\controlSUITE\development_kits\HVMotorCtrl+PfcKit_v2.1\HVPM_eSensorles 中找到示例项目

    3.在项目中找到以下代码。

    dbc1.scale =_IQdiv (_IQdiv2 (pwm1.Deadband)、dbc1.ith);//取消注释以进行调试
    dbc1.Kdtc =_IQmpy (dbc1.scale、dbc1.gain);//取消注释以调整“”
    PWMwDBC_MACRO (1、2、3、pwm1、clarke1、dbc1);

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

    谢谢您、Luo、

    我分析代码并有问题

    _IQ 类型不能超过-127至127、但  dbc1.scale 超过60000、如何解决此 问题。

    IQdiv (_IQdiv2 (pwm1.Deadband)、dbc1.ith);

    _IQdiv (_IQdiv2 (120)、0.001);它应该是60000、但它是127、因为限制!!

    我是对的,请 您解释一下吗?

    谢谢  

    Dave。

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

    dbc1.ith 也是一个_IQ 值、不等于0.001、应为_IQ (0.001)、 pwm1.Deadband 也将转换为_IQ 格式、不等于120。