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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current

器件型号:TMS320F28027F
主题中讨论的其他器件:controlSUITEMOTORWARE


大家好

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

我尝试 获得 电机的电流(如它们可以显示的所有 VFD)。

因为在 V/F 控制方法中、我们没有电机的 θ 值、所以我们不能使用该公式。

//以安培为单位读取 ID 和 IQ 矢量
gMotorVars.ID_A =_IQmpy (CTRL_getid_in_pu (ctrlHandle)、_IQ (USER_IQ_FULL_SCALE_CURRENT_A));
gMotorVars.IQ_A =_IQmpy (CTRL_getIq_in_pu (ctrlHandle)、_IQ (USER_IQ_FULL_SCALE_CURRENT_A));

//计算矢量以安培为单位
gMotorVars.is_a =_IQsqrt (_IQmpy (gMotorVars.ID_A、gMotorVars.ID_A)+_IQmpy (gMotorVars.IQ_A、gMotorVars.IQ_A));

那么、我的问题是如何 获得电机电流?

如果我以这样的方式计算它、这是可以的吗?

IA、IB、IC 转换为 Clarke 变换、因此我们将具有 I_alpha 和 I_beta  

然后我们进行计算  

MotorCurrent = sqrt ((i_alpha * i_alpha )+(i_beta * i_beta ));

我们应该这样做吗?

请帮助我了解如何获取电机电流 (如所有 VFD)?

感谢您的关注。  

