stm32 无刷驱动

Posted

技术标签:

【中文标题】stm32 无刷驱动【英文标题】:Stm32 bldc driving 【发布时间】:2015-08-20 05:32:52 【问题描述】:

如此处所述: http://www.edn.com/design/sensors/4407580/Brushless-DC-Motors-Part-II--Control-Principles

,当反电动势电压跨过 1/2 VDCC 值时,应发生切换电机绕组。如何在没有嵌入式比较器模块的stm32f4中有效地执行?

似乎唯一的方法是使用模拟看门狗在中断发生的每一刻选择下一个等待的通道?

如果我想从单个 stm32 芯片驱动 4 个 bldc,该怎么做?

【问题讨论】:

【参考方案1】:

有几种方法可以实现这一点。 STM32 最流行的方法是检测浮动相位。该技术与您的链接所建议的技术略有不同,但是有很多示例代码可以实现这一点。

这是一个很好的explanation ST 的专利 3 电阻​​ BLDLC 位置传感方法(和一些其他技术)。

一个不错的起点是this manual。

STM32 支持两个电机控制定时器(TIM1 和 TIM8)。您可以使用它们来驱动 2 个 BLDC 电机。尽管如此,它不会限制您结合使用其他定时器来驱动更多的 BLDC,但会需要一些额外的编程复杂性。

【讨论】:

以上是关于stm32 无刷驱动的主要内容,如果未能解决你的问题,请参考以下文章

怎么用STM32输出PWM信号,从而通过电调控制无刷电机

基于STM32的智能小车--电机驱动设计

如何用STM32产生三相PWM用于控制三相直流无刷电机?

如何用STM32做四轴飞控?

基于STM32无刷电机BLDC速度控制器系统设计-毕设课设资料

水下管道智能巡检-方案STM32+树梅派+python+opencv—水下机器人