旋转编码器的使用

旋转编码器的使用
旋转编码器是通过光电转换,将输出至轴上的机械、几何位移量转换成脉冲或数字信号的传感器,主要用于速度或位置(角度)的检测。典型的旋转编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形狭缝。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,其原理示意图如图1-1所示;通过计算每秒旋转编码器输出脉冲的个数就能反映当前电动机的转速。
图1-1
一般来说,根据旋转编码器产生脉冲的方式的不同,可以分为增量式、绝对式以及复合式三大类。本设备是增量式旋转编码器。
增量式编码器是直接利用光电转换原理输出三组方波脉冲A、B和Z相;A、B两组脉冲相位差90,用于辩向:当A相脉冲超前B相时为正转方向,而当B相脉冲超前A相时则为反转方向。Z相为每转一个脉冲,用于基准点定位。如图1-2所示。
YL-235A传送带单元使用了这种具有A、B两相90º相位差的通用型旋转编码器,用于计算工件在传送带上的位置。编码器直接连接到传送带主动轴上。该旋转编码器的三相脉冲采用NPN型集电极开路输出,分辨率500线,工作电源DC12~24V。本工作单元没有使用Z相脉冲,A、B两相输出端直接连接到PLC的高速计数器输入端。
计算工件在传送带上的位置时,需确定每两个脉冲之间的距离即脉冲当量。分拣单元主动轴的直径为d=43 mm,则减速电机每旋转一周,皮带上工件移动距离L=π•d =3.14×43=136.35 mm。故脉冲当量μ为μ=L/500≈0.273 mm。应该指出的是,上述脉冲当量的计算只是理论上的。实际上各种误差因素不可避免,例如传送带主动轴直径(包括皮带厚度)的测量误差,传送带的安装偏差、张紧度,分拣单元整体在工作台面上定位偏差等等,都将影响理论计算值。因此理论计算值只能作为估算值。脉冲当量的误差所引起的累积误差会随着工件在传送带上运动距离的增大而迅速增加,甚至达到不可容忍的地步。因而在传送带单元安装调试时,除了要仔细调整尽量减少安装偏差外,尚须现场测试脉冲当量值。
2、 高速计数器的编程(西门子)
高速计数器的编程方法有两种,一是采用梯形图或语句表进行正常编程,二是通过STEP7-Micro/WIN编程软件进行引导式编程。不论哪一种方法,都先要根据计数输入信号的形式与要求确定计数模式;然后选择计数器编号,确定输入地址。
高速计数器可以被配置为12种模式中的任意一种。如表4-1所示:
表1-1
模式 |
中断描述 |
输入点 |
|||
|
HSC0 |
I0.0 |
I0.1 |
I0.2 |
|
HSC1 |
I0.6 |
I0.7 |
I1.0 |
I1.1 |
|
HSC2 |
I1.2 |
I1.3 |
I1.4 |
I1.5 |
|
HSC3 |
I0.1 |
|
|
|
|
HSC4 |
I0.3 |
I0.4 |
I0.5 |
|
|
HSC5 |
I0.4 |
|
|
|
|
0 |
带有内部方向控制的单相计数器 |
时钟 |
|
|
|
1 |
时钟 |
|
复位 |
|
|
2 |
时钟 |
|
复位 |
启动 |
|
3 |
带有外部方向控制的单相计数器 |
时钟 |
方向 |
|
|
4 |
时钟 |
方向 |
复位 |
|
|
5 |
时钟 |
方向 |
复位 |
启动 |
|
6 |
带有增减计数时钟的双相计数器 |
增时钟 |
减时钟 |
|
|
7 |
增时钟 |
减时钟 |
复位 |
|
|
8 |
增时钟 |
减时钟 |
复位 |
启动 |
|
9 |
A/B相正交计数器 |
时钟A |
时钟B |
|
|
10 |
时钟A |
时钟B |
复位 |
|
|
11 |
时钟A |
时钟B |
复位 |
启动 |
根据传送带单元旋转编码器输出的脉冲信号形式 (A/B相正交脉冲,Z相脉冲不使用,无外部复位和启动信号) ,由表1-1容易确定,所采用的计数模式为模式9,选用的计数器为HSC0,B相脉冲从I0.0输入,A相脉冲从I0.1输入,计数倍频设定为4倍频。分拣单元高速计数器编程要求较简单,不考虑中断子程序,预置值等。
使用引导式编程,很容易自动生成了符号地址为“HSC_INIT”的子程序。其程序清单如图4-3所示。(引导式编程的步骤从略,请参考S7-200系统手册)
图4-3
在主程序块中使用SM0.1(上电首次扫描ON)调用此子程序,即完成高速计数器定义并启动计数器。
旋转编码器脉冲当量的测试
前面已经指出,根据传送带主动轴直径计算旋转编码器的脉冲当量,其结果只是一个估算值。在传送带单元安装调试时,除了要仔细调整尽量减少安装偏差外,尚须现场测试脉冲当量值。一种测试方法的步骤如下:
分拣单元安装调试时,必须仔细调整电动机与主动轴联轴的同心度和传送皮带的张紧度。调节张紧度的两个调节螺栓应平衡调节,避免皮带运行时跑偏。传送带张紧度以电动机在输入频率为1Hz时能顺利启动,低于1Hz时难以启动为宜。测试时可把变频器设置为在BOP 操作板进行操作(启动/停止和频率调节)的运行模式,即设定参数P0700 = 1(使能BOP 操作板上的起动/停止按钮),P1000 = 1(使能电动电位计的设定值)。
安装调整结束后,变频器参数设置为:
P0700
=
2(指定命令源为“由端子排输入”),
P0701
P1000
P1001 = 25Hz(DIN1的频率设定值)
在PC机上用STEP7-Micro/WIN编程软件编写PLC程序,主程序清单见图4-4,编译后传送到PLC。
图4-4
运行PLC程序,并置于监控方式。在传送带进料口中心处放下工件后,按启动按钮启动运行。工件被传送到一段较长的距离后,按下停止按钮停止运行。观察STEP7-Micro/WIN软件监控界面上VD0的读数,将此值填写到表4-2的“高速计数脉冲数”一栏中。然后在传送带上测量工件移动的距离,把测量值填写到表中“工件移动距离”一栏中;计算高速计数脉冲数/4的值,填写到“编码器脉冲数”一栏中,则脉冲当量μ计算值=工件移动距离/编码器脉冲数,填写到相应栏目中。
表4-2
序号 |
工件移动距离 (测量值) |
高速计数脉冲数 (测试值) |
编码器脉冲数 (计算值) |
脉冲当量μ (计算值) |
第一次 |
357.8 |
5565 |
1391 |
0.2571 |
第二次 |
358 |
5568 |
1392 |
0.2571 |
第三次 |
360.5 |
5577 |
1394 |
0.2586 |
重新把工件放到进料口中心处,按下启动按钮即进行第二次测试。进行三次测试后,求出脉冲当量μ平均值为:μ=(μ1+μ2+μ3)/3=0.2576。
在本项工作任务中,编程高速计数器的目的,是根据
注意:特定位置数据均从进料口开始计算,因此,每当待分拣工件下料到进料口,电机开始启动时,必须对HC0的当前值(存储在SMD38中)进行一次清零操作。
3、高速计数器的编程(三菱)
1、FX2N
高速计数器是PLC的编程软元件,相对于普通计数器,高速计数器用于频率高于机内扫描频率的机外脉冲计数,由于计数信号频率高,计数以中断方式进行,计数器的当前值等于设定值时,计数器的输出接点立即工作。
FX2N
高速计数器的功能分配如下:
• C235~C245共11个高速计数器用作一相一计数输入的高速计数,即每一计数器占用1点高速计数输入点,计数方向可以是增序或者减序计数,取决于对应的特殊辅助继电器M8的状态。例如C245占用X002作为高速计数输入点,当对应的特殊辅助继电器M8245被置位时,作增序计数。C245还占用X003和X007分别作为该计数器的外部复位和置位输入端。
• C246~C250共5个高速计数器用作一相二计数输入的高速计数,即每一计数器占用2点高速计数输入,其中1点为增计数输入,另一点为减计数输入。例如C250占用X003作为增计数输入,占用X004作为减计数输入,另外占用X005作为外部复位输入端,占用X007作为外部置位输入端。同样,计数器的计数方向也可以通过编程对应的特殊辅助继电器M8状态指定。
• C251~C255共5个高速计数器用作二相二计数输入的高速计数,即每一计数器占用2点高速计数输入,其中1点为A相计数输入,另1点为与A相相位差90º的B相计数输入。C251~C255的功能和占用的输入点如表5-14所示。
表5-14
|
X000 |
X001 |
X002 |
X003 |
X004 |
X005 |
X006 |
X007 |
C251 |
A |
B |
|
|
|
|
|
|
C252 |
A |
B |
R |
|
|
|
|
|
C253 |
|
|
|
A |
B |
R |
|
|
C254 |
A |
B |
R |
|
|
|
S |
|
C255 |
|
|
|
A |
B |
R |
|
S |
如前所述,分拣单元所使用的是具有A、B两相90º相位差的通用型旋转编码器,且Z相脉冲信号没有使用。由表5-14,可选用高速计数器C251。这时编码器的A、B两相脉冲输出应连接到X000和X001点。
每一个高速计数器都规定了不同的输入点,但所有的高速计数器的输入点都在X000~X007范围内,并且这些输入点不能重复使用。例如,使用了C251,因为X000、X001被占用,所以规定为占用这两个输入点的其他高速计数器,例如C252、C254等都不能使用。
2、高速计数器的编程
如果外部高速计数源(旋转编码器输出)已经连接到PLC的输入端,那么在程序中就可直接使用相对应的高速计数器进行计数。例如,在图5-21中,设定C255的设置值为100,当C255的当前值等于100时,计数器的输出接点立即工作。从而控制相应的输出Y010
ON。
由于中断方式计数,且当前值=预置值时,计数器会及时动作,但实际输出信号却依赖于扫描周期。
如果希望计数器动作时就立即输出信号,就要采用中断工作方式,使用高速计数器的专用指令,FX2N
型PLC高速处理指令中有3条是关于高速计数器的,都是32位指令。它们的具体的使用方法,请参考FX2N编程手册。
下面以现场测试旋转编码器的脉冲当量为例子说明高速计数器的一般使用方法。
例:旋转编码器脉冲当量的现场测试。
前面已经指出,根据传送带主动轴直径计算旋转编码器的脉冲当量,其结果只是一个估算值。在分拣单元安装调试时,除了要仔细调整尽量减少安装偏差外,尚须现场测试脉冲当量值。一种测试方法的步骤如下:
分拣单元安装调试时,必须仔细调整电动机与主动轴联轴的同心度和传送皮带的张紧度。调节张紧度的两个调节螺栓应平衡调节,避免皮带运行时跑偏。传送带张紧度以电动机在输入频率为1Hz时能顺利启动,低于1Hz时难以启动为宜。测试时可把变频器设置为Pr.79
=1
安装调整结束后,变频器参数设置为:
Pr.79
Pr.4=25Hz(高速段运行频率设定值)
编写图5-20所示的程序,编译后传送到PLC。
图5-22
运行PLC程序,并置于监控方式。在传送带进料口中心处放下工件后,按启动按钮启动运行。工件被传送到一段较长的距离后,按下停止按钮停止运行。观察监控界面上C251的读数,将此值填写到表5-12的“高速计数脉冲数”一栏中。然后在传送带上测量工件移动的距离,把测量值填写到表中“工件移动距离”一栏中;把监控界面上观察到的高速计数脉冲值,填写到“高速计数脉冲数”一栏中,则脉冲当量μ计算值=工件移动距离/高速计数脉冲数,填写到相应栏目中。
表5-12
序号 |
工件移动距离 (测量值) |
高速计数脉冲数 (测试值) |
脉冲当量μ (计算值) |
第一次 |
357.8 |
1391 |
0.2571 |
第二次 |
358 |
1392 |
0.2571 |
第三次 |
360.5 |
1394 |
0.2586 |
重新把工件放到进料口中心处,按下启动按钮即进行第二次测试。进行三次测试后,求出脉冲当量μ平均值为:μ=(μ1+μ2+μ3)/3=0.2576。
在本项工作任务中,编程高速计数器的目的,是根据C251当前值确定工件位置,与存储到指定的变量存储器的特定位置数据进行比较,以确定程序的流向。
注意:特定位置数据均从进料口开始计算,因此,每当待分拣工件下料到进料口,电机开始启动时,必须对C251的当前值进行一次复位(清零)操作。