一种正余弦编码器高精度信号处理系统及其方法与流程

文档序号:11944576阅读:1513来源:国知局
一种正余弦编码器高精度信号处理系统及其方法与流程

本发明涉及一种信号处理系统,尤其涉及一种正余弦编码器高精度信号处理系统及其方法。



背景技术:

增量式正余弦编码器是一种测量角位移和角速度的精密传感器。正余弦编码器以其分辨率高、精度高、无接触测量、使用可靠等优点,被广泛用于精密测量和实时控制等科技领域。

随着数控系统以及现代工业控制系统的精度要求越来越高,需要更高分辨率和精度的编码器。但是仅仅依靠硬件性能的提升无法满足用户对电机转子的瞬时位置和瞬时速度的更高分辨率的要求,因此,还需要进一步对编码器输出的正余弦信号进行电子学细分,以提升转子实时位置值的精度。常用的电子学细分方法有反正切直接求取法、CORDIC算法、查表法、麦克劳林级数法、闭环跟踪法、信号注入法等。输出信号为TTL方波的编码器,其信号只能进行4倍频,无法满足对转子实时位置值有更高分辨率要求的应用领域;而输出信号为正余弦的编码器,理论上其信号可以通过电子学进行任意倍数细分,因而正余弦编码器在对转子实时位置值有更高细分要求的场合得以广泛的应用。



技术实现要素:

本发明的目的在于提供一种正余弦编码器高精度信号处理系统及其方法,其解决了对原始信号进行任意倍数的细分的技术难题,理论上可以任意细分,从而可以通过计算获得比原始信号分辨率更高的转子实时角度值(rad)和转子实时速度值(rad/s)。

本发明通过以下技术方案实现:一种正余弦编码器高精度信号处理方法,其用于处理增量式旋转编码器输出的两路相位相差90度的Asinα与Bcosα;先对编码器信号Asinα与Bcosα进行差分放大和整形滤波处理,然后再进行粗码计数获得粗码信息,并通过基于坐标旋转数字算法直接求取反正切值的电子学细分方法获得实时精插补位置值,最后,将粗码信息和实时精插补位置值整合,得到高精度的电机实时角位置和实时角速度。

作为上述方案的进一步改进,编码器信号经过转换处理后,得出电机角度位置;在转换处理时,将编码器输出信号分为两路,一路信号Asinα和Bcosα经过差分调理电路、放大器、修整电路和比较器进行信号调理之后,转换为TTL脉冲信号,经滤波处理将TTL信号连接到编码器的接口单元,进行4倍频计数,得到编码器的粗码信息即实时粗位置值;另一路信号Asinα和Bcosα经过高速运算放大器以及RC滤波电路传输到模拟多路复用器,然后经过采样保持放大器处理后,传输给AD转换单元,得到采样精度为AD转换器位数的数字信号(本发明实施例AD转换器的位数为16),将得到的数字信号进行精码误差修正;接着采用电子学细分算法,直接求反正切值,得出编码器电角度α,通过电角度α可以得到实时精插补位置值。

优选地,用电子学细分算法时,为更快的实现反三角函数求值,采用坐标旋转公式,通过迭代的方法,不断旋转编码器的特定角度,每次旋转的角度β=ATAN(1/2i),使得累计旋转的角度之和无限接近某一设定的角度,2i表示CORDIC算法迭代i次之后的角度累加值,i代表迭代次数。

作为上述方案的进一步改进,实时精插补位置值通过精插补计算获得:先获取AD转换后的Asinα与Bcosα的量化值和符号;计算ATAN(|Asinα/Bcosα|);判断是否Asinα*Bcosα≥0;是则α=ATAN(|Asinα/Bcosα|),否则,α=90°-ATAN(|Asinα/Bcosα|)。

