我正在尝试控制一个伺服马达(link)。它是一种无刷直流电机,其接口类似于步进电机。
电机根据从PWM接收到的脉冲数旋转定义的距离。速度由PWM的脉冲频率决定,就像步进电机一样。
为了控制这个马达,我使用了一个微控制器STM32F407ZET6。我可以很容易地改变PWM的频率和占空比,但我的疑问如下:
如何在PWM中生成固定数量的脉冲?例如,我希望PWM在特定时间发送1000个脉冲,频率为20 the,占空比为50%。20 the和50%占空比很容易定义,但我无法确定如何生成1000个固定脉冲。
我尝试的解决方案之一是在计数器模式下将PWM重新连接到定时器,并在生成所需数量的脉冲时停止PWM。但是脉冲的数量并不总是固定的,有时从998到1005 (例如)。
有没有可能在不需要反馈的情况下做到这一点?
发布于 2020-06-05 23:10:22
最简单的方式:
- many other methods.
发布于 2020-06-06 03:11:30
这可以通过将所谓的“单脉冲模式”(参考手册第551页)与重复计数器(第529页)相结合来轻松实现。您所要做的就是启用此模式(CR1中的OPM位),设置重复计数器(RCR)并启动计时器。IIRC您还必须强制执行更新事件才能加载RCR。参考手册将有更多关于这方面的信息。
https://stackoverflow.com/questions/62217872
复制相似问题