打印
[STM32F3]

我用TIM做编码器模式的时候总溢出,是不是配置没对?

[复制链接]
372|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Pulitzer|  楼主 | 2025-5-10 08:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接的是AB相信号,但TIMx_Counter老跳满值,难道是滤波没开?

使用特权

评论回复
沙发
Clyde011| | 2025-5-10 08:05 | 只看该作者
有时候跳变太快定时器反应不过来。

使用特权

评论回复
板凳
公羊子丹| | 2025-5-10 08:06 | 只看该作者
是不是编码器的分辨率太高?

使用特权

评论回复
地板
周半梅| | 2025-5-10 08:07 | 只看该作者
你TIM设的最大值是多少?

使用特权

评论回复
5
帛灿灿| | 2025-5-10 08:07 | 只看该作者
滤波设置没开的话,容易误触发。

使用特权

评论回复
6
童雨竹| | 2025-5-10 08:08 | 只看该作者
看看反转配置对没?

使用特权

评论回复
7
万图| | 2025-5-10 08:09 | 只看该作者
AB相是不是相位反了?

使用特权

评论回复
8
Wordsworth| | 2025-5-10 08:10 | 只看该作者
建议加硬件滤波器试试。

使用特权

评论回复
9
Bblythe| | 2025-5-10 08:10 | 只看该作者
F3的定时器模式还挺多,搞混了容易出错。

使用特权

评论回复
10
Pulitzer|  楼主 | 2025-5-10 08:11 | 只看该作者
用逻辑分析仪抓一下AB相看看。

使用特权

评论回复
11
Uriah| | 2025-5-10 08:12 | 只看该作者
我建议你先跑慢速信号试试。

使用特权

评论回复
12
qintian0303| | 2025-5-10 10:46 | 只看该作者
溢出了就重新规划一下呢,太快了吧,放慢点一点一点来

使用特权

评论回复
13
故意相遇| | 2025-6-14 11:49 | 只看该作者
在使用STM32F3的TIM做编码器模式时出现总溢出问题,可能是配置不当或未处理溢出情况导致的

使用特权

评论回复
14
春日负喧| | 2025-6-14 12:00 | 只看该作者
时钟与GPIO配置,需开启对应定时器和GPIO的时钟,并将连接编码器A相和B相的GPIO引脚配置为合适的输入模式(如浮空输入或上拉输入)

使用特权

评论回复
15
她已醉| | 2025-6-14 13:00 | 只看该作者
使用TIM3时,要开启TIM3和GPIOA的时钟,并把PA6、PA7配置为输入模式

使用特权

评论回复
16
将爱藏于深海| | 2025-6-14 14:00 | 只看该作者
时基单元配置,预分频器一般选择不分频,自动重装载值可设为最大65535,计数模式选择向上计数。这样能保证计数器在较大范围内计数,减少溢出频率

使用特权

评论回复
17
白马过平川| | 2025-6-14 14:30 | 只看该作者
输入捕获单元配置,主要配置滤波器和极性参数。滤波器用于消除噪声干扰,极性参数根据编码器信号特点选择上升沿、下降沿或双边沿触发

使用特权

评论回复
18
西洲| | 2025-6-14 15:00 | 只看该作者
编码器接口模式配置,调用库函数配置编码器模式,如TIM_EncoderInterfaceConfig,可选择仅使用TI1通道、仅使用TI2通道或同时使用TI1和TI2通道进行计数。同时使用两个通道时计数精度更高

使用特权

评论回复
19
温室雏菊| | 2025-6-14 16:00 | 只看该作者
硬件溢出处理,STM32定时器存在溢出中断,可在中断里做溢出计数。向上溢出时溢出计数减1,向下溢出时溢出计数加1

使用特权

评论回复
20
风凉| | 2025-6-14 17:00 | 只看该作者
32位的编码器计数值可通过公式full_count = cnt + overflow_count * 65536计算得出

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

5060

帖子

0

粉丝