本发明还提供一种应用上述正余弦编码器高精度信号处理方法的正余弦编码器高精度信号处理系统,其用于处理增量式旋转编码器输出的两路相位相差90度的Asinα与Bcosα;正余弦编码器高精度信号处理系统包括差分放大器一、差分放大器二、AD转换子系统一、AD转换子系统二、四倍频子系统、乘法器一、CORDIC算法子系统、精码计算子系统、速度计算子系统、乘法器二、CRC校验子系统一、CRC校验子系统二;其中,所述差分放大器一的输入端接收Asinα,所述差分放大器一的输出端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入端一;所述差分放大器二的输入端接收Bcosα,所述差分放大器二的输出端同时连接所述AD转换子系统二的输入端和所述四倍频子系统的输入端二;两个AD转换子系统的两路输出信号连接所述CORDIC算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接所述符号判断单元的两个输入端,所述符号判断单元的输出端、所述CORDIC算法子系统的输出端分别连接所述精码计算子系统的两个输入端;所述四倍频子系统的输出信号与所述精码计算子系统的输出信号进行叠加后送至所述乘法器二的输入端一,所述乘法器二的输出端同时连接所述CRC校验子系统一的输入端、所述速度计算子系统的输入端;所述CRC校验子系统一的输出端作为整个正余弦编码器高精度信号处理系统的输出端一,所述速度计算子系统的输出端连接所述CRC校验子系统二的输入端,所述CRC校验子系统二的输出端作为整个正余弦编码器高精度信号处理系统的输出端二。

作为上述方案的进一步改进,每个AD转换子系统包括限幅器、求绝对值一、差分放大器三、量化器一、开关一。限幅器的输入AD_in来自差分放大器一和差分放大器二,并把输入信号限制在规定的幅度内;一方面,限幅器的输出依次经过求绝对值、增益放大、量化为数字值作为AD转换子系统的输出AD_out1;另一方面,限幅器的输出给开关一,开关一判断接收到的信号是正还是负,倘若接收到的信号大于零,则开关一输出1,作为AD转换子系统的输出AD_out2=1,倘若接收到的信号小于零,则开关一输出-1,作为AD转换子系统的输出AD_out2=-1。

进一步地,所述CORDIC算法子系统包括:求绝对值二、求绝对值三、CORDIC三角函数算法;COR_in1、COR_in2是CORDIC算法子系统的输入,且COR_in1=AD1_out1,COR_in2=AD2_out1,经CORDIC三角函数算法计算后,作为CORDIC算法子系统的输出COR_out。

优选地,所述精码计算子系统包括开关二、乘法器三;Fine_in1、Fine_in2是精码计算子系统的输入,且Fine_in1=COR_out,Fine_in2=Pro1_out;开关二判断输入的Fine_in二是正还是负,倘若Fine_in二大于零,则开关二的输出=Pi/2-Fine_in1,倘若Fine_in二小于零,则开关二的输出=Fine_in1;开关二的输出要乘以常数2/Pi作为精码计算子系统的输出Fine_out。

再优选地,所述四倍频子系统包括比较放大器一、比较放大器二、数据类型转换器、D触发器、计数器一、计数器二、加法器;Muti4_in1、Muti4_in2是四倍频子系统的输入,且Muti4_in1=gain1_out,Muti4_in2=gain2_out;Muti4_in1经过数据类型转换后输送给D触发器的D端,Muti4_in2输送给D触发器的CP端,D触发器的输出Q、Q′分别输送给计数器一和计数器二,计数器一和计数器二是增减计数器,对输入脉冲的上升沿和下降沿都做+1计数,计数器一和计数器二的输出经加法器求和后作为四倍频子系统的输出Muti4_out。

再优选地,速度计算子系统包括:0~n个采样保持、减法器、除法器;延迟一次是一个系统时钟的时间长度ΔT,延迟的次数是任意的,V_cal_in是速度计算子系统的输入,且V_cal_in=Pro2_out,Pro2_out是乘法器二的输出,减法器把m时刻的Pro2_out采样保持多个系统时钟获得V_cal_in,记录为λm,同时采集当前时刻的Pro2_out,记录为λm+n,其中的n是采样保持的系统时钟的个数(本发明实施例中以n=10为例),计算结果输出给除法器,计算结果(λm+nm)/(n×ΔT)作为速度计算子系统输出V_cal_out。

