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.

[参考译文] TMS320F28054M:TMS320F28054M

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/967043/tms320f28054m-tms320f28054m

器件型号:TMS320F28054M

我有一个奇怪的问题。

我有一个围绕基于28054M instsaspin 的处理器设计的定制硬件和软件。 我已在代码中移植了必要的代码来防止过调制 lat10b。 使用的调制指数为0.6666、以获得最大交流电压。 PWM 会达到最高和最低 PWM 脉冲按预期消失的程度、并且在调试器打开时电机运行完全正常。 但是、当我取出调试器并让电机自行运行时、它开始消耗相当大的电流并产生很大的噪声。 在这种情况下、电机中也会出现电流尖峰。 如果我将调制指数限制在0.56666以下(当所有 PWM 都按预期放置时)、则无论调试器是否处于天气状态、电机都能正常运行。 我对此感到困惑。 有人能解释一下为什么会发生这种情况吗? 调试器打开或其他状态时、执行中会发生什么变化?

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

    这是正常情况、如果 USER_MAX_VS_MAG_PU 设置为高于0.577的值、则使用电流重构进行过调制需要高质量的电流感应信号。 对于 您的电路板、似乎您必须将 USER_MAX_VS_MAG_PU 限制为低于0.5777的值、或者限制 PWM 占空比以确保能够正确采样电流。

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

    好的、非常感谢、但我仍然很困惑、为什么当我通过调试器进行控制时它工作正常、以及为什么当我使它独立运行时它失败?

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

    当它独立运行时、您意味着它失败了什么? 请详细说明上述问题吗?  

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

    尊敬的 Yanming:

    当我将调制指数设置为0.6777时、空间矢量按预期在"六角"上移动。 我可以看到-其中一个相位完全触发并保持高电平、另一个相位完全变为低电平、第三个相位从零变为满、这会在相位之间保持交替。 转速从大约3000rpm (0.5rpm 调制指数)增加到大约3800rpm。

    在芯片自身运行的情况下、基于霍尔传感器的示波器探针上的电机电流具有持续时间少于一个周期的电流尖峰、电机产生可闻噪声。

    如果我使用调试器、电流很平滑(无尖峰)、并且电机没有这个可闻噪声。 电机确实达到3800rpm、观察点火脉冲、可以看出正在发生过调制。  

    1.我认为您对当前反馈的评估是正确的,但我对调试器打开时为什么不出现这种现象感到困惑...

    2.能否使用压摆率更高的运算放大器来提高电流反馈质量?  

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

    1.您是否意味着在不连接仿真器的情况下独立运行闪存中的程序? 您是否将 ISR 中的所有代码配置为在 RAM 中复制和执行?

    2.是的、这可以提高信号转换和采样速度。  

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

    1.是的、我复制了 RAM...in 行中的中断代码以及所有其他 instaspin 实验。

    如果我将调制指数保持在0.577以下、通过设置较低的目标速度使实际调制指数不超过0.577、或者通过将调制指数的最大限制设置为0.577、则代码在独立模式下运行良好。 仅当实际调制指数超过0.577值时、它才会发生错误。  

    0.577的调制指数是一种交叉值(如 SVM 六角形中预期的那样)、其中适当的六角脉冲连续保持高电平和低电平、而不会以我认为预期的相反方向切换状态。 发生这种情况时、电流尖峰会在独立模式下出现、但是在调试模式下、电机正常运行!

    在调试模式下、调制指数值不存在问题。

    由于调试、电流采样瞬间在调试和独立模式下是否会发生轻微偏移、这可能有助于调试模式获得更好的电流反馈?

    2.您能不能。 向我提供可能发生的情况以及我可以检查的情况的提示?

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

    1.在 CCS 调试中运行编码器与在不连接仿真器的情况下独立运行闪存之间没有区别。 在闪存中独立运行代码时、请确保所有相关变量初始化为零或正确的值。

    请参阅 《InstaSPIN-FOC 和 InstaSPIN-MOTION 用户指南》(修订版 H) http://www.ti.com/lit/ug/spruhj1h/spruhj1h.pdf 的第17章

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

    您好,

    您是否解决了此问题?

    我遇到了与您相同的问题。 我只需在论坛上添加新主题

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/970600

    此致

    箭头

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

    如上所述、确保闪存等待状态配置正确、相关变量设置为正确的初始化值或被清除。

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

    谢谢、我在哪里检查闪存等待状态的设置?

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

    在 hal.c 中的 HAL_setupFlash()中 如果您未更改此函数、则设置值应正确。