完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大神好:
最近在用STM32的编码器模式遇到点问题。请大家帮忙看看是什么原因?如何解决? 背景:编码器模式下,配置成双边沿即四倍频触发。主时钟72MHz,电机旋转一圈编码器输出20,000个脉冲,20,000*4 = 80,000个边沿。 1.如果电机旋转速度小于30rpm,即30*80000/60 = 400KHz,计数正常。如果电机旋转速度大于30rpm,计数会丢步。为什么会这样?计数器响应不过来吗? 2.在能正常计数情况下,改为上长沿触发。按理说,比双边沿触发少了一倍,计数值应该也小一半。如双边沿触发,一圈计数20,000个,那么单边沿触发就应该是10000个。而实际上两种配置方式计数结果都是20,000个。这是什么大原因? 3.在能正常计数情况下,把计数器的分频系数改(2-1)。旋转一圈,计数结果为10000个,比未分频时小了一半。但是把旋转速度提高大于30rpm时。不能正常正常计数。为什么分频后不能启到作用? 4.在不减小脉冲个数的情况下,如何解决电机旋转速度至少1200rpm时,即1200*80000/60 =16MHz, 也能正常计数? 谢谢各位! |
|
相关推荐
1个回答
|
|
1.编码器精度问题 需要Z点校准
2.可能是程序问题 3.pwm输出的话提高转速应改TIM_Prescaler的分频,最好程序贴图出来,最有可能的情况就是程序设置出了问题。 4.还是那个问题,计数准确需要编码器精度校准,z点校准。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32串口接受中断使用C++STL中的queue导致所有中断失效
3507 浏览 1 评论
2717 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1289 浏览 0 评论
3571 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
3375 浏览 4 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 19:01 , Processed in 0.568030 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号