STM32编码器工作原理与使用方法详解

一、 编码器详解

1.1、编码器介绍

编码器,是一种用来测量机械旋转或位移的传感器。通过这种传感器能够测量机械部件在旋转或直线
运动时的位移位置或速度等信息,并将其转换成一系列电信号。

编码器可以根据不同的方式分出很多种类型。

  1. 根据检测原理,可分为光学式、磁式、感应式和电容式。
  2. 根据内部机械结构的运动方式,可分为线性编码器和旋转编码器。
  3. 根据其刻度实现方法及信号输出形式,又可分为增量式、绝对式以及混合式三种。
  • 增量式编码器
    增量式旋转编码器是将设备运动时的位移信息变成连续的脉冲信号,只表示设备的位置变化量和运动方向,脉冲输出的频率可以表示运动速度。
    一般来说,增量式编码器会通过通道A、通道B和通道C输出脉冲信号,通道A和通道B之间有90°的相位差,只有当设备运动的时候增量式编码器才会输出信号。
    通道A或通道B的脉冲个数表示位移量的大小,并且可以通过这两个通道的前后关系表示编码器的旋转方向。编码器旋转一圈,通道Z才会输出一个脉冲,所以常用该点作为参考点。

  • 绝对式编码器
    绝对式旋转编码器是将设备运动时的位移信息通过二进制编码的方式变成数字量直接输出。这
    种编码器与增量式编码器的区别主要在内部的码盘。绝对式编码器的码盘利用若干透光和不透
    光的线槽组成一套二进制编码,这些二进制码与编码器转轴的每一个不同角度是唯一对应的,读
    取这些二进制码就能知道设备的绝对位置,所以叫它绝对式编码器。绝对式编码器一般常用自然
    二进制、格雷码或者BCD码等编码方式。

  • 混合式绝对式编码器
    混合式绝对式编码器,它输出两组信息:一组信息用于检测磁极位置,带有绝对信息功能;另一
    组则和增量式编码器的输出信息完全相同

  • 1.2、编码器的基本参数

  • 分辨率
    指编码器能够分辨的最小单位。对于增量式编码器而言,对应的是编码器旋转一圈所产生的脉冲数量,即脉冲数/转(PPR),也叫多少线。对于绝对式编码器,对应的是内部码盘所用的位数(bit)。
  • 精度
    指编码器每个读数与转轴实际位置间的最大误差,通常用角度、角分或角秒来表示。比如绝对式编码器的正负20’'。
  • 最大响应频率
    指编码器每秒输出的脉冲数量,单位是HZ。
  • 信号输出形式
    对于增量式编码器,每个通道的脉冲信号独立输出。对于绝对式编码器,一般采用串行/总线(SSI、RS485、CANopen、ethercat)输出几十位的二进制数。
  • 二、编码器的使用

    2.1、增量式编码器输出信号和倍频技术

    增量式编码器输出信号的常见形式有两种,常用的多为第一种。

  • 一种是占空比为50%的方波,通道A和通道B相位差为90°;
  • 一种是正弦波模拟信号,通道A和通道B相位差为90°。
  • 可以通过对上升沿,下降沿,以及两个通道同时采集,进行2倍频或4倍频。

    2.2、增量式编码器计算速度

    对于位置移动速度,可以采用对编码器测速的方法计算出位置变化速度。常见的编码器测速方法一般有三种:M法、T法和M/T法。

  • M法:即频率测量法,这种方法是在一个固定的定时时间内,统计这段时间内编码器脉冲数,计算速度值。
  • T法:即周期测量法,是通过建立一个已知频率的高频脉冲并对其计数,计数时间由捕获到编码器相邻的两个脉冲的间隔时间决定。即通过脉冲输出的频率计算。
  • M/T法:是以上两种方法的结合。
  • 2.3 stm32编码器接口简介

    stm32芯片内部有专门用来采集增量式编码器方波信号的接口,属于定时器的输入捕获功能。
    《STM32F4xx参考手册》给出了的编码器信号与计数器方向和计数位置之间的关系,如下表所示。

    表中的TI1、TI2分别代表编码器的通道A和通道B;“相反信号的电平”指的是在计数的时候所参考的另一个通道信号的电平,决定了计数器的计数方向。。STM32的编码器接口在计数的时候,并不是单纯采集某一通道信号的上升沿或下降沿,而是需要综合另一个通道信号的电平。
    可以通过检测TI1、TI2通道中脉冲信号的上升沿和下降沿来实现计数。即由此,可以实现对原始信号的2倍频或4倍频。

    三、其它

    3.1、增量式编码器引脚接口示意图

    3.2、遇到过的问题

    1、可以通过光耦器件,来实现编码器断线检测。
    2、可以通过光耦+RS422器件实现编码器信号隔离,防止接线异常导致芯片损伤。

    作者:Wangshanjie_98

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32编码器工作原理与使用方法详解

    发表回复