STM32
直播中

李舒桀

7年用户 1323经验值
私信 关注
[问答]

STM32处理增量式编码器Z信号,如何判断它的方向?

我在用的STM32F4系列的,因为之前都用tiC2000系列,在处理TTL增量式编码器的时候,C2000有QEP专门捕获Z信号的上升沿或者下降沿用来计算单圈位置,但是STM32是用TIM模块正交计数的,Z信号我现在用的是外部中断的办法,但是也只是上升沿触发中断一下,没办法判断我这次的中断到底是正转的还是反向转的,大家有什么好的办法吗?在处理单圈位置的问题时候,谢谢啦

回帖(2)

h1654155275.5771

2024-3-18 14:03:20
Z信号只是个初始化信号,没法根据它来判断方向。

你可以通过连续2次计数器的读取来判断方向。
举报

李小雯

2024-3-18 14:03:30
z信号的目的是用来通知此时过零点,如果上位机此时的位置counter不为零的话,上位机应该清零,防止增量累积过程出现的累积位置误差。判断转动方向是A/B相之间的相位关系,比如说A超前B 90度表示正转,那么A落后B 90度就表示反转,方向的判断可以把A/B接到tim,配成编码器模式,根据定时器的dir位,可以启动换向中断可以知道。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分