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.

[参考译文] DRV8302:无刷无传感器电机速度振荡,导致其失去同步,一旦速度过快就关闭。

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/653007/drv8302-brushless-sensorless-motor-speed-oscillates-which-causes-it-to-lose-sync-and-shut-off-once-it-goes-too-fast

部件号:DRV8302

Hello电机控制器。 我不是你们中的一个人。

我制作了一个BLDC控制板来控制RC飞机马达-它在4K RPM以下运行良好,但在较高RPM时不稳定并失去同步。 控制类型为无传感器梯形高侧PWM。 在这种情况下,您可以使用ADC在PWM "接通"负载期间感应浮动相位,然后在样品之间进行线性插值,以找到信号通过Vin / 2标记的确切时间。 该时间用于预测换向时间。 灵感来自Dave Wilsons博客,TI附注和Microchip附注。

我使用的是4样本二进制过滤器,其中每个位都是<或> Vin /2,过滤器查找0011或1100。 然后进行线性插值,以查找样本2和3之间的精确零交叉时间。 如果我以固定PWM和换向循环组合运行电动机开环,我可以调整电源电压,直到电动机运行极其平稳且静音。 所以不稳定是由我的控制算法造成的。

根据理论,零交叉会在60度换向步长中出现30度,因此如果我确定零交叉TZCD的时间,稳态条件下的正确换向步长为2 * TZCD。 但这不奏效。 有效的方法是将当前换向期和2 * TZCD之间的差值加一小部分到当前换向时间:

tNew = Tcurrent + B *(2 * TZCD - Tcurrent),其中B是某个分数,如1/8或其他。 如果B大于.5,则不起作用;如果B小于.1,则不起作用。 但是,让电机运转的所有B值也会振动,电机在4000转/分以上时失去同步。

是否有人制造了无传感器BLDC电机控制器并遇到类似问题? 是否有更好的换向或滤波算法? 我尝试用运行平均值来跟踪以前的换向,但这似乎不起作用,除非运行平均值小于4个样本,即使如此,摆动也是一样的。

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

    实时算法的一个常见问题是来自中断的干扰。 你是否排除了这种情况?

    另一个问题是延迟。 随着电机转速的增加,换向之间的时间也会缩短。 尝试使用相同算法在较高速度下进行换向会导致换向延迟。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    100 % 确定它不是中断。 问题在于我如何使用零交叉时间来预测何时换向。

    1. 在换向时重置计时器T
    2. 查找零交叉时间跨度
    3. 预测下一个换向时间并设置T的比较值:换向= Tcurrent + B*(2 * Tcross - Tcurrent)

    Tcurrent是上一个/当前计时器T比较值,换向是新的计时器T比较值,Tcross是计数中测量的零交叉时间。 b是一个比例系数,0.25似乎有效。

    我相信有更好的方法来预测正确的换向时间,但我不知道这是什么。 应用程序注释对于查找零交叉和解释换向周期非常好,但在精确算法方面却不那么好。 大多数人只是说换向= 2*Tcross。

    这是电机正在运行。 绿色和蓝色是霍尔信号。 转至数字霍尔信号与电动机需要换向的位置不一致,猜测这是为什么它不能在感应模式下运行的原因。 你猜这是一个便宜的汽车。 但每一个马达都应该无感觉地运行:(我希望有任何关于如何预测正确的换向时间的提示。

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

    我认为您应该在电动机滑行时捕获此图像,以查找霍尔传感器错误,或者您可以用手自由地抓取电动机(无需换向)。
    要查找换向点,在零交叉事件中,启动一个计时器,其期间值等于两个零交叉事件之间时间的一半(之前和当前零交叉事件之间时间的一半)。 在计时器期间匹配ISR进行换向。 如果因软件延迟等原因出现偏移,请调整偏移量
    在较高速度下,确保零交叉检测正确,以避免速度摆动。 由于在较高速度时,一次换向中的PWM数会更少,并且在PWM关闭时间内,您不会获得零交叉,因此会导致位置(换向)错误。 如果一次换向中的PWM周期数非常少(< 2或3),则增加PWM切换频率。

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

    感谢Prashant-我对汽车很陌生。 我会更努力地进行滤波和线性插值。 看似合理的是,较小的不一致性可能会在较高速度下导致大问题。

    让我澄清一下我对感应模式和无感模式之间区别的无知。 因此,在感应和无感应模式下,相同的电机运行速度大致相同。 从无传感器模式捕获来看,传感器似乎在BEMF零(或电源50 %)交叉处触发。 在感应模式下,当传感器切换时,电流正在切换!

    我认为这意味着在感应模式下,线圈会延迟30度切换,在此期间它会降低电机的速度。 无传感器操作在质量上更安静,并且使用的电流稍小,这表明其效率更高。 为感应电机创建'相移'以尝试让它们更接近正确的时间,这是否很常见?

    无传感器:

    含传感器: