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.

[参考译文] TMS320F28P650DK:UMCL 项目上的电机控制调优

Guru**** 2540720 points
Other Parts Discussed in Thread: SFRA, DRV8353RS-EVM, LAUNCHXL-F28P65X

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1328454/tms320f28p650dk-motor-control-tuning-on-the-umcl-project

器件型号:TMS320F28P650DK
主题中讨论的其他器件:DRV8353RS-EVM、SFRA、 LAUNCHXL-F28P65X

您好!

我正在使用通用电机控制实验室项目、其中包含 f28p65x LaunchPad 和 DRV8353RS-EVM 板。

我按照 SPRUJ26用户指南的说明进行操作、

我已将 DMC_Level1传递到 DMC_Level3、未出现任何问题。

在 DMC_LEVEL4 (9.b. SPRUJ26的第84页)、我有两个问题。

第一个是有一个启动完成的标志、这意味着我无法使用我的电机达到冷启动环路速度控制、而转子继续以非常低的速度旋转。

第二个原因是、当转子持续以极低的速度旋转时、我可以读取的速度值(SPEED_Hz = 0.008 => 0.48rpm)与物理速度(2rpm)之间的换算系数约为4。

我认为我的电机参数(在 user_mtr1.h 中)存在问题。

您是否有详细介绍如何正确设置电机参数以及如何调节控制器的用户指南?

提前非常感谢您的帮助。

