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.

[参考译文] DRV10987:FGcycle

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/689987/drv10987-fgcycle

器件型号:DRV10987

您好!

#define Pole_Num 10

我的电机有10个极点

但是,  在 FGcycle[3:0](位11:8)部分的配置寄存器1中,您写入了:0

这意味着 FG 电机极点选项为 GF/1 (2极)

为什么您使用此配置而不是10极选项来插入  FGcycle[3:0]=4?

谢谢、

利拉兹

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

    你好、liraz、

    define Pole_Num 10的目的和说明了解释 FG 并将其转换为 RPM 的两种方法。 将 电气换向频率转换 为 RPM 的公式定义为:

    rpm = 120*(f_eli电气)/(n_par根)       (1)

    其中 f_elElectrical 是器件施加电流的频率、n_br极 是电机的极数。 当 FG 被用来检测 MCU 上的速度时、FGcycle = 0表示 FG 将等于 f_eletal。 当 FGcycle 被分配到正确的极数时、该等式被替换为:

    RPM = 120*f_FG        (2)

    这是因为 f_f_fG =(f_electe/(n_br极)并且 它假定 FG 周期被正确选择。

    现在 Config1是针对 FGcycle = 0进行硬编码的、因为其写入器决定在代码中使用公式1。 因此请注意、第13行或第14行是不正确的、因为它们除以12而不是120。 感谢您指出这一点。

    如果您决定使 FGcycle = 4、只需记住、您已将计算电机 RPM 的公式更改为公式2。 这样做有好处。 有时 、由于   转子旋转一圈需要多个电频率、因此多个极点电机的电频率会发生变化。 改变 FG 周期将确保变化只在  转圈的情况下测量、而不是在电气频率的情况下测量。 这样做很有用、PI 环路在旋转完成之前不会尝试增加或降低电机速度。

    最棒的

    Cole