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.

[参考译文] TMS320F28379S:滑模观测器库

Guru**** 2522770 points
Other Parts Discussed in Thread: TMS320F28379S, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1202134/tms320f28379s-sliding-mode-observer-library

器件型号:TMS320F28379S
主题中讨论的其他器件: C2000WARE

大家好!

我正在计划将基于 TMS320F28335 系列的旧项目迁移到 TMS320F28379S。  该项目是在50kHz 环路中对两个电机(一个基于 FOC、另一个基于编码器)进行基于 FOC 的控制。  在迁移期间、我会遇到 eSMO_float.lib 问题。  我认为该库是从该线程 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/434527/controlsuite-s-esmo-and-f28335/1578710#1578710中获得的。  我的问题是、对 eSMO_module ((ESMOPOS *)&gSlidingModeObserver)的调用正在花费15us 来执行、而 FOC 算法的其余部分大约为5us。  由于我的环路是20us、因此这会带来问题。  我假设库内部的调用未利用 TMU 或 FPU 硬件加速器。  我是否能够获取此库的源代码?  我知道 C2000Ware_MotorControl_SDK_4_02_00_00有一个较新版本的滑动观测器、但对象似乎不同、由于时间紧迫、我宁愿不必修改代码和调整参数。

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

    您好,Ljubisa,

    请允许我咨询我的高级同事,并在下星期一之前答复你们。

    谢谢。

    嘉兴市

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

    谢谢、嘉兴。 我期待您的答复。  

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

    您好,Ljubisa,

    遗憾的是、.lib 文件中的内容不是公开的。 强烈建议 利用 "C2000Ware_MotorControl_SDK_4_02_00_00"进行针对最近发布的 器件的开发。 eSMO 实现在 MotorControl SDK 中是透明的。

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

    我知道该软件库不是公开的、但我们可以签署您需要的任何 NDA 协议。 如果可能、请告诉我。  

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

    您好,Ljubisa,

    如果有的话、需要通过 TI FAE 申请。 我们仅针对支持的业务机会发布源代码。

    谢谢。

    嘉兴市

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

    尊敬的嘉兴:

     

    在等我听到 FAE 的声音时、我开始从 SDK 移植新的观测器。  但是、我会遇到使用新观测器运行电机的问题。  如果我使用库中的观测器启动电机、我可以调节新的观测器以匹配库观测器的速度、但是如果我尝试仅使用新观测器启动电机、则电机在从开环控制切换到闭环控制时会停止。  我还尝试了在通用库中使用一个示例、当切换到一个闭环时、电机也在那里停止。  是否有任何类似 DMC MATH_eSMOlib.pdf 的文档描述了所有输入、输出和参数?  

    另外、旧库中的 Kslf 参数似乎是根据当前速度进行更新的、但这种情况不再发生。  我不确定这是否是一个关键部分。  另外、似乎有3种不同的速度获取方法(使用反正切方法和 PLL 输出)、但 TI 示例也使用 SPDFR_run 函数来估算速度。  使用这些工具的优点/缺点是什么?  此外、从一些其他 TI 文档(tidube5a.pdf 公式57)中、反电动势计算器会添加 Zalpha 和 beta 项、但代码会减去。  哪一个是正确的?

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

    您好,Ljubisa,

    为了更好地帮助您解决问题、请回答以下问题。

    我开始从 SDK 移植新的观测器。  但是、我会遇到使用新观测器运行电机的问题。

    这个观察员是电机控制 SDK 中通用电机实验室的 eSMO 吗?

    如果我使用库中的观测器启动电机, 我可以调节新观测器以匹配库观测器的速度、但如果我尝试仅使用新观测器启动电机、则电机将在从开环控制切换到闭环控制时停止。

    我对 这个实验过程感到困惑、您能解释更多吗?

    请参阅以下答复。

    是否有类似 DMC MATH_eSMOlib.pdf 的文档描述了所有输入、输出和参数?  [/报价]

    不幸的是、没有类似的文档。  

    此外,旧库中的 Kslf 参数似乎是根据当前速度更新的,但这种情况不再发生

    Kslf 不需要更改。

    此外,似乎有3种不同的方法来获得速度(使用反正切方法)和 PLL 输出,但 TI 示例也使用 SPDFR_run 函数来估算速度。

    SPDFR_run ()通过 PLL 计算速度,它是增强型 SMO 算法的一部分。

    另外从一些其他 TI 文档(tidube5a.pdf 公式57)中、反电动势计算器正在添加 Zalpha 和 beta 项、但代码会减去。  哪一个是正确的?

    请遵循示例代码、文档将在稍后更新。

    谢谢。

    嘉兴市

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

     

    嘉兴滕 对 TMS320F28379S:滑模观测器库进行了回复

    您好,Ljubisa,

    为了更好地帮助您解决问题、请回答以下问题。

    Ljubisa Milojevic 说:

    我开始从 SDK 移植新的观测器。  但是、我会遇到使用新观测器运行电机的问题。

     

    这个观察员是电机控制 SDK 中通用电机实验室的 eSMO 吗?  是的、我遵循了电机控制 SDK 中的示例。

    Ljubisa Milojevic 说:

    如果我使用库中的观测器启动电机、我可以调节新的观测器以匹配库观测器的速度、但是如果我尝试仅使用新观测器启动电机、则电机在从开环控制切换到闭环控制时会停止。

    我对 这个实验过程感到困惑、您能解释更多吗?

    正如我在第一篇文章中所说的、我将移植使用 eSMO_float.lib 的旧工程。  是之前版本的 eSMO 观测器吗?  该库运行良好、但执行时间可能需要太长、因为它是为不同的处理器系列编译的。  我添加了通用电机实验室中的 eSMO、以观察行为、而原始 eSMO_float.lib 用于估算转子角度和速度。  我可以调整 SDK eSMO 参数以匹配电机的运行速度、但速度的任何阶跃变化都非常不稳定、并且看起来在运行一两秒钟后开始向下漂移。  如果我尝试仅使用 SDK 观测器来运行电机、电机将在从开环转换为闭环时停止。  我还注意到、当电机失速时、观测器估算的速度非常接近参考速度。

    请参阅以下答复。

    Ljubisa Milojevic 说:

    是否有任何类似 DMC MATH_eSMOlib.pdf 的文档描述了所有输入、输出和参数?  

    不幸的是、没有类似的文档。  

    Ljubisa Milojevic 说:

    另外、旧库中的 Kslf 参数似乎是根据当前速度进行更新的、但这种情况不再发生

    Kslf 不需要更改。

    Ljubisa Milojevic 说:

    另外、似乎有3种不同的速度获取方法(使用反正切方法和 PLL 输出)、但 TI 示例也使用 SPDFR_run 函数来估算速度。

    SPDFR_run ()通过 PLL 计算速度,它是增强型 SMO 算法的一部分。

    Ljubisa Milojevic 说:

    此外、从一些其他 TI 文档(tidube5a.pdf 公式57)中、反电动势计算器会添加 Zalpha 和 beta 项、但代码会减去。  哪一个是正确的?

    请遵循示例代码、文档将在稍后更新。

     我遵循了示例代码。  我曾尝试在库中运行一个启用 MOTOR_eSMO 的示例、但结果是一样的、速度估算也随处可见。 我有一个电感非常低的电机、可能导致该观测器的稳定性问题。   

    谢谢。

    嘉兴市

     

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

    您好,Ljubisa,

    当前电机控制 SDK 中的 eSMO 是从旧 SDK 迁移的。 观测器似乎不稳定、因为估算的速度在阶跃变化后无法收敛到实际速度。 请确保您的电机模型准确、并参考  tidube5a.pdf 中的第3.3.4.6节 来调整 FOC 参数。

    谢谢。

    嘉兴市