本发明为了实现更高倍数的编码器细分倍频,在四倍频计数的基础之上,对正余弦编码器信号进行AD采样求实时精插补位置值。本发明提出了采用小范围法计算不足一个周期的电角度值,将每次测量角度范围缩小至0~90°,Matlab/Simulink仿真结果显示,此方法具有较好的可行性。实验对100kHz的2048线编码器输出电信号进行了每个电角度周期40倍细分,分辨率达到了15.82″。在测速方面,采用了改进的M/T测速法(M/T测速法是一种公知的算法),计算90个采样周期的电角度变化值,以求得电机速度值,实验显示,速度误差值在±0.000115rad/s之内。

附图说明

图1为本发明的正余弦编码器高精度信号处理系统的仿真结构示意图。

图2为图1中正余弦编码器高精度信号处理系统的AD转换子系统的结构示意图。

图3为图1中正余弦编码器高精度信号处理系统的CORDIC算法子系统的结构示意图。

图4为图1中正余弦编码器高精度信号处理系统的精码计算子系统的结构示意图。

图5为图1中正余弦编码器高精度信号处理系统的四倍频子系统的结构示意图。

图6为图1中正余弦编码器高精度信号处理系统的速度计算子系统的结构示意图。

图7为图1中正余弦编码器高精度信号处理系统的CRC校验子系统的结构示意图。

图8为编码器正向旋转输出信号波形图。

图9为旋转编码器信号处理系统原理框图。

图10为信号调理及接口电路。

图11为编码器接口单元粗位置计数示意图。

图12为编码器的状态变化信息图。

图13为CORDIC坐标平面旋转示意图。

图14为精插补计算程序流程图。

图15为差分信号经信号调理电路后的输出波形图。

图16为|A|、|B|信号量化值与精插补值α的示意图。

图17为不同采样周期数时仿真测得速度误差曲线图。

具体实施方式

以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明的正余弦编码器高精度信号处理系统用于处理增量式旋转编码器输出的两路相位相差90度的Asinα与Bcosα。请参阅图1,所述正余弦编码器高精度信号处理系统包括差分放大器一(Gain1)、差分放大器二(Gain2)、AD转换子系统一、AD转换子系统二、四倍频子系统、乘法器一(product 1)、CORDIC算法子系统、精码计算子系统、速度计算子系统、乘法器二(product 2)、CRC校验子系统一、CRC校验子系统二。

所述差分放大器一(Gain1)的输入端接收Asinα,所述差分放大器一(Gain1)的输出端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入端一。所述差分放大器二(Gain2)的输入端接收Bcosα,所述差分放大器二(Gain2)的输出端同时连接所述AD转换子系统二的输入端和所述四倍频子系统的输入端二。两个AD转换子系统的两路输出信号连接所述CORDIC算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接所述乘法器一的两个输入端,所述乘法器一的输出端、CORDIC算法子系统的输出端分别连接所述精码计算子系统的两个输入端。所述四倍频子系统的输出信号与所述精码计算子系统的输出信号进行叠加后送至所述乘法器二的输入端一,所述乘法器二的输入端二接收pi/4096信号,pi是圆周率,该数值由机械旋转角度λ计算公式而得,所述乘法器二的输出端同时连接所述CRC校验子系统一的输入端、所述速度计算子系统的输入端。所述CRC校验子系统一的输出端作为整个正余弦编码器高精度信号处理系统的输出端一,所述速度计算子系统的输出端连接所述CRC校验子系统二的输入端,所述CRC校验子系统二的输出端作为整个正余弦编码器高精度信号处理系统的输出端二。

故,所述差分放大器一的输入是Asinα,所述差分放大器一的输出端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入端一。所述差分放大器二的输入是Bcosα,所述差分放大器二的输出端同时连接所述AD转换子系统二的输入端和所述四倍频子系统的输入端二。两个AD转换子系统的两路输出信号连接所述CORDIC算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接乘法器一的两个输入端,乘法器一作为符号判断单元,所述乘法器一的输出端、所述CORDIC算法子系统的输出端分别连接所述精码计算子系统的两个输入端。

