增量型编码器有两个主要输出,分别称为A和B,两个输出是正交输出,相位差为90度。增量型编码器的单圈脉冲数(PPR)为其旋转一圈时会输出的方波数,如PPR为600表示旋转一圈时A和B都会输出600个方波,但先后顺序不同。光学式增量型编码器可以有较高的单圈脉冲数,例如 2500 到 10000。
二个信号有90度的相位差,在不同旋转方向时,二个信号的相序也有所不同,可以利用程序将两个信号进行解码。根据其相序不同,在有方波时使一计数器上数或是下数,此计数器的值即可对应转轴的旋转量。 例如上一次的数值是00,目前的数值是01,表示转轴已顺时针旋转了四分之一个单位(若单圈脉冲数为600,此处的单位即为六百分之一圈)。根据单位时间的旋转量可以计算转速,若是转速很慢时可以直接根据方波的宽度计算转速。若转轴的旋转速度太快,程序可能会跳过中间的状态变化,出现无法识别转轴的旋转方向或是旋转方向误判的情形。
当顺时针旋转时A信号提前B信号90度相位,当逆时针旋转时B信号提前A信号90度相位,电路接收到旋转编码器的A、B信号时,可以根据A、B的状态组合判定编码器的旋转方向。 程序设计中我们可以对A、B信号检测,检测A信号的边沿及B信号的状态, - 当A信号上升沿时B信号为低电平,或当A信号下降沿时B信号为高电平,证明当前编码器为顺时针转动 - 当A信号上升沿时B信号为高电平,或当A信号下降沿时B信号为低电平,证明当前编码器为逆时针转动
有些旋转编码器除了A相及B相外还有一个输出,一般称为Z相,每旋转一圈Z相信号会有一个方波输出,可以用来判断转轴的绝对位置,例如用在位置控制的系统中。 若旋转编码器只有单独一相的输出,仍然可以判断转轴的转速,只是不能判断旋转的方向。可以用在量测转速的场合,有时也会以此量测运动的距离。