大卫

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

    尊敬的 David:

    1.您使用的是有传感器/无传感器的方法吗?

    2.如果您使用无传感器方法、电机参数必须准确才能使速度估算器正常工作、您可以在构建级别2中进行验证。

    3.如果电机参数不可用,则可以尝试运行电机识别。

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

    目前我正在使用无传感器方法。

    在 Level2中、我的电机旋转、但速度不高(Ref_Hz 45100=10、Force_Hz =0.01、物理速度=20rpm)。

    我的电机是一个15极对 PMSM。

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

    在4级识别过程中、似乎无法计算 Ls_d_H 和 Ls_q_H (我获得了9.9999e-07、但物理值为0.00032)。

    但是 RoverL_rps 接近于物理值(Rs_Ohm = 0.18):

    我曾尝试更改 USER_M1_R_OVER_L_EXC_FREQ_Hz 定义值、但没有成功。

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

    尊敬的 David:

    在 LEVEL2中,我的电机旋转但速度不是很好(pris=10,pris=0.01,Ref_Hz 物理速度=20rpm)。Force_Hz [/报价]

    您能解释更多这方面的内容吗? 在屏幕截图中、实际速度似乎与基准速度不匹配。 同时、如果电机极对数为15、假设参考频率为10Hz、物理速度应该为40rpm。

    在4级识别过程中,似乎无法计算 Ls_d_H 和 Ls_q_H (我获得9.9999e-07,但物理值为0.00032)。[/报价]

    您是如何获得物理值的? "Ls_d_H"和"Ls_q_H"应为 d、q 轴上的定子电感。

     谢谢。

    嘉兴市

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

    在2级和3级中、我的电机以20rpm 的物理旋转、speedRef 为10Hz。

    电机制造商在电机数据表中提供了线间电感:

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

    尊敬的 David:

    我的电机在2级和3级时以20rpm 的物理转速运转,速度 Ref 为10Hz。

    可以。 但使用15个极对时、同步速度应该为40rpm。

    电机制造商在电机数据表中提供线对线电感:

    无法从电机规格直接访问等效的"Ls_d_H"和"Ls_q_H"、您需要在 d、q 帧中使用电机的动态模型才能获得这些变量。

    谢谢。

    嘉兴市

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

    我同意速度,这就是为什么我需要你的帮助。

    关于 LD 和 LQ 值、它们通常接近 Ls 或 L0、不可能使 Ls = 0.00032h 且 LD=LQ=9.9e-07h。 如果 LD LQ 低于估算值、我必须调整哪些参数?

    此致、

    大卫

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

    通常为 LD user_motor1.h 输入与 LQ 相同的值。 µH 必须调节(减少)几百 μ H 转子的电感才能在没有振动的情况下达到最高转速。 电机识别过程(LD/LQ)磁通计算的等待时间可能取决于 ADC PPB 和数据窗口组合。  我们必须调整 LD/LQ 磁通等待时间以停止 9.9e-07h、重置默认参数值。

    USER_MOTOR1.c

    pUserParams->LsWaitTime[EST_LS_State_error]= 0;
    pUserParams->LsWaitTime[EST_LS_State_idle]= 0;
    pUserParams->LsWaitTime[EST_LS_State_RAMPUP]=(int_least32_t)(10.0 * USER_M1_ISR_FREQ_Hz);//10.0
    pUserParams->LsWaitTime[EST_LS_State_norm]=(int_least32_t)(25.0 * USER_M1_ISR_FREQ_Hz);//30.0
    pUserParams->LsWaitTime[EST_LS_State_Fine]=(int_least32_t)(25.0 * USER_M1_ISR_FREQ_Hz);//30.0
    pUserParams->LsWaitTime[EST_LS_State_Done]= 0;

    默认值:

    pUserParams->Ls_d_H =(float32_t) 1.0e-6;
    pUserParams->Ls_q_H =(float32_t) 1.0e-6;
    pUserParams->LS_coarseDelta_H =(float32_t) 0.0000001f;
    pUserParams->LS_fineDelta_H =(float32_t) 0.00000001f;
    pUserParams->Ls_min_H =(float32_t) 0.000001f;
    pUserParams->Ls_max_H =(float32_t) 100.0f;

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

    尊敬的 David:

    我同意速度,这就是为什么我需要您的帮助。

    如果构建级别2和构建级别3的速度相同、则构建级别2中的开环控制似乎不能按预期运行、因为实际速度未遵循给定的参考。 您是否验证了构建级别2中的电压和电流反馈信号是否正确、然后继续操作?

    在构建级别2中、您是否修改了电机的 v/f 曲线以匹配您的电机?

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

    非常感谢、现在我在采纳您的建议后、对 LD LQ 有了更真实的价值。

    因此、现在我的电机以闭环速度(4级)旋转、SPEED_Hz 52 Ref_Hz 之后、但是物理速度始终为 speedRef 的一半。 你有什么想法可以解决这个问题吗?

    如何使用 SFRA 工具来调整控制器? 我的项目是通用电机控制实验室、它似乎集成了该工具、但我不知道如何使用它。

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

    尊敬的 David:

    在构建级别2中、您是否检查实际角速度是否与估算的角速度匹配?

       

      在通用电机控制实验中、通过更改编译级别不会直接包含 SFRA 函数、但您可以参考具有 SFRA 编译级别的其他工程、并将函数添加到软件中。

    谢谢。

    嘉兴市

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

    感谢您的回复!

    我使用了 datalog.iptr[0]=motorVars_M1.angleGen_rad 和 datalog.iptr[0]=motorVars_M1.angleEST_rad。

    我没有使用 Graph 工具 Ref_Hz 来查看 DATALOGBuff1和 DATALOGBuff2的内容、但我将它们提取到 Excel 文件中、我确认 angleEST_rad 和 angleGen_rad=30.0是完全相同的@

    但转子的物理速度为60rpm (该电机有15个极对)。

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

    我还看到了使用相同类型的比例因子0.5时的一个奇怪现象。

    我将 USER_M1_PWM_FREQ_kHz 配置为20.0、但我在示波器上看到10kHz 的通信频率:

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

    画面看起来不错。

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

    尊敬的 David:

    让我想想吧。

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

    我有想法。 我想知道我的双重问题是否是由于不良的 CPU 时钟频率设置。 我使用 LAUNCHXL-F28P65X (带25MHz 振荡器)。

    请在我的设置下方找到:

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

    尊敬的 David:

    配置 XCLKOUT 分频系数后、可以通过 GPIO 端口确认 PLL 和 SysClk 速度。

        /* Select XCLKOUT source is SYSCLK */
        SysCtl_selectClockOutSource(SYSCTL_CLOCKOUT_PLLSYS); //SYSCTL_CLOCKOUT_SYSCLK
        /* Set XCLKOUT divider for 25MHz Signal
         * using GPIO_16_XCLKOUT J2-15 */
        SysCtl_setXClk(SYSCTL_XCLKOUT_DIV_4);
        
        // x49C MCU
        // GPIO16->SPIA-SDI for J1/J2 connection
        // XCLOCK_OUT test INTOSC1 J2-pin 15
        GPIO_setMasterCore(16, GPIO_CORE_CPU1);
        GPIO_setPinConfig(GPIO_16_XCLKOUT); //GPIO_16_SPISIMOA
        GPIO_setDirectionMode(16, GPIO_DIR_MODE_OUT);
        GPIO_setPadConfig(16, GPIO_PIN_TYPE_STD);
        GPIO_setQualificationMode(16, GPIO_QUAL_ASYNC);    
        

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

    David:

    您是如何测量以 RPM 为单位的电机实际速度的?

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

    我测量实际速度、以 RPM 为单位、计数转子在一分钟内完成的轮数。

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

    尊敬的 David:

    我没有意识到电机转速有任何问题、因为 估算角度与给定角度彼此匹配。 您可以通过电流波形的频率对其进行仔细验证。 实际的速度 RPM 测量可能有问题。

    谢谢。

    嘉兴市