请参阅图2,每个AD转换子系统包括限幅器(original signal)、求绝对值一(Abs1)、差分放大器三(Gain3)、量化器一(Quantizer1)、开关一(Switch1)。所述限幅器的一端作为AD转换子系统的输入端,所述限幅器的另一端依次串接求绝对值一、差分放大器三、量化器一,所述量化器一的输出端作为AD转换子系统的输出端一。限幅器的输入AD_in来自差分放大器一和差分放大器二(gain1_out、gain2_out,且AD1_in=gain1_out,AD2_in=gain2_out),并把输入信号限制在规定的幅度内,一方面,限幅器的输出依次经过求绝对值、按216=65535(这里是以16位AD转换器为例)差分放大器三的放大、量化器一的量化为数字值作为AD转换子系统的输出AD_out1;另一方面,限幅器的输出给开关一,开关一判断接收到的信号是正还是负,倘若接收到的信号大于零,则开关一输出1,作为AD转换子系统的输出AD_out2=1,倘若接收到的信号小于零,则开关一输出-1,作为AD转换子系统的输出AD_out2=-1。

限幅器一的另一路输出接开关一,开关一根据限幅器输出的信号是否大于零而选择输出1还是-1,所述开关一的输出端作为AD转换子系统的输出端二。AD转换子系统一、二的AD_out1(AD1_out1、AD2_out1)分别作为CORDIC算法子系统的输入。AD转换子系统一、二的AD_out2(AD1_out1、AD2_out1)分别作为乘法器一的输入,用于符号判别,判断电机转子实时位置处于坐标平面的哪个象限。

乘法器一的输出为Pro1_out。

请参阅图3,所述CORDIC算法子系统包括求绝对值二(Abs2)、求绝对值三(Abs3)、CORDIC三角函数算法(Trigonometric Function)。Abs2、Abs3的一端分别作为所述CORDIC算法子系统的两个输入端,Abs2、Abs3的另一端分别连接CORDIC三角函数算法(Trigonometric Function)的两个输入端,CORDIC三角函数算法(Trigonometric Function)的输出端作为所述CORDIC算法子系统的输出端。COR_in1、COR_in2是CORDIC算法子系统的输入,且COR_in1=AD1_out1,COR_in2=AD2_out1,经CORDIC三角函数算法计算后,作为CORDIC算法子系统的输出COR_out。

请参阅图4,所述精码计算子系统即精插补计算单元包括开关二(switch 2)、乘法器三(product3)。所述开关二的两个输入触点分别作为所述精码计算子系统的两个输入端,且其中一个输入触点的输入信号负反馈于pi/2的信号后再接入所述开关二的剩下一个输入触点。所述开关二的输出触点连接product3的输入端一,product3的输入端二接收2/pi的常数,product3的输出端作为所述精码计算子系统的输出端。Fine_in1、Fine_in2是精码计算子系统的输入,且Fine_in1=COR_out,Fine_in2=Pro1_out。开关二判断输入的Fine_in二是正还是负,倘若Fine_in二大于零,则开关二的输出=(Pi/2-Fine_in1),倘若Fine_in二小于零,则开关二的输出=Fine_in1。开关二的输出要乘以常数2/Pi作为精码计算子系统的输出Fine_out。

请参阅图5,所述四倍频子系统包括比较放大器一(sign1)、比较放大器二(sign2)、数据类型转换器(convert)、D触发器(D Latch)、计数器一(count1)、计数器二(count2)、加法器(ADD)。sign1的输入端作为所述四倍频子系统的输入端一,sign1的输出端一方面连接计数器一的控制端,另一方面经由数据类型转换器连接D Latch的输出端一。sign2的输入端作为所述四倍频子系统的输入端二,sign2的输出端一方面连接计数器二的控制端,另一方面连接D Latch的输出端二。D Latch的同相输出端连接两个计数器的增数计数位,D Latch的反相输出端连接两个计数器的减数计数位;两个计数器的输出端经加法器运算后作为所述四倍频子系统的输出端。

Muti4_in1、Muti4_in2是四倍频子系统的输入,且Muti4_in1=gain1_out,Muti4_in2=gain2_out。Muti4_in1经过数据类型转换后输送给D触发器的D端,Muti4_in2输送给D触发器的CP端,D触发器的输出Q、Q′分别输送给计数器一和计数器二,计数器一和计数器二是增减计数器,对输入脉冲的上升沿和下降沿都做+1计数,计数器一和计数器二的输出经加法器求和后作为四倍频子系统的输出Muti4_out。

