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.

[参考译文] TMS320F28069:实验02B 存在问题、电机在识别结束前停止旋转

Guru**** 2553260 points
Other Parts Discussed in Thread: DRV8305

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1107632/tms320f28069-issue-with-lab-02b-motor-stops-spinning-before-the-end-of-identification

器件型号:TMS320F28069
主题中讨论的其他器件:DRV8305

您好!

我最近收购了 GIM 4305电机、在通过实验02B 识别它时遇到了问题。

实际上、当我启用系统并启动电机识别时、电机开始稍微旋转并产生大量振动。 一段时间后、电机停止、但程序不会返回任何差分参数值。 此外、变量 gMotorVars.Flag_Run_Identity 仍为1。
请帮帮我。 这是我的 initcial 参数中的问题吗?

这是我的马达的杆菌场: https://fr.aliexpress.com/item/1005003434502001.html

e2e.ti.com/.../3247.user_5F00_j1.he2e.ti.com/.../5314.user.h

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

    您可以尝试根据电机调整 user.h 文件中的以下识别变量。  在运行该实验以识别电机参数时、不要在电机上添加任何负载。

    #define USER_MOTOR_RES_EST_CURRENT     (1.0)                              // A - 电机额定电流的10-30%

    #define USER_MOTOR_IND_EST_CURRENT     (-1.0)                            // A - 电机额定电流的10-30%、 足以实现旋转

    #define USER_MOTOR_MAX_CURRENT           (5.0)                              // A -  电机额定电流的30~150%

    #define USER_MOTOR_FLUX_EST_FREQ_Hz    (40.0)                           // Hz -电机的10~30%额定频率

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

    你好! 感谢您的回答。
    我确实使用您的参数在没有负载的情况下执行了测试。
    遗憾的是、这不会改变电机的行为。
    此电机具有传动速率(10:1)、这可以解释其行为吗?

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

    不使用我上面提到的参数、您应该根据您的电机设置正确的参数作为上面的注释。

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

    你好! 我使用以下参数来运行实验02B:

    #define USER_MOTOR_RES_EST_CURRENT (0.60)//30% 2A

    #define USER_MOTOR_IND_EST_CURRENT (-0.60)// 2A 的30%

    #define USER_MOTOR_MAX_CURRENT (3.0)//150%的2A 电流

    #define USER_MOTOR_FLUX_EST_FREQ_Hz (30.0)//100Hz 的30%

    使用这些参数、电机仍然会产生很大的振动。 此外,我成功地取得了一些成果,并获得了:

    #define USER_MOTOR_Rs (15、1)

    #define USER_MOTOR_LS_d (4、3E-10)

    #define USER_MOTOR_LS_q (4、3E-10)

    #define USER_MOTOR_RAGED_FLUX (27、3)

    磁通和 Rs 的值看起来非常高、而 LS 参数与我从供应商处获得的数据相差很远

    相间电阻:1,26欧姆

    相间电感:0.51mH

    (使用我尝试过的其他值、我得到的 Rs 值高达50、磁通高达65、而 LSD 和 LSQ 相同。)


    然后、当我尝试将这些值放入实验12a (我的下一步)时、从 user.c 行772到777中得到了 USER_ErrorCode_ctrlFreq_Hz_Low、因为 USER_CTRL_FREQ_Hz <=(USER_MOTOR_Rs /(USER_MOTOR_LS_D + 1e-9)))为 true。

    如何获得正确的值 ?

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

    请参阅实验室指南、使用具有更高 PWM 频率的 lab02c 进行识别。 并不断调整识别参数、以确保电机在识别过程中平稳运行。

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

    您好! 我将 lab02c 与以下参数结合使用:

    #define USER_PWM_FREQ_kHz (45.0)

    #define USER_MOTOR_RES_EST_CURRENT (0.60)

    #define USER_MOTOR_IND_EST_CURRENT (-0.60)

    #define USER_MOTOR_MAX_CURRENT (2.0)

    #define USER_MOTOR_FLUX_EST_FREQ_Hz (100.0)

    并获得以下结果:

    #define USER_MOTOR_Rs (14、37)

    #define USER_MOTOR_LS_d (2、7E-11)

    #define USER_MOTOR_LS_q (2、7E-11)

    #define USER_MOTOR_Rated 磁通(16、38)

    我还尝试了更高的 PWM 频率(高达60)、但它只是增加了电机额定磁通的值。

    使用这些参数、电机在 EST_State_RampUp 的第一个相位中发生振动、但随后在测试中间平稳运行(无论 gMotorVars.Speed_KRPM 的值如何、电机以相同的速度和相同的角度旋转、直至测试结束。)。

    我得到的值仍然太高、无法让我测试实验12。

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

    您可以尝试使用45.0kHz PWM 频率并按如下方式设置 ISR 时钟节拍。 并不断调整识别变量、以确保电机在整个识别过程中平稳运行。

    #define USER_PWM_FREQ_kHz         (45.0)

    #define USER_NUM_PWM_TICKS_PER_ISR_TICK     (3)

    BTW、lab12基于带编码器的传感 FOC。

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

    您好!

    我已经正确设置了这些参数、结果错误。 我还有一个用于测试实验12a 的编码器、但我收到的错误消息是由于实验先例中的错误结果。

    我拆解了电机以拆下齿轮箱部件、并确保电机无负载运行。 不幸的是,这也没有解决我的问题,并且得到了接近300卢比的值。。

    哪些参数会影响 Rs 值、从而将其降低到大约1.2、即供应商提供的值?

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

    您使用的是 TI EVM 套件还是您自己的电路板?

    如果使用 TI EVM 套件、请按照上述方法不断调整识别变量、以便首先在 lab02c 中识别电机参数。

    您有电机的数据表吗? 额定电流和电压是多少? 极对和额定速度?

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

    你好! 感谢您的回答。

    我使用的是 Olimex TMS320-XDS100v3板。

    我将此板的数据表和从供应商处收到的电机文档放在了这里。

    额定电流:2A

    额定电压:24V

    极对数:14.

    额定转速:300转/分

    e2e.ti.com/.../Flasher_5F00_uDriver_5F00_TMS320_2D00_XDS100v3_5F00_UM.pdfe2e.ti.com/.../DatasheetMotor.pdf

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

    抱歉、我指的是用于电机控制的逆变器板是什么?

    您是否在没有任何负载的情况下尝试识别带有 lab02b 的电机? 即使没有齿轮嵌入电机、也是如此?

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

    你好! 是的、我在没有将齿轮箱嵌入电机的情况下尝试了、上周我将其拆解了。

    我使用来自开放源码 ODRI 的板,它是德州仪器(TI)板的小型化版本:带有两个 DRV8305 Booster Pack 的 TI LaunchPad F28069M

    https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware/blob/master/electronics/ti_electronics/README.md#texas-instruments-evaluation-board-electronics

    它们介绍了如何使用实验练习02和12添加新电机。

    https://open-dynamic-robot-initiative.github.io/user_config_f28069m_drv8305/motor_id.html

    我按照 instaspin_lab 和 Excel 电子表格来放置参数。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="523783" URL"~/support/microcontrollers/C2000-microcontrollers-group/CC2000/f/C2000-microcontrollers-forum/1107632/tms320f28069-issue-with lab-02B- motor-stops - tining-Before-end-of the identifications/4106799#4106799"]尽管 Ls 数据与供应商的数据和磁通量值非常接近,但它们看起来与数据的值非常接近[

    您可能需要在 user.h 中为 R/L 测试调整 RS 阻抗 默认 RS 在线频率可能过低、请检查链接以了解信息。

    SPRUHJ1I–2013年1月–2021年10月修订了如何提高 R/L 测试频率。

    BTW:您只使用了30%的电流值、也许首先尝试10%、如果需要、请缓慢减小这些值。 疯狂变量数可能来自用于控制电机 ID 序列状态机的等待计时器。

    新的 MCSDK 发现一个缺失的标头 include 导致在电机 ID 状态机(ctrl.c)中使用 CTRL_NUMSTATES 编译0。 请确保 CCS 可以找到 typedef 源代码、将鼠标悬停在源代码上应展开宏。 等待时间需要根据您的计算机处理器速度进行小调整。 我的计算机 CPU 超过了2.8GHz 4核英特尔的时钟频率、尽管旧版的处理器在大多数软件上仍具有强大的性能。 在 MCSDK 中的底部 user.c 电机 ID 过程中、等待状态机调用有点快。

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

    电机似乎是低电感电机、请查看 InstaSPIN 实验室指南、 尝试先使用 lab02x 识别电机、然后运行 lab12a 识别惯性和摩擦。

    请确保电机和编码器的物理连接均已正确完成、并 在 user.h 中正确设置 USER_MOTOR_ENCODER_LINE_LINESS_LINE_SEGERS_LINESS_LINE_DEPLUGERS_LINESS_SE

    最好以较大增益更改 DRV8305 CSA 的增益、以提高电流采样分辨率、因为电机是低电流小型电机。