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.

[参考译文] TMS320F28069F:有关 InstaSPIN 项目和实验用户指南的一些问题

Guru**** 2455360 points
Other Parts Discussed in Thread: MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/787203/tms320f28069f-a-few-questions-on-the-instaspin-projects-and-labs-user-s-guide

器件型号:TMS320F28069F
主题中讨论的其他器件:MOTORWARE

您好!

我对 InstaSPIN 项目和实验室用户指南有一些疑问。

我现在 正在使用 TMDSHVMTRINSPIN 开发套件进行 Lab2a 的工作、以实现自动电机 参数估算。

我们的目标应用是 ACI 电机的无传感器磁场定向控制。

当我完成了与 TMDSHVMTRINSPIN 开发套件一起提供的马拉松电机048T17D2000的 Lab2a 程序时、gMotorVars.Flux_VpHz 的估算参数  约为0.8。

《InstaSPIN 项目和实验用户指南》指出、user.h 文件中 USER_MOTOR_RAGE_FLUX 的电机参数应使用  从 Lab2a 估算出的 gMotorVars.Flux_VpHz 值进行分配。

当我 根据 Lab2a 估算的电机参数分配用户电机参数并随后执行 Motorware 项目时、gMotorVars.UserErrorCode 的变量变为 USER_ErrorCode_MOTOR_ratedFlux_Low。

因此、我分析了 USER_ErrorCode_MOTOR_ratedFlux_Low 的原因、如下所示。

在 Motorware 上的 USER_checkForErrors ()函数中,当 USER_MOTOR_RATEDFlux_Low 小于(USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz/0.05)时,将生成 USER_ErrorCode_MOTOR_RATED_Low 的错误代码。

Lab2a 项目使用的参数如下:

USER_IQ_FULL_SCALE_VOLTAGE_V = 450。

USER_EST_FREQ_Hz=4000。

因此、(USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz/0.05)的值计算为2.25。

相应地 ,在 Motorware 上的 USER_checkForErrors()函数中生成 USER_ErrorCode_MOTOR_ratedFlux_Low 的错误代码,因为0.8明显小于2.25。

现在、我有几个关于这个问题的问题、如下所示:

(1)为什么要将 USER_MOTOR_RAGE_FLUX 的电机参数与(USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz/0.05)的值进行比较?

(2) (USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz/0.05)的值如何与 USER_MOTOR_RATMED_FLUX 的电机参数相关?

(3)为了不生成 USER_ErrorCode_MOTOR_ratedFlux_Low 的错误代码和 MotorWare 工程的步进、我应该怎么做?

感谢您的指导。

此致、

G. Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、我收到了这个问题、并正在努力在接下来的24小时内提供答案

    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    USER_MOTOR_Rated 磁通以 VpHz 为单位、(USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz/0.05)表示硬件磁通测量满量程范围的5%(以 VpHz 为单位)。 低于5%的值将不具有良好的分辨率、因此会进行误差检查。 对于 ACI 电机、应提前计算 USER_MOTOR_RAGE_FLUX、并填入 user.h 电机参数部分。 您可以在示例 ACIM 参数部分中看到计算结果、以 sqrt (2/3)*额定 V (线-线)/额定频率(Hz)为单位。 您是否在运行 lab2之前填充了此值?

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

    尊敬的 Sean:

    感谢您的评论。

    与 user.h 文件中的 USER_ErrorCode_MOTOR_ratedFlux_Low 相关的 C 代码如下:

     if ((USER_MOTOR_RATED_FLUX!= 0.0)&&(USER_MOTOR_TYPE = MOTOR_Type_Induction))
       {
         if (USER_MOTOR_RATED_FLUX >(USER_IQ_FULL_SCALE_FREQ_Hz * 65536.0 /(float_t) USER_EST_FREQ_Hz / 0.05))
           {
             USER_setErrorCode (pUserParams、USER_ErrorCode_MOTOR_ratedFlux_High);
           }

         if (USER_MOTOR_RADED_FLUX <(USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz / 0.05))
           {
             USER_setErrorCode (pUserParams、USER_ErrorCode_MOTOR_ratedFlux_Low);
           }
       }

    相反、我可能会分析它、因为 USER_MOTOR_RAGE_FLUX 应大于或等于 USER_IQ_FULL_SCALE_VOLTAGE_V /(float_t) USER_EST_FREQ_Hz 的20倍。 如果我错了、请告诉我。

     在运行 lab2a 之前、USER_MOTOR_RAGE_FLUX 已填充到 user.h 电机参数部分。

    如您所示,它以 sqrt (2/3)*额定电压(线路)/额定频率(Hz)表示。

    我已附上 以下 user.h 文件的相关部分供您参考。

    我还附加了调试器屏幕的捕获图像、该图像是在完成电机参数识别后生成的。

    请参阅以下内容。

    显示 gMotorVars.Flux_VpHz 被识别为大约0.797。

    我对上面列出的 C 代码有另一个问题。

    可能会生成 USER_ErrorCode_MOTOR_ratedFlux_High 的错误代码、除非 USER_MOTOR_RATED_FLUX 大于或等于 (USER_IQ_FULL_SCALE_FREQ_Hz * 65536.0 /(float_t) USER_EST_FREQ_Hz / 0.05)。

     (USER_IQ_FULL_SCALE_FREQ_Hz * 65536.0 /(float_t) USER_EST_FREQ_Hz / 0.05)的表达式是什么?

    它与 USER_MOTOR_Rated 磁通有何关系?

    感谢您的指导。

    此致、

    G. Kim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以根据报告的误差更改公式中的 USER_IQ_FULL_SCALE_FREQ_Hz 和 USER_IQ_FULL_SCALE_VOLTAGE_V、USER_MOTOR_RATGE_FLUX 和这两个值之间没有准确的关系、这两个值都仅用于提高项目中这两个值的计算分辨率、并将其设置为正确的数字。