请参阅图6,速度计算子系统包括n个采样保持(delay0~n)、减法器、除法器(Divide)。在本实施例中采用10个采样保持delay0~9。速度计算子系统的输出端经过依次串接的10个采样保持delay0~9再负反馈至其输入上,采用减法器运算,然后传送至除法器的分子,除法器的分母输入除数,比如10×ΔT=0.00001,除法器的输出作为整个速度计算子系统的输出端。

延迟一次是一个系统时钟的时间长度ΔT,延迟的次数是任意的,本发明中以10次为例,即delay0~9,V_cal_in是速度计算子系统的输入,且V_cal_in=Pro2_out(乘法器二的输出),减法器把m时刻的Pro2_out采样保持10个系统时钟获得V_cal_in,记录为λm,同时采集当前时刻的Pro2_out,记录为λm+n,其中的n是采样保持的系统时钟的个数,计算结果输出给除法器,计算结果(λm+nm)/(n×ΔT)作为速度计算子系统输出V_cal_out,本发明中以(n×ΔT)=0.00001为例。

请参阅图7,每个CRC校验子系统包括乘法器四(Product4)、量化器二(Quantizer2)、整形数转位转换器(Integer to Bit Converter)、CRC发生器(General CRC Generator)。Product4的一个输入端作为CRC校验子系统的输入端,Product4的另一个输入端接收常数,Product4的输出端依次串接量化器二、整形数转位转换器、CRC发生器,CRC发生器的输出端作为CRC校验子系统的输出端。CRC_in是CRC校验子系统的输入,且CRC1_in=Pro2_out,CRC2_in=V_Cal_out。CRC_in与校验码常数经乘法器4做乘法运算,运算结果经量化器2量化,量化结果再转换成比特值,最后在CRC校验发生器中做CRC运算,其结果作为CRC校验子系统的输出CRC_out。CRC校验子系统一是对精码实时位置值的CRC计算,CRC校验子系统二是对实时速度值的CRC计算。

实施例1

1.增量式旋转编码器信号处理原理

在理想状况下,增量式旋转编码器输出A、B两路相位相差90度的正余弦信号。当编码器正方向旋转式,B输出信号相位滞后A信号90度;反之,当编码器反方向旋转时,A输出信号相位滞后B信号90度。编码器正向旋转时输出信号波形,如图8所示,图8为编码器正向旋转输出信号波形图。

编码器初始信号需要经过转换处理后,才可以得出电机角度位置等信息。在信号处理方面,将编码器输出信号分为两路,如图9所示,图9为旋转编码器信号处理系统原理框图。一路信号经过差分放大器、比例放大器、转换为TTL脉冲信号,经滤波处理将TTL信号连接到ADSP-CM408混合信号控制处理器的EIU(Encoder Interface Unit)编码器接口单元,进行4倍频计数,得到编码器粗码信息;另一路信号Asinα和Bcosα经过高速运算放大器以及RC滤波电路传输到ADSP-CM408的模拟多路复用器,然后经过采样保持放大器处理后,传输给AD转换单元,得到十六位采样精度的数字信号,将得到的数字信号进行精码误差修正。接着采用电子学细分算法,直接求反正切值,得出编码器电角度α,通过电角度α可以得到编码器精码信号。最后,将粗码信息和精插补信息加在一起,就得出了精确的电机角位置角速度等信息。

信号调理电路采用ADI公司的ADA4899高速运算放大器,将正余弦信号经两级放大整形后得到调理后的正余弦模拟信号;然后再经过比较放大器,输出高电平为3.3V,低电平为0V的TTL电平信号,信号调理电路如图10所示,图10为信号调理及接口电路。

2.EIU粗位置计数

编码器接口单元采用四倍频计数方式,并判断编码器旋转方向。对于编码器输出的整周期正余弦信号,经过比较器将其转换为周期数相等的TTL脉冲信号,将TTL脉冲信号输入EIU单元,进行脉冲计数,如图11所示,图11为编码器接口单元粗位置计数示意图。EIU单元的CNT0_UD、CNT0_DG(图10)端口输入两路Ti1、Ti2(图12)脉冲信号,根据其高低电平的不同,形成两位变化的格雷码信息。在进行粗位置计数之前,需要先对脉冲信号进行双D触发器滤波处理。

