专利名称:一种利用增量型编码器的圈数记录方法
技术领域:
本发明涉及一种利用增量型编码器的圈数记录方法,属于电机传动系统的圈数记录技术领域。
背景技术:
电机传动系统中的定位控制往往是基于反馈的概念,反馈理论的核心包括四个部分,给定、反馈测量、比较和执行。其控制框图如
图1所示。
使用编码器进行反馈被广泛应用于电机传动系统中。电机传动系统为提高定位精度首先需要对传动速度进行精确控制,多使用带增量型编码器反馈的速度控制(图2)。而为了记录运行圈数或计算运行距离往往会在某个合适的设备上安装绝对值型编码器进行数据记录(图3)。因此为了实现位置控制一般使用上述两种编码器进行反馈。
增量型编码器与电动机同轴安装,当电动机旋转时编码器同步旋转。根据编码器精度的不同每旋转一圈的编码值不同。现在使用的增量型编码器大致分为1024、2048、4096等不同精度即每旋转一圈产生1024、2048、4096个脉冲。通过对脉冲数的记录和计算得到电动机的旋转速度并与给定速度比较进行修正。
绝对值编码器进行旋转圈数记录是通过一个与旋转设备同轴安装的绝对值编码器进行数据记录,当设备旋转时编码器同步转动同时将编码器产生的编码数据输出到数据处理器进行数据的记录和运算。
仔细分析上述控制策略,为了进行准确定位需安装与电机同轴的增量型编码器和与设备同轴的绝对值型编码器,增加了投入和运行成本。而增量型编码器对数据进行记录一般以下列形式:增量型编码器脉冲数存储于一个有符号双整形参数中(以2进制表示),其结构如图4(以1024脉冲增量编码器为例)。
由图4可知O位到N-1位为当编码器旋转一周传动装置接收到的计数值(正负方向均为正值),本例中每转一周值依次逐步从O变到2048 ;N位到31位为当编码器旋转一周增加等于编码器精度的值(正方向为正值,负方向为负值,且以N位为O位计),本例中每转一周值从O跳变至1024。因此N的设置决定了编码器所记录圈数的精度,而由于数据总长度为32位有符号型整数设置较高的精度则会导致所记录数据的较早溢出跳变。
因此,本发明就是解决使用增量型编码器进行圈数记录并在保证较高的记录精度的同时避免正、负跳变导致记录数据错误的问题。发明内容
本发明的目的是:解决利用增量型编码器记录旋转圈数时计数值发生正、负跳变导致记录数据错误的问题,从而提供一种利用增量型编码器的圈数记录方法,实现不需要增加绝对值型编码器仅用增量型编码器便能记录旋转圈数。
本发明的技术方案是:一种利用增量型编码器的圈数记录方法,其特征在于,包括如下步骤:1)使用变频器读取增量型编码器编码数据,通过公式I,根据编码器数据计算得到旋转圈数η:
权利要求
1.一种利用增量型编码器的圈数记录方法,其特征在于,包括如下步骤: 1)使用变频器读取增量型编码器编码数据,通过公式I,根据编码器数据计算得到旋转圈数η: A B =—(公式I) BXC η:编码器旋转圈数(有符号浮点数,正负表示方向,小数部分为未满一圈), A:0位到15位数值(以十进制表示), B:0位到N位数值即2Ν(以十进制表示), C:编码器精度(由编码器型号确定); 2)通过公式I计算出旋转圈数η后,由于编码器旋转一定圈数后则其所记录的数据必会发送正、负跳变,则需分别对正、负跳变进行判断,判断方法是:分别对正、负跳变进行处理,当编码器旋转时第一步判断跳变发生,由正、负跳变的定义可知将程序本次计算到的圈数值减去下一次计算到圈数,由于程序扫描周期短仅有十几毫秒对于转速为1500rpm的电机在一个程序扫描周期内最快仅旋转1500/6000=0.25圈,因此只有当发生跳变时两次圈数值之差的绝对值才会大于128,后一次数据与前一次之差大于128则是正跳变,小于-128则是负跳变,判断出跳变发生后便可进行修正; 3)对编码器旋转圈数进行修正,采用如下公式: -BxC + n(IESt) Nact = ^ η(无_变)(公式2) ^ixC + n (ft職变) Nact:编码器实际旋转圈数(有符号浮点数,正负表示方向,小数部分为未满一圈), B:编码器数据所能表示的圈数范围, C:发生跳变的次数, 4)用公式2计算编码器实际旋转圈数的方法是若判断出发生正跳变则将跳变的次数乘以负的圈数范围后加上当前显示值;若发生负跳变则将跳变的次数乘以圈数范围后加上当前显示值;无跳变则当前显示值便是实际圈数值。
2.根据权利要求1所述 的一种利用增量型编码器的圈数记录方法,其特征在于,判断出发生正、负跳变的关键点在于:在编码器数据中选择不同的N值则发生跳变的圈数是不一样的,N最小则发生跳变的圈数越大但圈数记录的精度越小;两次圈数比较的时间间隔需要足够短,若时间太长发生多次跳变但程序只判断出一次则会使圈数计算不正确。
全文摘要
本发明提供一种利用增量型编码器的圈数记录方法,1)使用变频器读取增量型编码器编码数据,通过公式1,根据编码器数据计算得到旋转圈数n;2)分别对正、负跳变进行判断;3)采用公式2对编码器旋转圈数进行修正;4)用公式2计算编码器实际旋转圈数的方法是若判断出发生正跳变则将跳变的次数乘以负的圈数范围后加上当前显示值;若发生负跳变则将跳变的次数乘以圈数范围后加上当前显示值;无跳变则当前显示值便是实际圈数值。本发明可解决利用增量型编码器记录旋转圈数时计数值发生正、负跳变导致记录数据错误的问题,实现不需要增加绝对值型编码器仅用增量型编码器便能记录旋转圈数的圈数记录方法。
文档编号H03K21/00GK103178832SQ201310063319
公开日2013年6月26日 申请日期2013年2月28日 优先权日2013年2月28日
发明者蒋晓亮, 肖海健 申请人:中冶连铸技术工程股份有限公司