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.

[参考译文] TMS320F2809:希望将电机控制软件从数字电机控制迁移到 C2000Ware MotorControl SDK

Guru**** 2782625 points

Other Parts Discussed in Thread: TMDSCNCD280049C, TMS320F280049C, TMS320F28P550SJ, TMS320F2809, TMDSHVMTRINSPIN, C2000WARE, SYSCONFIG, TMDSADAP180TO100, TMS320F28P550SG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1604625/tms320f2809-looking-to-migrate-motor-control-software-from-digital-motor-control-to-c2000ware-motorcontrol-sdk

器件型号: TMS320F2809
主题中讨论的其他器件: TMDSHVMTRINSPINC2000WARESysConfig、TMS320F280049C、TMDSCNCD280049C TMDSADAP180TO100TMS320F28P550SG、TMS320F28P550SJ

我一直在维护一个基于 C2000 的工程、在该工程中、我们尝试控制高压三相 BLDC 电机、并且在使电机在各种运行条件下良好运行时遇到了问题。

该项目目前托管在 TMS320F2809 CPU 上、电机控制最初是使用数字电机控制 2.0 库实现的。  电机只需以速度模式运行;无需位置控制。

通过我们当前的设计和使用 DMC 库、我们可以让电机运行、但不能在所有工作条件下运行、我们遇到了许多与参数转动相关的问题。  因此、我们购买了 TMDSHVMTRINSPIN 控制套件并使用提供的 GUI 配置了电机、而且使用内置的 InstaSpin 功能在我们的大多数运行条件下都能轻松实现所需的结果。

由于我们能够在 TMDSHVMTRINSPIN 控制套件上轻松配置和运行电机、因此我们非常倾向于将开发迁移到支持 Instaspin 的 CPU(正在等待确切模型)并转换到 C2000Ware MotorControl SDK、该 SDK 似乎是用于电机控制/InstaSpin 开发的最新 SDK。  在我们承诺做出任何更改之前、我们确实有一些问题/顾虑。

1) 我们的第一个问题是,将我们的项目迁移到新芯片组/SDK 的最佳方式是什么?  我们已经开始研究 MotorControl SDK、它需要比旧的 DMC 库更多的开销/设置、我们仍在尝试了解它的工作原理和系统所需实现的内容。

2) 是否有一个代码示例/实验为我们的开发提供了一个合理的起点?  我们已经开始研究通用 MotorControl 实验、但却很难尝试确定系统具体所需的内容、以及如何将代码的非电机控制部分迁移到其中。

3) 一个更一般的问题是 InstaSpin 或 MotorControl SDK 是否提供了一种为电机实现相位超前的机制,因为这是某些速度/负载条件实现最佳性能所必需的。