当编码器正转时,两位格雷码信号变化规律为10、11、01、00、10循环变化;当编码器反转时,两位格雷码信号变化规律为01、11、10、00、01循环变化。每一次状态变化,可逆计数器都对应一次增或减计数。因此,一个信号周期进行四次计数,即四倍频计数。当有干扰或故障发生时,比如抖动,会引起其他状态的发生,此时编码器不进行计数,其状态变化信息如图12所示。

3.高分辨率细分位置信息

当电角度不足一个周期时,为了更精确地反馈实时信息,需要采用电子学细分算法进行倍频,以获得更高精度的电机角位置与角速度。ADSP-CM408MCU搭载240MHz的ARM Cortex-M4内核,具有浮点运算功能,提高运算速度,还可对编码器输出两路正余弦信号同时进行双通道AD采样,采样时间为150ns,转换时间380ns。

3.1CORDIC算法求反正切

电子学细分算法主要使用反正切直接求值法。电角度α的计算公式为:为了更快的实现反三角函数求值,J.Volder于1959年提出了一种快速算法,称之为CORDIC(Cordinate Rotation Digital Computer)算法。该算法在保证运算精度的情况下,使运算时间大大减少。CORDIC算法如图13所示,图13为CORDIC平面坐标旋转示意图。将X、Y轴坐标旋转一定的度数,通过N次迭代运算,当纵坐标旋转为0时,那么旋转的度数就是β。设(x,y)是原始坐标点,将其以原点为中心,顺时针旋转β之后的坐标记为(x′,y′)。

则有如下逆时针坐标旋转公式:

但是,上述公式在运算的时候会有四次乘法运算,运算量还是较大,进一步改进算法。此时提取出了一个乘法因子cosα,由矩阵运算公式可知,去掉cosα,每次旋转后的新坐标点到原点的距离变长了,增长因子为1/cosα。但是,对于所求的α值并没有影响。这样运算量就变为两次乘法运算。于是就得到了如下的坐标旋转公式:

通过迭代的方法,不断的旋转特定的角度,每次旋转的角度β=ATAN(1/2i),使得累计旋转的角度之和无限接近某一设定的角度。这是一个不断修正的过程,为了使y值无限逼近于零,当某次旋转一定角度得出y值为负值时,则下次旋转需修正为反方向旋转。于是,CORDIC算法迭代公式为:

则角度累加公式为:zi+1=zi+diαi;di=±1,其中,Zi表示CORDIC算法迭代i次之后的角度累加值;符号di是判决因子,决定旋转方向,其正负取决于迭代后所得yi值得正负。角度累加公式所求结果即为电角度α的值。

3.2实时精插补位置值

由于单纯的依靠四倍频已经无法满足要求,还需要更高精度的细分,而正余弦信号细分技术可以得到实时精插补位置值。

当选择0~360°进行电子学细分时,若采用CORDIC算法进行逼近的时候,如果角度值较大,需要逼近的次数较大,间接地增加了运算量,使得运算时间增加,从而不利于系统的实时性。因此,本文采用0~90°小范围法计算电角度,由于粗码计数时采用了四倍频计数,每次计算电角度的值时就可以只计算未足四分之一周期的角度大小,将测量范围缩小至0~90度,这样在用CORDIC算法求反正切值时就减少了迭代次数,进而减少了运算时间。而且,此方法可以达到几十倍以上的细分精度,理论上其上限受限于AD采样时间和转换时间以及MCU的运算快慢。由CORDIC算法得出反正切值,再由公式⑴求得实时精插补位置值。

其软件算法实现流程图如图14所示,图14为精插补计算程序流程图,所述精码计算子系统的精插补方法包括:先获取AD转换后的Asinα与Bcosα的量化值,并判断其符号;计算ATAN(|Asinα/Bcosα|);判断Asinα*Bcosα是否大于等于0;是则α=ATAN(|Asinα/Bcosα|),否则,α=90°-ATAN(|Asinα/Bcosα|)。

