您好!
#define Pole_Num 10
我的电机有10个极点
但是, 在 FGcycle[3:0](位11:8)部分的配置寄存器1中,您写入了:0
这意味着 FG 电机极点选项为 GF/1 (2极)
为什么您使用此配置而不是10极选项来插入 FGcycle[3:0]=4?
谢谢、
利拉兹
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.
您好!
#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