你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何用STM32芯片设计出能输出5路可分别控制脉冲数目的方波?

[复制链接]
kinni 提问时间:2023-11-13 23:03 / 未解决
现有5个57步进电机,计划设计一个板子,用5路方波,来精准控制每个电机的步数,达到控制电机的转动圈数的效果
收藏 评论2 发布时间:2023-11-13 23:03

举报

2个回答
butterflyspring 回答时间:2023-11-14 22:20:41

可以提供个思路:

利用DMA的方式,将预设好的数组值搬运给定时器的比较寄存器(关闭可以使用特殊的比较值)

注意一些细节:

  1. 初值的选择,预装载的使用,触发事件的选择。。。。

优势:1.DMA 方式的优势之一是可以一次发送很多脉冲,这点对于门限方式来说很难实现。

只要处理好DMA请求条件,数据起始和结束等细节,脉冲的数量理论上可以足够多。

      为了充分利用内存空间,DMA可以配置成循环模式,由DMA中断来计数。那么中断

      计数时间要小于数组轮询搬运时间,也就是给计数和更改数据留出足够的时间。比如

      用DMA传输一半的中断,在DMA传输一半中断时处理好下一轮的上半段数据,在

       DMA完成中断里面预备好下一轮的下半段数据。
  1. 由于内存数组内容是提前准备的,所以可是实现各种占空比。

不足: 1. 由于更新事件和预装载的存在,启动PWM的时候需要有一定的延迟,这个延迟通常

为一个周期时间,且无法实现同步触发,但在实时性要求不高的场景可以实现。

2.  当脉冲频率较高且数量较多的时候,需要配置更大的数组,所以占用RAM资源较大。

     首次预备数组初值也花费较多的处理时间,因此启动PWM略慢。
xmshao 回答时间:2023-11-17 17:32:56

你可以将要求再细化点、再清晰些,这样别人可以一起参与讨论。

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版