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:MATLAB MCB_EQEP_FOC_EXAMPLE、从开环切换到闭环驱动 DRV8305 至 FAULT

Guru**** 2826855 points

Other Parts Discussed in Thread: LAUNCHXL-F28069M, DRV8305, MOTORWARE, C2000WARE, DRV8320

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1624161/tms320f28069-matlab-mcb_eqep_foc_example-switch-from-open-to-close-loop-drive-drv8305-to-fault

器件型号: TMS320F28069
Thread 中讨论的其他器件: DRV8305、LAUNCHXL-F28069M、 MOTORWARE、C2000WAREDRV8320

嗨、伙计们、
我只是尝试使用 F28069M MCB_eQEP-Example 的示例与立方体电机。
正如标题所说,电机在启动时运转良好,几乎是一个完整的旋转。
但从我在主机(Simulink 打印信号)中看到的、当“enabenecloop"切“切换到 1 时、电流会突然增加、这对我来说不像是过电流、drv8305 应该能够处理更多的问题。 但是、电机会以较大的“粘滞“停止、DRV 会出现故障。
我已经检查并检查了我的参数、我的编码器信号看起来不错、Simulink 图中的当前信号也可以正常工作。
我可以在这里查看的一些提示?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jean:

    由于电机在开环中运行、然后在 enable ecloose 改变状态时发生故障、因此首先要验证的是实际置位了哪个 DRV8305 故障。 在 DRV8305 上、多种保护功能可以将 nFAULT 拉至低电平并关断栅极 VGS 驱动器、包括 VDS 过流、栅极驱动故障(与 UVLO/TDRIVE 相关)、低侧拉电流过流和 UVLO/电荷泵故障。 故障源在 SPI 状态寄存器中报告、因此在事件发生后立即读取这些寄存器将告诉我们这是实际过流还是在转换期间触发的其他保护机制。

    如果故障恰好在开环到闭环切换时发生、则最常见的原因是控制器由于位置/角度不匹配或编码器偏移/符号问题而进入闭环。 在这种情况下、FOC 环路可能会突然控制一个产生扭矩的大电流阶跃、这样即使主机图中显示的平均电流看起来并不极端、也可能触发 DRV8305 保护。 这是 MATLAB 实施的一个示例、他们应该能够添加更多详细信息。

    此致、

    Masoud

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

    尊敬的 Masoud:

    当然、我也有疑虑和角度不匹配、但我不理解如何? 我检查了编码器设置。 无论如何、我将再次检查错误。 但我很确定它是什么。

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

    正确的调试方法是将开环和闭环角度引入 DAC 输出、并保存到缓冲区中、以便在转换期间查看是否存在任何不匹配情况。

    此致、

    Masoud

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

    您好 Massoud、
    所以我一直在 Matlab 论坛上、得到了几乎相同的回复。 故障是“高侧 VGS A 的 MOSFET 栅极驱动故障“。

    但我一直在进行一些其他测试、结果却不尽相同。 我移除了当前 PID 输入并强制 A Vq =CST 且 A Vd=0。 我期望电机平稳运行、但这是我得到的结果。

    假设下面的 Cercle 代表转子的可能位置(您也可以考虑圆周):
    • 在红色部分时、转子会自动旋转、直至到达黄色部分的边界、按照图中提到的扭矩方向:此处的扭矩最强。 所以基本上,如果我把转子放在某个地方,它会自动旋转,找到自己在红色和黄色之间的圆柱上。
    • 蓝色部分与红色部分具有相同的行为、预计扭矩低于 T1、召回速度较低。 在蓝色部分的任何地方、再次将转子摆动、使他回到蓝色和黄色之间的前面。
    • 黄色零件是“非扭矩零件“。 没有弹簧效应、没有用于重新定位转子的扭矩、并且扭矩最低。 如果闭环在转子在那里时启动、它将不会移动。
    我开始认为这是电机的一个机械问题。
    我可以尝试 TI 制作的 FOC 示例、因为我更精通 C 和 C++、但整个框架太旧了、编译器也太旧了、我无法用传感器运行示例。

     

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

    尊敬的 Jean:

    您描述的行为(扭矩仅存在于某些转子扇区中,而在其他转子扇区中较弱或不存在)与其中一种情况下的电角或编码器偏移失配一致。 扭矩在很大程度上取决于位置、在开环到闭环切换时、您可能会突然出现电流跳跃。

    此外、这可能是由于一个逆变器桥臂未正确开关所致。 如您所述、由于报告的故障是专门在高侧 A 相上发生的、因此 A 相也可能间歇性缺失正确的高侧驱动。 如果一个相位未正确驱动、旋转电压矢量会崩溃/失真、电机可能会精确显示此类优选扇区行为。

    我先从 A 相高侧栅极驱动路径问题开始调试、而不是从电机本身问题开始调试。

    您使用的器件 (F28069) 是旧版器件、因此编译器和其他 SDK 不会更新。 是否可以继续使用较新的器件? 我们可以帮助您在新一代产品中更快地在闭环中旋转电机。

    此致、

    Masoud

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

    尊敬的 Masoud:

    只要它在我的价格范围内,我愿意跟随 Along。  
    我也有 F280049C 的发射 XL。由于我在欧洲,这些是我可以通过 Mouser 或 Radiospares 快速获得的。

    此致、

    Jean

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

    但是、如果是传感器或 DRV 问题、我无法理解切换到更新的 MCU 会有何帮助。

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

    Jean、

    具有 F28069M 的 MCB_eQEP-Example 由 Math Works 设置、因此我无法对其进行具体注释。 我只能分享一些一般的调试技巧。

    在成本方面、F28069M 批量购买时、与较新的几代产品相比、价格往往更高。

    您可以在我们的 通用电机控制中查看受支持的 MCU + EVM 组合。 我们预计、通过适当的调优、您将能够在几分钟内实现无传感器或使用传感器运行。

    此致、

    Masoud

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

    Masoud、

    感谢您的答复。 我认为我会将 Matlab 问题留在 MATLAB 论坛上。 我将再次尝试使用 TI 原生解决方案。  
    我读了论坛相当多,我看到,对于那些对运动控制感兴趣的人(这是我的情况下,在一天结束),最好从 instaSPIN 运动开始。 新的微控制器不 会为此提供如此灵活的解决方案 (F28002x、F28003x.F2800137)。 是这样吗?

    此外、我已经为 instaSPIN Motion 请求了材料、因此预计不会产生额外费用。

    我记得上次我尝试使用 instaSpin GUI 时遇到了困难。 但是,即使它是老的 ,我希望我可以指望 T.I.支持我这一次。

    此致、

    Jean。

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

    尊敬的 Jean:

    InstaSPIN-MOTION 与较旧的 F2802x/F2805x/F2806x 系列和 MotorWare 环境相关、LAUNCHXL-F28069M 将 InstaSPIN-FOC / InstaSPIN-MOTION 识别为平台。 同时、在当前的 C2000 软件中、MotorWare 标记为旧版软件组件、预计不会对 MotorWare 进行进一步修订。 对于较新的器件、我们建议 改用 C2000Ware MotorControl SDK。

    因此、如果您的应用特别受益于旧的 InstaSPIN-MOTION 工作流程、并且您已经拥有了所需的硬件、那么现在使用 F28069M 是有意义的。 但我认为、这是一条传统支持的道路、而不是新发展的长期方向。

    对于新设计、电流更大且需要主动维护的路径是 F28002x、F28003x 和 F280013x 等新型 C2000 器件上的 MotorControl SDK。  我们在较新的器件 (包括通用电机控制实验室和有传感器/无传感器示例)中提供了更好的支持和文档。

    我们仍然有关于 InstaSPIN-MOTION 的文档、实验室和 E2E 历史记录、但由于它是一款传统产品、因此与基于 SDK 的当前流程相比、持续增强的深度自然更为有限。

    此致、

    Masoud

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

    尊敬的 Masoud:

    好的、我只有 2 个问题:

    -新的电机控制 SDK 能否适应 F28004x + DRV8305EVM ? 还是最好切换到整体测试的 Kitt? 我是否还应该获得经测试的电机之一?

    -新的 C2000Ware MotorControl SDK 是否有带传感器位置控制的工作示例?  

    此致、

    JFA

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

    -新的电机控制 SDK 能否适应 F28004x + DRV8305EVM ? 还是最好切换到整体测试的 Kitt? 我是否还应该获得经测试的电机之一?

    总体而言、SDK 中的代码是模块化的、如果使用自定义组合、则必须遵循迁移指南。 经过测试的套件可以让您的生活更轻松。

    您不仅限于经过测试的电机。 您需要调整电机参数。

    -新的 C2000Ware MotorControl SDK 是否有带传感器位置控制的工作示例?  

    是的。

    此致、

    Masoud

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

    尊敬的 Masoud:

    只需告知您、我的 SDK (5.04.00.00) 中没有位置控制示例。 所有伺服示例仅处理。

    此致、

    JFA

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

    此 SDK 中有许多含霍尔传感器的电机控制示例、带有 eQEP 的增量编码器、不同的绝对编码器。 我建议使用通用电机控制、它同时支持有传感器和无传感器控制。

    此致、

    Masoud

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

    您好 Massoud、

    好消息是、我设法找到了罪魁祸首、并在 Matlab 中使转子旋转。 eQEP 中的行数设置为 512、而设为 500。 这意味着我的转子磁场在某一点上正与我的定子磁场正交缠绕在一起、在定子的后面注意到并相信它仍然在 90°。

    缺点是我甚至无法使 motorSDK 5.04.00 正常工作、即使是在开环中使用我的 280049 和 osstxl drv8320、因此我通过 F28069 和 DRV8305 切换回旧的 instaSpin FOC/Motion。 我设法使一切工作无传感器,现在我正在调试 lab12a 因为我的电机甚至不旋转,我得到了 ErrorID 2004。 在这里,转子似乎在一个非常小的步骤后与定子对齐(如设定点被放在 id 而不是 iq )我承认,我会感激一个快速的提示之前,我开始挖掘过多的代码。

    此致、

    JFA

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

    您好 Jean、

    我很高兴听到您发现了这个问题!

    关于 lab12a、我搜索了“ErrorID 2004“、但没有找到任何内容。 该实验用于使用 SpinTAC 测量惯性、它在 14 年前(如文件开头所述)得到了第三方的支持。 正如我们所说的,我们放弃了对 InstaMOTION 的支持,所以你需要查阅我们的文档,了解更多信息。

    对于 motorSDK 5.04.00、请尝试我们讨论过的任何有效组合、我们可以帮助解决出现的任何问题。

    此致、

    Masoud