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.

[参考译文] TMS320F28027F:F28027F + DRV8305

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1173579/tms320f28027f-f28027f-drv8305

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

你好  

当天的问候!!!

我使用 F28027F + DRV8305来驱动 BLDC 电机。  我使用的是 projlab05b.c 在 projlab05b.c 中、我编写了以下代码

float A_RPM=5.0;count++;
if (计数>390)

计数= 0;

a_RPM_=-a_RPM;


CTRL_setSpd_ref_krpm (ctrlHandle、gMotorVars.SpeedRef_krpm=_IQ (A_RPM));

但在这里、我将 A_RPM 设置为固定值5000rpm、然后电机振荡。

但是 、我想在 GUI 中将 RPM 设置为 介于2000rpm 到20000rpm 之间、SpeedRef_krpm 是可逆的、并且根据设定的速度、电机应该会振荡。

我尝试将 gMotorVars.SpeedRef_KRPM 读取为 A_RPM=gMotorVars.SpeedRef_KRPM。 但出错了。

请帮帮我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="489814" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1173579/tms320f28027f-f28027f-drv8305 "]

    if (计数>390)

    计数= 0;

    a_RPM_=-a_RPM;

    [/报价]

    上面的代码是否在计时器中执行? 还是在后台循环中? 电机将以正速度运行多长时间、然后切换到负速度?

    根据 电机和系统、正转或负转速下的电机运行时间必须大于足够的时间。

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

    它处于后台循环中。 在1分钟内、电机将振荡190次。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="489814" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1173579/tms320f28027f-f28027f-drv8305/4418341 #4418341"]在1分钟内、电机将振荡190次。

    这话什么意思? 是否要每分钟改变电机旋转方向190次? 然后在(60/190)秒内将电机从2000rpm~20000rpm 运行到-2000~-20000rpm?

    如果是、则不可能使用无传感器 FOC 来实现这一点。 您必须使用有传感器 FOC 解决方案。  

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

    好的  

    谢谢你

    我将介绍传感 FOC 解决方案