发明名称 |
一种利用增量型编码器的圈数记录方法 |
摘要 |
本发明提供一种利用增量型编码器的圈数记录方法,1)使用变频器读取增量型编码器编码数据,通过公式1,根据编码器数据计算得到旋转圈数n;2)分别对正、负跳变进行判断;3)采用公式2对编码器旋转圈数进行修正;4)用公式2计算编码器实际旋转圈数的方法是若判断出发生正跳变则将跳变的次数乘以负的圈数范围后加上当前显示值;若发生负跳变则将跳变的次数乘以圈数范围后加上当前显示值;无跳变则当前显示值便是实际圈数值。本发明可解决利用增量型编码器记录旋转圈数时计数值发生正、负跳变导致记录数据错误的问题,实现不需要增加绝对值型编码器仅用增量型编码器便能记录旋转圈数的圈数记录方法。 |
申请公布号 |
CN103178832A |
申请公布日期 |
2013.06.26 |
申请号 |
CN201310063319.4 |
申请日期 |
2013.02.28 |
申请人 |
中冶连铸技术工程股份有限公司 |
发明人 |
蒋晓亮;肖海健 |
分类号 |
H03K21/00(2006.01)I |
主分类号 |
H03K21/00(2006.01)I |
代理机构 |
武汉帅丞知识产权代理有限公司 42220 |
代理人 |
朱必武 |
主权项 |
1.一种利用增量型编码器的圈数记录方法,其特征在于,包括如下步骤:1)使用变频器读取增量型编码器编码数据,通过公式1,根据编码器数据计算得到旋转圈数n:<img file="2013100633194100001DEST_PATH_IMAGE001.GIF" wi="71" he="56" />(公式1)n:编码器旋转圈数(有符号浮点数,正负表示方向,小数部分为未满一圈),A:0位到15位数值(以十进制表示),B:0位到N位数值即2N(以十进制表示),C:编码器精度(由编码器型号确定);2)通过公式1计算出旋转圈数n后,由于编码器旋转一定圈数后则其所记录的数据必会发送正、负跳变,则需分别对正、负跳变进行判断,判断方法是:分别对正、负跳变进行处理,当编码器旋转时第一步判断跳变发生,由正、负跳变的定义可知将程序本次计算到的圈数值减去下一次计算到圈数,由于程序扫描周期短仅有十几毫秒对于转速为1500rpm的电机在一个程序扫描周期内最快仅旋转1500/6000=0.25圈,因此只有当发生跳变时两次圈数值之差的绝对值才会大于128,后一次数据与前一次之差大于128则是正跳变,小于-128则是负跳变,判断出跳变发生后便可进行修正;3)对编码器旋转圈数进行修正,采用如下公式:<img file="263363DEST_PATH_IMAGE002.GIF" wi="255" he="139" />(公式2)N<sub>ACT</sub>:编码器实际旋转圈数(有符号浮点数,正负表示方向,小数部分为未满一圈),B:编码器数据所能表示的圈数范围,C:发生跳变的次数,4)用公式2计算编码器实际旋转圈数的方法是若判断出发生正跳变则将跳变的次数乘以负的圈数范围后加上当前显示值;若发生负跳变则将跳变的次数乘以圈数范围后加上当前显示值;无跳变则当前显示值便是实际圈数值。 |
地址 |
430073 湖北省武汉市东湖新技术开发区关南工业园光谷大道51号(流芳邮局) |