我的应用的一个关键需求是能够使电机失速、保持准确的位置(用力)。 为此、我们针对低 RPM 条件实施了霍尔传感器覆盖。 这一切都经过测试并正常工作、从霍尔传感器输入内插矢量角度、然后使用 EST_setAngle_pu (…)注入 FOC
总的来说、在这个过程中、我们启用了 FOC 和 SpinTAC 速度、一个 SpeedRef_krpm 被设定为0。 更新速率为10kHz、PWM 为20kHz。
在测试过程中、我注意到一些非常奇怪的东西...
当电机停转时、我们会看到以~1sec 间隔出现干扰/抖动。 这将跳转1-2个霍尔传感器位置(8极空气电机=每跳7度)。 抖动通过霍尔传感器快速恢复、但我可以从调试中看到霍尔传感器正跟随此跳变:不是从开始注入。 使用的电流上限越大、跳转越大(由 gMotorVars.SpinTAC.VelCtlOutputMax_A 设置)
这意味着 FOC/SpinTAC 系统中的某个位置几乎每秒都会产生干扰。 (警告:我需要准确计时:因此假设大约为1秒)。
我已对代码库计时、可以确认没有任何内容会导致100us 更新或中断过度运行。 我还在多个不同的电机上运行它、所有电机上都会运行它。
FOC/SpinTAC 速度中是否有任何以大约~1s 的间隔开始的东西会导致这种干扰?
垫