正如这里所解释的:http://www.edn.com/design/sensors/4407580/Brushless-DC-Motors-Part-II--Control-Principles
,当反电势电压超过1/2VDCC值时,应切换电机绕组。如何在没有嵌入比较器模块的stm32f4中有效地实现这一点呢?
似乎唯一的方法是使用模拟看门狗,在中断发生的每个时刻选择下一个等待的通道?
如果我想从单个stm32芯片驱动4个无刷直流电机,该怎么做?
发布于 2015-10-02 17:16:02
有几种方法可以实现这一点。STM32最流行的方式是检测浮动相位。该技术与您的链接所建议的稍有不同,然而,有大量的示例代码可以实现这一点。
这是一个ST的专利3电阻无刷直流电容位置检测方法(和一些其他技术)的很好explanation。
this manual是一个很好的起点。
STM32支持两种电机控制定时器(TIM1和TIM8)。您可以使用它们来驱动2个无刷直流电机。尽管如此,它不会限制您组合使用其他计时器来驱动更多的BLDCs,但会需要一些额外的编程复杂性。
https://stackoverflow.com/questions/32110237
复制相似问题