Dave。

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

    您希望监控什么电流? 硬件板上是否有任何电流传感器可对相电流进行采样? 如果三相电流正在采样、则电机矢量电流直接等于 sqrt (2 *(IA*IA + IB*IB +IC*IC)/3)。 或 sqrt ((i_alpha * i_alpha )+(i_beta * i_beta )))。

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

    您好、Luo  
    很抱歉,我得到了 Corona virus Delta 类型的延迟响应。

    对于您的问题:"您希望监控什么电流? 我想像监视任何 VFD 一样监视驱动电流并具有电流故障。
    (例如、我有一个电流为24A 的电机、因此如果我的电机消耗的电流较高、我的驱动器需要出现故障)。
    硬件板上是否有任何电流传感器可对相电流进行采样? 是的,我们有3 la 100 p (LEM 传感器) 
     "

    亲爱的 Luo,我花了两个多月的时间在电流传感器上工作,以获得准确的值。很遗憾,我不能这么做。(.我会给你回答我的问题,请和我一起解决我的问题。

    我  使用  sqrt (i_alpha * i_alpha )+(i_beta * i_beta )计算电机矢量电流购买 。

    我有一些问题:

    问题1:我认为 电机矢量电流 值应等于直流总线电流(我通过万用表测量该电流)。 我是对的吗?

    (它们不相同, 我 用万用表测量的直流总线电流为2A, 而电机矢量电流为6A )

    问题2:    您认为这可能是在直流总线电流为连续时测量 PWM 脉冲不是连续电流吗?

    问题3:如何使该值精确且接近  直流总线电流、以便将该值用于驱动器中的电流故障?

    感谢您的关注。

    此致、

    Dave、

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

    很遗憾听到这个消息。 希望现在一切顺利。

    [引用 userid="356118" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3807245 #3807245"]question1:我认为 电机矢量电流 值应等于直流总线电流(我用万用表测量该电流)。 我对吗?[/引述]

    否 两者都具有不同的值。

    [引用 userid="356118" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3807245 #3807245]Question2:您认为这 可能是测量   直流总线电流为连续时的 PWM 脉冲不是连续电流吗?

    问题3:如何使该值精确且接近  直流总线电流、以便将该值用于驱动器中的电流故障?[/QUERT]

    您必须添加一个直流总线电流传感器。 或使用电机相电流计算逆变器的输出功率、然后使用计算直流总线电流(逆变器电源/直流总线电压/反相转换效率)。

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

    您好、Luo  

    感谢您的同情。 和有用信息!

    罗先生,如果我能解决问题,我们就能把我们的动力带到市场,所以请帮我解决。。。 提前感谢!

    如您所述:

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3807392 #3807392"]使用电机相电流计算逆变器的输出功率,然后使用计算直流总线电流(逆变器电源/直流总线电压/反相转换效率)。[/quot]

    我有一些问题

    问题1:我想知道我是否正确获得了您的观点、假设驱动器频率设置为30Hz (最大电流/电压60Hz)、这意味着输出电压等于直流总线/2 =>(600/2 = 300V)

    电机矢量电流= 6A

    P=v*i

    逆变器电源1800=300V*6A

    您的公式  

    (逆变器电源/直流总线电压/反相转换效率)。

    直流总线电流1800Watt / 600Volt / 反相转换效率(0.9)= 3.3A

    问题2:我的计算是否正确? 如果我做了一些错误、请纠正我。谢谢

    问题3:如何根据电机矢量电流计算电机相电流 

    问题4:什么是 反相转换效率 ?(我只输入0.9来求解我的公式,但我不知道它是什么)

    请多多包涵以解决这个问题,谢谢

    此致。

    Dave。  

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

    如果您想要实现精确的直流总线电流、则必须在直流总线(dc+)或直流链路(dc-)上添加一个电流传感器。

    通常、逆变器不需要知道用于电机控制的直流总线电流、也不需要监测直流总线电流。 您只需要对电机的相电流进行采样和监控。

    Q1、Q2:不完全正确。 您可能会在教材中找到有关电机驱动或电力电子学的公式。

    Q3:您应该具有用于对相电流进行采样的电流传感器。 否则、您不知道矢量电流。 我认为、如果您使用标量 v/f 控制进行软件操作、这可能是矢量电压。

    Q4:它可能是0.80~0.95、具体取决于逆变器硬件、如功率器件、使用的开关频率。  您需要测试效率。

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

    尊敬的 Luo:

    尊敬的 Luo、我所需要的只是设置电流值以使故障值更高

    例如,我们的逆变器可以支持10kw 电机,我们将 其连接 到7.5kW 电机,因此我们希望将电流故障设置为17A (考虑到电机电压为380V) 。 在这种情况下,我们需要测量 电机电流。  

    Q1:能否通过监控  电机的相电流来实现该目标?

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3810420 #3810420"]您只需要对电机的相电流进行采样和监控。


    很好! 正如您提到的、我们需要仅监控相电流、因此我的答案接近一步。

    现在、我们在每个相位(A、B、C)中都有霍尔效应 LEM 传感器、所以我的问题是

    Q2:如何获取电机的相电流?

    感谢您的关注

    此致。

    Dave。

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

    1:将霍尔传感器的输出端连接到 ADC 输入端、并通过采样交易电路将霍尔传感器的输出信号转换为正确的范围值、然后配置 ADC 对相位进行采样。

    2.您可以查看 controlSUITE、motorWare 或 motorcontrol SDK 中的 FOC 示例项目、尽管这些示例使用 ADC 通过分流电阻器对相电流进行采样、但方法应该相同。

    3.您应该使用峰值电流通过检查 ADC 转换值来实现过流故障保护。 实际上、您还需要添加一些外部比较器来提供保护。

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

    尊敬的 Luo:
    你好。  

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3816963 #3816963]1. 通过采样交易电路将霍尔传感器的输出端连接到 ADC 输入端、该电路将霍尔传感器的输出信号转换为正确的范围值、然后配置 ADC 对相位进行采样。[/QUERP]

    我已经完成了。

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3816963 #3816963]2. 您可以查看 controlSUITE、motorWare 或 motorcontrol SDK 中的 FOC 示例项目、尽管这些示例使用 ADC 通过分流电阻器对相电流进行采样、但方法应该相同。[/quot]

    我实际上正在使用它,我将 V/F 和 FOC 组合在一起,请看一下图片。

     无论它是 FOC 还是 VF、在每个 PWM 周期中采样(在本例中为10kHz)

    正如我在这个线程中说过的  

    我们计算 电机矢量电流  值  

    我们将 IA、IB、IC 转换为 Clarke 变换、因此我们将具有 I_alpha 和 I_beta  

    // run Clarke transform on current
    
    CLARKE_run( ctrlHandle->clarkeHandle_I,&gAdcData.I,CTRL_getIdq_in_addr(ctrlHandle));
    
    // read Id and Iq vectors in amps
    User_Iq_Full_Scale_A=USER_IQ_FULL_SCALE_CURRENT_A;
    gMotorVars.Id_A = _IQmpy(CTRL_getId_in_pu(ctrlHandle), _IQ(User_Iq_Full_Scale_A));
    gMotorVars.Iq_A = _IQmpy(CTRL_getIq_in_pu(ctrlHandle), _IQ(User_Iq_Full_Scale_A));
    
    // calculate vector Is in amps
    gMotorVars.Is_A = _IQsqrt(_IQmpy(gMotorVars.Id_A, gMotorVars.Id_A) + _IQmpy(gMotorVars.Iq_A, gMotorVars.Iq_A));

    电机矢量电流 = sqrt ((i_alpha * i_alpha )+(i_beta * i_beta ));

    我的问题是:

    问题1:如何将 “电机矢量电流”转换为  “电机的相电流 ”?

    关于您的描述:  

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3816963 #3816963]3. 应使用峰值电流通过检查 ADC 转换值来实现过流故障保护。 实际上、您还需要添加一些外部比较器来提供保护。[/quot]

    我的驱动器具有硬件故障检测比较器,但我需要的是驱动器中的参数,可以设置为具有灵活的值,以防止“较小的电机转速”损坏。   (例如,驱动功率为10kw,但我们的电机为5.5kw)。

    因此,我应该驱动电流(您提到的是电机相电流),将其与驱动参数进行比较,以获得更高电流中的故障。  

    我希望您理解这是什么意思。

    如果您有任何疑问、请告诉我。

    感谢您的关注。

    Dave。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="356118" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3818178 #3818178"]问题1:如何将 "电机矢量电流"转换为 " 电机的相电流 "?

    为什么不需要将矢量电流转换为相电流? 霍尔传感器感应电流是电机的实际相电流。 您可以直接将采样值用于过流保护、只需将电机的速率电流转换为电机的最大峰值电流即可。 此外、电机制造商还根据其规格提供电机的最大峰值电流。 数据表。

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

    您好、Luo

    [引用 userid="35051" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1028033/tms320f28027f-how-to-monitor-motor-current/3818503 #3818503"]为什么不需要将矢量电流转换为相电流?[/quot]

     您可能知道  驱动器参数中的过流保护参数有时间,例如  ,当6秒驱动器进入过流故障状态后出现过流时。此值可以从1秒设置为60秒,

    具有一个值("DC"  矢量电流 )比3 正弦值容易得多。

    我有一些问题。

    问题1:每个相电流的值都是 正弦值,如何将 正弦值更改为直流值 (以便更易于分析)。

    我想到了两种方式;

    请看一下这张图片。

    这是否适合计算 正弦 相电流的 RMS 值?

    其他方式...

    RMS = Vp-p * 0.3536;

    还有其他方法吗?

    感谢您的关注

    此致。

    Dave。

       

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

    要在逆变器上实现功率器件的过流保护、最好使用采样电流瞬时值。

    是的、您可以使用 RMS 值来限制逆变器或电机的功率输出、而不是过流保护。 您可以 使用 上面提到的第一种方法计算 RSM、方法是在一个周期中使用平均平方根。

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

    尊敬的 Luo

    感谢您迄今为止为我提供的帮助

    最后一个问题  

    正如我在前面提到的、转换 "电机矢量电流"要容易得多、因为我已经拥有它、它 是某种方 形值(它不是正弦值)。

    我有疑问  

    问题1:请仔细查看我的计算结果是否正确。

     将  "电机矢量电流"转换 为"电机相电流"  

    我们应该使用以下公式:

    I (pk)=(电机矢量电流)/sqrt (3);

    I (rms)= I (pk)/sqrt (2);

    例如。

    让我们假设  电机矢量电流 = 6A

    所以  

    I (pk)= 6A/1.7320 = 3.4A

    I (rms)=  3.4A/1.41 = 2.4A

    因此相电流将为2.4A

    我是对的吗?

    感谢您的关注

    此致。

    Dave。

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

    如果要实现精确的值、使用平方根平均值的第一种方法应该更好。

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

    尊敬的 Luo:

    非常感谢您帮助我 获得  我的答案 !

    祝你一切顺利:)

    Dave。