4) 默认情况下、在 TMDSHVMTRINSPIN 控制套件上对哪个软件构建进行编程?  为了开发目的而尝试重新编程是有点犹豫的、直到我们知道它上的当前内容、这样我们就可以在对它进行任何测试后将其恢复到已知状态。

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

    尊敬的 Daniel:

    由于 F2809 器件具有与所有新 C2000 器件相同的基本 C28 CPU 内核、因此 F2809 上的 C 代码和汇编代码应保持原样、在新器件上不会出现问题、除了外设相关软件之外。

    对于 CAN 等通信外设、建议使用新的 SDK 驱动程序库 API 重新创建外设软件、以尽可能减少工作量。 对于 ADC/PWM 等控制外设、只需略微更改几个寄存器、我们主要是使所有外设向后兼容、您可以使用 GUI 界面 sysconfig 和 driverlib 为新器件重新创建控制外设设置、或者保留位域程序样式。 我们有客户同时使用这两种方法或结合使用这两种方法。

    Han

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    3) 一个更一般的问题是 InstaSpin 或 MotorControl SDK 是否提供了一种为电机实现相位超前的机制、因为这样做对于某些速度/负载条件来说是实现最佳性能所必需的。[/报价]

    示例软件中的 InstaSPIN FOC 是 PMSM/BLDC 的无传感器位置估算器、可为您提供速度和位置估算。 如果您想进行角度预测、可以在输出之上实现。

    4) 默认情况下、在 TMDSHVMTRINSPIN 控制套件上对哪些软件版本进行了编程?  为了开发目的而尝试重新编程是有点犹豫的,直到我们知道它的当前内容,这样我们就可以在对它进行任何测试后将其返回到已知状态。[/报价]

    我不相信这是一个大问题。 所有软件都是开源的、无需保留。

    总的来说、我们强烈建议您考虑一些新的器件、以便为相同的性能提供更好的支持和更低的成本。

    Han

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

    另一个问题:我们将重新调整电路板设计、并观察到我们的旧电路板有很多信号调节电路、任何 TI 参考设计中都不存在。  我们使用的任何信号调节是否会导致与 InstaSPIN FOC 出现任何问题/冲突、或者在重新设计电路板时是否应该考虑到这一点?

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

    尊敬的 Daniel:

    是想保留自己的算法、还是要采用 TI 的 InstaSPIN FOC 解决方案? 如果您想了解我们的解决方案、强烈建议遵循相电压/电流反馈信号链中的设计。 如果您具有不涉及电流反馈滤波的信号调节功能、但它不应该产生影响、主要是滤波器。

    Han

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

    我们希望采用 InstaSPIN FOC、因为我们以前使用数字电机控制库的解决方案在所有运行条件下都无法提供良好的性能。

    我们测试了 InstaSPIN 在  TMDSHVMTRINSPIN 套件上的运行情况、它或多或少都没有任何改善。

    因此、我们的长期目标是围绕支持 InstaSPIN 的 CPU(我们倾向于 TMS320F280049C)重建硬件和设计、使其具有与我们旧实现 TMS320F2809 相同的最低功能集。

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

    一个有希望的最后一个问题:

    我们基本上已经决定最终设计将采用  TMS320F280049C 作为我们的 CPU 选择。  我们注意到、 TMDSHVMTRINSPIN 套件 列出了对 TMDSCNCD280049C controlCARD 的支持、这将大大简化我们的开发。

    我只想确认一下、我们可以    使用 TMDSADAP180TO100 适配器将 TMDSCNCD280049C controlCARD 与 TMDSHVMTRINSPIN 套件配合使用、而不会出现问题。

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

    是的、这就是我们经过测试的用例。 但是、对于新设计、您还可以考虑使用 一些较新的器件、如 F280039C 和 F28P65x。 基于 InstaSPIN FOC 的示例解决方案可在以下位置找到。 谢谢。

    C:\ti\c2000\C2000Control_SDK_5_04_00_00\solutions\universal_motorcontrol_lab Ware_Motor

    Han

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

    由于不支持 InstaSPIN、我们排除了 F280039C 等器件。  我们 在评估过程中确实考虑了 TMS320F28P550SG 和 TMS320F28P550SJ、因为它们都满足了最低系统要求;  在我们的最终设计中使用 TMS320F280049C 是否有任何优势?

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

    所有器件均支持 InstaSPIN、包括 F280039C。 如果您希望  TMS320F28P550 器件具有更高的存储器和性能、它也是一个不错的选择、可提供比 F280049C 更高的性能。

    如果 F280039C 具有足够的资源(存储器/MIPS)、那么它可能是您的理想选择。

    Han

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

    我将后退一两步一秒钟。  我们当前的发展计划如下所示:

    • 将我们当前在 F2089 上运行的代码移植到新的 CPU 目标上
    • 将旧的 DMC 库替换为 InstaSPIN-FOC 和/或 InstaSPIN-MOTION
    • 对于初始开发、我们计划将  TMDSHVMTRINSPIN 与与目标 CPU 等效的 controlCARD(控制卡)一起使用来验证系统
    • 在我们在整个工作范围内验证预期的电机控制后、我们将生产一个具有代表性的生产系统、并验证电机在我们的生产硬件上是否按预期运行

    现在、正如我所理解的(如果有误,请纠正我)、InstaSPIN-FOC 依赖于 FAST 观测器(它是 ROM 的一部分、在选定数量的 CPU 上运行)、而 InstaSPIN-FOC 可以在任何地方运行。  我们计划使用 InstaSPIN-FOC、因为我们能够通过 TMDSHVMTRINSPIN 套件来测试/验证目标电机的正确运行、尽管我们还计划添加一个 eSMO 作为替代实现方案、如果不需要花费大量额外的精力来进行编码、则该实现方案可以作为替代实现方案。  但目的是使用 InstaSPIN-FOC 作为我们的控制实现。

    因此、我们选择的 CPU 仅限于具有与 F2809 相同最小功能集的 CPU、同时还提供 InstaSPIN-FOC 支持。  我们重点介绍 F28P550SJ 和 F280049C、因为这两个 CPU 均符合我们的特性/性能标准。

    在温度/热阻方面、我们还存在其他问题。  请注意、我们的系统将在对温度敏感的环境中运行。

    我们两个 CPU 都缩小了选择范围、使结至外壳热阻比我们当前使用的 F2809 更差; 我们当前使用的 TMS320F2809PZS 具有 7.06°C/W 的结至外壳热阻、其在系统内耗散的功率略小于 0.5 瓦。   TMS320F28P550SJ 的 结至外壳热阻为 11°C/W、 TMS320F280049C 的 结至外壳热阻为 7.6°C/W。   两者都具有更大的热阻、并存在在测试期间超过绝对最大温度的风险。  假设这些新型芯片的性能比原来的 2809 芯片更高效、耗散的功率更少、是否安全?

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

    尊敬的 Daniel:

    为了进行澄清、对于我们前面讨论的所有新器件(例如 F28P55x)、InstaSPIN FOC 是一个预编译的库、您可以将其链接到工程中。

    在热性能方面、新器件的功耗要低得多、所有这些都记录在数据表中。 F28P550x 器件在最高工作温度下的最大功耗小于 0.43W。

    Han

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

    一个(希望)最后问题:

    我们最终意识到,我们可以在较新的电路板上使用预编译的库,现在主要倾向于 28P650SH。  我们只需确认、我们可以使用相应的 controlCARD (https://www.ti.com/tool/TMDSCNCD28P65X)、并通过 TMDSADAP180TO100 适配器将其与 TMSDHVMTRINSPIN 套件配合使用、而不会出现任何问题。

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

    尊敬的 Daniel:

    对于 F28P65x 上的 InstaSPIN FOC 示例、您可从下面的解决方案中找到示例。 然而、我们仅在低压电路板上进行了测试、并未使用您建议的电路板对代码进行测试。

    C:\ti\c2000\C2000Control_SDK_5_04_00_00\solutions\universal_motorcontrol_lab\f28p65x Ware_Motor

    总的来说、我认为您建议的 EVM 组合可提供支持没有问题。 请通过 查看适配器和 EVM 之后的 controlCARD(控制卡)之间的引脚排列、再次确认您要寻找的引脚排列是否符合要求。 很可能不会有任何问题。

    Han

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

    请查看所附 F28P65 controlCARD 的 100 引脚引脚引脚排列信息。 谢谢。

    Hane2e.ti.com/.../F28P65_5F00_controlCard_5F00_100pin.pdf