1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
对于步进电机,脉冲频率一般在几千Hz到几十千Hz左右,但是对于伺服电机,由于其转速高,分辨率高,其要求的脉冲频率可以高达几百千Hz甚至高到几兆Hz。此外对于多轴运动控制器,还需要同时发出多路高频率的脉冲波形。如何让单片机发出高频率的高速脉冲,有以下几种方法:
1)使用定时器溢出中断,定时中断里翻转IO口电平来产生方波。 优点:实现简单,对硬件要求不高。 缺点:不适合高速脉冲波形,而且脉冲分辨率也不高。 2)使用PWM方式,通过改变PWM周期寄存器的值来改变周期,从而发出频率可变的方波。 优点:可以输出高速脉冲。 缺点:一个定时器只能输出一路脉冲,而且脉冲数量不可控制。 3)使用定时器的输出比较模式,设置输出比较匹配时翻转IO口,并开启输出比较中断, 在中断中装载下一次比较值。 优点:可以输出高速脉冲,并且脉冲数量可以控制。 缺点:进入中断频繁,增加CPU负担,一旦电机多,这种方法消耗MCU资源严重。 由于上述几种方法都不适合用来产生多路高速脉冲,故本方案使用DMA+PWM结合的方式来产生多路高速脉冲。对于STM32系列MCU,存在多路DMA通道。DMA允许外设和内存之间直接进行数据访问而不需要CPU的干预。在内存数组里配置一串设定好的频率值,然后设定相应的DMA通道,将对应的定时器设置成PWM模式,然后将DMA通道和定时器通道进行关联。则使能DMA和定时器通道以后,内存数组中的这串频率值会传送给定时器通道,控制定时器通道自动产生频率可变的PWM波形。这个发波原理用程序流程图如下所示。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1763 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1617 浏览 1 评论
1059 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
723 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
726浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
592浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 17:03 , Processed in 0.815255 second(s), Total 76, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号