3.3电机位置信息

高精度的电机旋转角度值有两部分组成,将得到的粗码信号和精码信号即实时精插补位置值进行组合,得到编码器的机械旋转角度λ。机械旋转角度λ的计算公式为:

其中,N表示电机转子旋转一周产生的信号周期数;Z表示电机实际旋转产生的信号周期数;λ0表示电机转子的初始位置。

在测量电机转速时,改进了M/T测速方法,采用基于采样角度的变化,测量10个采样周期的角度变化值,这样就消除了M法单位时间内脉冲数少和T法两脉冲间时间短的问题,同时也克服了M/T法的实时性不足,测量精度较高。将机械角度λ传给ADSP-CM408控制处理器进行运算处理,以获取电机的转速、位置和转向等数据信息。电机转速算法为:其中,λm+n为第m+n个机械旋转角度;λm为第m个机械旋转角度;△T为采样时间。

4.实验仿真分析

信号调理电路首先在Multisim电路仿真软件进行仿真。如图15所示为差分信号经信号调理电路后的输出波形图。

原始信号经调理之后,得到较为理想的信号波形。将调理后的信号作为Simulink仿真的信号源,经过16位AD转换、CORDIC算法得到精插补信息,而源信号经放大器、比较器以及四倍频计数之后得到粗码信息,两者相加得到完整位置值信息,再经过32位的CRC校验,输出到CRC1_out;速度值经过32位CRC校验之后,输出到CRC2_out。其Simulink仿真模型如图1所示。仿真时,仿真步长设置为0.1s,输入信号频率为100kHz,采样时间为0.25us。经仿真分析可知,如图16所示,图16为|A|、|B|信号量化值与精插补值α的示意图。在对A、B信号即Asinα、Bcosα经过AD转换器采样量化之后,取绝对值运算,得到量化值,经过CORDIC运算之后,求出反正切值α,其值在0~90°范围周期复现,因此,公式⑴的算法较好的实现了对编码器正余弦信号的细分倍频。

实验室里采用海德汉2048线正余弦编码器,转速3000rpm,编码器输出正余弦信号的频率为102.4kHz。在0.1s内理论机械角为30.679616rad,实际转子角度值为30.678849rad,误差为0.000767rad;而速度理论值为306.796158rad/s。图17为不同采样周期数时仿真测得速度误差曲线图,不同采样周期测得速度与理论值的差值分别为10、30、50、70、90个采样周期测一次速度时测得速度误差数据。当以10个采样周期作为测速周期时,误差较大,随着采样周期增加,误差有所减少,其误差数值如表1所示。

表1 不同采样周期数测得速度误差值

5.结论

为了实现更高倍数的编码器细分倍频,在四倍频计数的基础之上,对正余弦编码器信号进行AD采样求实时精插补位置值。文中提出了采用小范围法计算不足一个周期的电角度值,将每次测量角度范围缩小至0~90°,Matlab/Simulink仿真结果显示,此方法具有较好的可行性。实验对100kHz的2048线编码器输出电信号进行了每个电角度周期40倍细分,分辨率达到了15.82″。在测速方面,采用了改进M/T测速法,计算90个采样周期的电角度变化值,以求得电机速度值,实验显示,速度误差值在±0.000115rad/s之内。

其它有关信息可参考本公司专利文献CN201510465550.5、CN201520574867.8、CN201510467898.8、CN201610029229.7、CN201610029321.3、CN201510465547.3、CN201520570360.5。

实施例2

假设实际应用时:

1.编码器分辨率为2048线;

2.电机转速为3000rpm;

3.电机每旋转一圈丝杆进给量为5mm,即5mm/r;

4.进给量分辨率达到0.0001mm,对应机械角度即为360/(5/0.0001)=0.0072°=25.92″。

设编码器细分倍数为N,则:得出N>24.4,即最小25倍频。注:由于在编码器接口单元已经四倍频,因此要想达到理想分辨率,还需要再进行7倍频,这样整体细分倍数达到28倍频。

当转速为3000rpm时,如图8所示,编码器输出正余弦信号的频率为:

精插补计算公式:

机械旋转角度计算公式:

速度计算公式:

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1