久芯网

关于STM32处理增量式编码器Z信号的办法

avatar ousam 提问时间: 2023-06-30 12:20:03 / 未解决

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


如需获得 STM32 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

3个回答
  • avatar xmshao
    回答时间: 2023-06-30 12:41:39

    Z信号只是个初始化信号,没法根据它来判断方向。 你可以通过连续2次计数器的读取来判断方向。

  • avatar yr
    回答时间: 2023-06-30 13:06:22

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

  • avatar ousam
    回答时间: 2023-06-30 13:26:30
    yr 发表于 2023-6-3 22:35
    z信号的目的是用来通知此时过零点,如果上位机此时的位置counter不为零的话,上位机应该清零,防止增量 ...

    [md]我是打算用增量编码器用作定向用,在正方向和方向经过Z信号的时候,如果都是通过上升沿触发读取,那绝对物理位置不就是相差个Z信号宽度吗?

会员中心 微信客服
客服
回到顶部