
伺服电机
编码器工作原理
编码器脉冲输出
这里我们以增量式光电旋转编码器为例说明脉冲输出为ABZ三相,为了方便说明,将圆形光栅盘拉成矩形的,AB为两个距离相差d2的光敏管,一个角度码盘的光栅距离为d0和d1,AB光敏管在d1有输出。
正转时候
1开始时候AB都位于d1位置,此时AB都有输1;
2随着轴的转动,A位于d0范围,B扔位于d1范围,此时A输出0,B输出1;
3轴继续旋转,A和B都位于d0范围,AB都输出0;
4轴继续旋转,A位于d1范围,B扔处于d0范围,此时A输出1,B输出0;
5轴继续旋转,AB都位于d1范围,输出都为1;
6输出按照步骤1~5循环
反转时候
1开始时候AB都位于d1位置,此时AB都有输1;
2随着轴的转动,B位于d0范围,A还位于d1范围,此时A输出1,B输出0;
3轴继续旋转,A和B都位于d0范围,AB都输出0;
4轴继续旋转,A位于d0范围,B扔处于d1范围,此时A输出0,B输出1;
5轴继续旋转,AB都位于d1范围,输出都为1;
6输出按照步骤1~5循环
可以看出正转和反转的时候,AB的状态输出是不一样的,通过比较就能轻易分辨编码器旋转方向,一般使用手册说是AB相位差90°或90±45°,意思是一样的,此时的360°可以理解为d0+d1总长度,相差的90°就是(d1+d0)/4,也就是AB的距离d2。
再来说说它是怎么计算脉冲的,一个圆形光栅盘均分成n个,旋转时,A和B从位置d0到d1,AB通输出一次就检测到一个脉冲,旋转一圈A和B的输出脉冲量是一样的,只不过检测时候谁前谁后的问题。这里我们在PLC程序中监控下编码器单相输出以及上述脉冲过程,采用欧姆龙E6B2-CWZ6C,A相接X0,B相接X1,采用高速单相计数器C235计A相输出,C236计B相输出:

单相计数器C235、C236
采用双相计数器C251:

双相双计数C251
两者区别是,单相单计数只计数不自动识别旋转方向,正反转计数不自动增减,如果不进行设置默认增计数,而双相双计数会自动根据旋转方向对计数进行增或减计数例如正转增计数,反转减计数。
编码器定位功能上述我们说了编码器如何对脉冲进行计数,将角度位移转成直线位移来实现定位功能,在说编码器定位功能时,先说下较早时候或精度要求不高的场合采用接近开关实现定位的方法,虽然精度不高,但原理确实一样的。
1接近开关定位
我们以下图来说明,电机带动6mm螺纹距的丝杆进行移动,把一个圆盘均分成6快齿轮似的,这样的话,电机每转一圈,接近开关会检测到6个信号,每个信号代表1mm,这样就实现了简单的定位功能。编码器与这个检测齿轮功能一样,也是检测信号的,只不过它的精度要比它高多了,这个齿轮是一圈6个脉冲信号,每个脉冲代表1mm,编码器2000P/R的就是一圈2000个脉冲信号,每个脉冲代表6/2000mm,伺服电机的编码器更高,例如17位的160000脉冲每转。

接近开关定位
2编码器定位
和接近开关定位原理一样如下图:

编码器定位
下面通过PLC程序检测高速计数器对脉冲的计数过程: