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.8027万F:高速~1kHz功能时的电流峰值和大失真

Guru**** 2589300 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/653591/tms320f28027f-current-spikes-and-large-distortion-at-high-speeds-1khz-fundemental

部件号:TMS320F2.8027万F

您好,

我们将在2.8027万F处理器上使用InstaSPIN-FOC创建一个自定义主板。  在我们的启动过程中,大多数情况下一切都正常,但我们在极高的速度下会遇到一些相当严重的电流峰值和失真。  我们需要的最高运行速度是1.3kHz。  但是,当我们达到1kHz时,我们开始看到一些非常糟糕的电流峰值,这些峰值使我们无法在速度和扭矩方面进一步提高电流。

下面是一些示波器镜头:

约670Hz时的良好电流:

电流峰值开始- 1kHz

~1.1kHz时的电流峰值和失真

其他一些信息:

切换速度:45kHz,ISR和估算器- 15kHz,额定直流总线24V,最大电流33A峰值,20A连续。

电机参数:  

#define user_motor_type          motor_Type_pm       // Motor_Type_pm (所有同步:BLDC,PMSM,SMPM,IPM)或Motor_Type_感 应(异步ACI)
#define user_motor_NUM_pole_pairs    (2)            //线对,而不是总极。 仅用于根据转子Hz计算用户RPM
#define user_motor_rr           (空)          //仅感应电机,否则为空
#define user_motor_Rs           (0.02)          //从规格表...
#define user_motor_ls_d          (0.0.0045万)        //对于PM,  (Henry,float)
#define user_motor_ls_q          (0.0.0045万)        //对于PM,  (Henry,float)
#define user_motor_rated流量       (0.0.04313278亿)       //从规格表中,使用1024作为参考,应识别... 已识别转子和定子之间的总通量连杆(V/Hz)
#define user_motor_magniting_current (空)          //仅感应电机,否则为空
#define user_motor_RES_EST_Current   (2.0)(#define user_motor_RES_EST_           //电机ID期间,用于Rs估计的最大电流(安培,浮子),10 20 % 额定电流
#define user_motor_IND_EST_current   (2.0)          //在电动机ID期间,用于LS估计的最大电流(负电流,浮子)仅需使用足够的电流即可启用旋转
#define user_motor_MAX_current      (15.0)           //严重:在ID和运行时使用,设置所提供的速度PI控制器到IQ控制器的最大电流命令输出限制
#define user_motor_flue_EST_FREQ_Hz   (200.0)          //在马达识别过程中,最大指令速度(Hz,浮动),额定~Ω 10 %

降低直流总线电压对电流峰值/失真有积极影响,但即使降至最低,也不能完全消除此问题。  这让我相信这是一个与噪音有关的问题。  我认为这促使我看一下电压滤波器极。  在过去(非instaSPIN驱动器),我总是将电压滤波器的电位设置在基本速度和切换速度之间。  在这里,我按照同样的逻辑将电极设置为1.9kHz。  但是,instaSPIN手册中说,电极可以更强(低至基本频率的25 %)。  你们认为这值得追求吗?还是你们在示波器/电机设置中看到了其他内容?

谢谢!

Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于低速和高速,您最好使用不同的KP&KI速度和电流PI调节器,根据您的系统为不同的运行情况调整这些PI参数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    延明

    感谢您的快速回复! 我们将首先研究PI收益。

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

    调谐如何? 您是否解决了问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    延明

    感谢您重新访问并检入此线程。

    不幸的是,这一问题尚未解决。  PI增益似乎不会导致此问题。  我绝对可以通过增加P端子5-10x来使问题变得更糟,但越低对波形的稳定性没有重大影响。

    是否有任何想法或需要检查的方面?

    谢谢!

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    user.h中的user_adc_full比例电流A和user_voltage_pole_Hz是什么? 您是否可以尝试在低负载下高速运行电动机? 当前的波形是什么? 您需要增加USER_MOTOR_MAX_CURRENT,以输出足够的扭矩电流来实现高速。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否要更新您的问题? 如果有任何疑问,请告知我们。 如果您对此帖子没有任何疑问,我们将关闭此主题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    延明

    很抱歉耽误你的时间,我不知怎么地错过了你的最后一条评论。

    这里有大量的可用电流,限值设置为15A,这是无负载旋转(与电机相连的35:1齿轮箱除外)。

    User_ADC_FULL比例电流A为80.300

    user_voltage_filter_pole_Hz是1908.11

    我们尝试达到的速度是它们的绝对最大速度。 这意味着我们不需要产生大量的扭矩,因为BEMF/蓄电池电压将会限制此值。 但是,控制器在这里运行时必须保持稳定,因为它可能是一个相当常规的操作点。

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

    似乎user_voltage_filter_pole_Hz对于此应用来说过高,您可以尝试更改滤波电容器,将滤波器的切断频率设置为500~1000Hz。

    请检查gMotorVars.Vs,如果gMotorVars.Vs等于USER_MAX_VS_MAG_PU,则您可能必须增加直流总线电压或实施场弱化控制。

    //读取每个单位的Vd和VQ矢量
    gMotorVars.Vd = CTRL_getVd_Out _PU (ctrlHandle);
    gMotorVars.VQ = CTRL_getVq_out _PU (ctrlHandle);

    //按单位计算矢量vs
    gMotorVars.vs =_IQsqrt (_IQbumpy (gMotorVars.Vd,gMotorVars.Vd)+_IQbumpy (gMotorVars.VQ,gMotorVars.VQ));