完善资料让更多小伙伴认识你,还能领取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点校准。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1967 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1823 浏览 3 评论
4403 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1970 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2477 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 04:10 , Processed in 0.635738 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号