一种正余弦编码器高精度信号处理系统的制作方法

文档序号:10615685阅读:451来源:国知局
一种正余弦编码器高精度信号处理系统的制作方法
【专利摘要】本发明公开了一种正余弦编码器高精度信号处理系统,其包括两个增益电路、两个AD转换子系统、四倍频子系统、乘法器一、CORDIC算法子系统、精码计算子系统、速度计算子系统、乘法器二、两个CRC校验子系统。两个增益电路分别接收相位相差90度的Asinα与Bcosα,输出分别连接两个AD转换子系统和四倍频子系统。乘法器一、CORDIC算法子系统分别连接精码计算子系统。四倍频子系统的输出信号与精码计算子系统的输出信号进行叠加后经由乘法器二连接CRC校验子系统一、速度计算子系统。速度计算子系统连接CRC校验子系统二,两个CRC校验子系统的输出端分别作为整个系统的两个输出端。
【专利说明】
-种正余弦编码器高精度信号处理系统
技术领域
[0001] 本发明设及一种信号处理系统,尤其设及一种正余弦编码器高精度信号处理系 统。
【背景技术】
[0002] 增量式正余弦编码器是一种测量角位移和角速度的精密传感器。正余弦编码器W 其分辨率高、精度高、无接触测量、使用可靠等优点,被广泛用于精密测量和实时控制等科 技领域。
[0003] 随着数控系统W及现代工业控制系统的精度要求越来越高,需要更高分辨率和精 度的编码器。但是仅仅依靠硬件性能的提升还无法满足市场对电机的位置和速度等信号的 高精度要求,因此,还需要进一步对编码器输出正余弦信号进行电子学细分,W提升编码器 信号的精度。常用的电子学细分方法有反正切直接求取法、CORDIC算法、查表法、麦克劳林 级数法、闭环跟踪法、信号注入法等。输出信号为TTL方波的编码器,信号只能进行4倍频,无 法满足对原始信号进行更多细分差值的要求。

【发明内容】

[0004] 本发明的目的在于提供一种正余弦编码器高精度信号处理系统,其解决了对原始 信号进行任意倍数的细分的技术难题,理论上可W任意细分,从而可W通过计算获得比原 始信号分辨率更高的转子实时角度值(rad)和转子实时速度值(rad/s)。
[0005] 本发明通过W下技术方案实现:一种正余弦编码器高精度信号处理系统;其用于 处理增量式旋转编码器输出的两路相位相差90度的Asina与Bcosa;所述正余弦编码器高精 度信号处理系统包括差分放大器一、差分放大器二、AD转换子系统一、AD转换子系统二、四 倍频子系统、乘法器一、CORDIC算法子系统、精码计算子系统、速度计算子系统、乘法器二、 CRC校验子系统一、CRC校验子系统二;其中,所述差分放大器一的输入端接收Asina,所述差 分放大器一的输出端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入 端一;所述差分放大器二的输入端接收Bcosa,所述差分放大器二的输出端同时连接所述AD 转换子系统二的输入端和所述四倍频子系统的输入端二;两个AD转换子系统的两路输出信 号连接所述CORDIC算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接所 述乘法器一的两个输入端,所述乘法器一的输出端、所述CORDIC算法子系统的输出端分别 连接所述精码计算子系统的两个输入端;所述四倍频子系统的输出信号与所述精码计算子 系统的输出信号进行叠加后送至所述乘法器二的输入端一,所述乘法器二的输出端同时连 接所述CRC校验子系统一的输入端、所述速度计算子系统的输入端;所述CRC校验子系统一 的输出端作为整个正余弦编码器高精度信号处理系统的输出端一,所述速度计算子系统的 输出端连接所述CRC校验子系统二的输入端,所述CRC校验子系统二的输出端作为整个正余 弦编码器高精度信号处理系统的输出端二。
[0006] 作为上述方案的进一步改进,所述限幅器的一端作为AD转换子系统的输入端,所 述限幅器的另一端依次串接求绝对值一、差分放大器=、量化器一,所述量化器一的输出端 作为AD转换子系统的输出端一,所述限幅器的另一端还连接所述开关一的一个输入触点; 所述开关一的剩下两个输入触点分别接收两个分别为1和-1的常数,所述开关一的输出端 作为AD转换子系统的输出端二。
[0007] 作为上述方案的进一步改进,所述CORDIC算法子系统包括求绝对值二、求绝对值 =、CORDIC=角函数算法;求绝对值二、求绝对值=的一端分别作为所述CORDIC算法子系统 的两个输入端,求绝对值二、求绝对值S的另一端分别连接CORDICS角函数算法的两个输 入端,CORDICS角函数算法的输出端作为所述CORDIC算法子系统的输出端。
[0008] 作为上述方案的进一步改进,所述精码计算子系统包括开关二、乘法器所述开 关二的两个输入触点分别作为所述精码计算子系统的两个输入端,且其中一个输入触点的 输入信号负反馈一个常数信号后再接入所述开关二的剩下一个输入触点;所述开关二的输 出触点连接乘法器=的输入端,乘法器=的输出端作为所述精码计算子系统的输出端。
[0009] 作为上述方案的进一步改进,所述四倍频子系统包括比较放大器一、比较放大器 二、数据类型转换器、D触发器、计数器一、计数器二、加法器;比较放大器一的输入端作为所 述四倍频子系统的输入端一,比较放大器一的输出端一方面连接计数器一的控制端,另一 方面经由数据类型转换器连接D触发器的输出端一;比较放大器二的输入端作为所述四倍 频子系统的输入端二,比较放大器二的输出端一方面连接计数器二的控制端,另一方面连 接D触发器的输出端二;D触发器的同相输出端连接两个计数器的增数计数位,D触发器的反 相输出端连接两个计数器的减数计数位;两个计数器的输出端经加法器运算后作为所述四 倍频子系统的输出端。
[0010] 作为上述方案的进一步改进,速度计算子系统包括:0~n个采样保持、减法器、除 法器;延迟一次是一个系统时钟的时间长度AT,延迟的次数是任意的,V_cal_in是速度计 算子系统的输入,且V_cal_in = P;ro2_out,P;ro2_out是乘法器二的输出,减法器把m时刻的 P;ro2_out采样保持多个系统时钟获得V_cal_in,记录为Am,同时采集当前时刻的P;ro2_out, 记录为Am+n,其中的n是采样保持的系统时钟的个数,计算结果输出给除法器,计算结果 (Am+n-Am)/(nX A T)作为速度计算子系统输出V_cal_out。
[0011] 作为上述方案的进一步改进,每个CRC校验子系统包括乘法器四、量化器二、整形 数转位转换器、CRC校验发生器;乘法器四的一个输入端作为CRC校验子系统的输入端,乘法 器四的另一个输入端接收常数,乘法器四的输出端依次串接量化器二、整形数转位转换器、 CRC校验发生器,CRC校验发生器的输出端作为CRC校验子系统的输出端。
[0012] 作为上述方案的进一步改进,CORDIC算法子系统在反S角函数求值时,采用坐标 旋转公式,通过迭代的方法,不断旋转编码器的特定角度,每次旋转的角度e = ATAN(l/2i), 使得累计旋转的角度之和无限接近某一设定的角度,21表示CORDIC算法迭代i次之后的角 度累加值,i代表迭代次数。
[0013] 作为上述方案的进一步改进,所述精码计算子系统的精插补方法包括:先获取AD 转换后的Asina与Bcosa的量化值,并判断其符号;计算ATAN( |Asina/Bcosa I );判断Asina* Bcosa是否大于等于0;是则a=ATAN( |Asina/Bcosa I ),否则,a = 90°-ATAN( |Asina/Bcosa )。
[0014] 本发明为了实现更高倍数的编码器细分倍频,在四倍频计数的基础之上,对正余 弦编码器信号进行AD采样求实时精插补位置值。本发明提出了采用小范围法计算不足一个 周期的电角度值,将每次测量角度范围缩小至O~90° ,MatlaVSimulink仿真结果显示,此 方法具有较好的可行性。实验对IOOk化的2048线编码器输出电信号进行了每个电角度周期 40倍细分,分辨率达到了 15.82"。在测速方面,采用了改进的M/T测速法(M/T测速法是一种 公知的算法),计算90个采样周期的电角度变化值,W求得电机速度值,实验显示,速度误差 值在 ± 0.000115rad/s之内。
【附图说明】
[0015] 图1为本发明的正余弦编码器高精度信号处理系统的仿真结构示意图。
[0016] 图2为图1中正余弦编码器高精度信号处理系统的AD转换子系统的结构示意图。
[0017] 图3为图1中正余弦编码器高精度信号处理系统的CORDIC算法子系统的结构示意 图。
[0018] 图4为图1中正余弦编码器高精度信号处理系统的精码计算子系统的结构示意图。
[0019] 图5为图1中正余弦编码器高精度信号处理系统的四倍频子系统的结构示意图。
[0020] 图6为图1中正余弦编码器高精度信号处理系统的速度计算子系统的结构示意图。
[0021] 图7为图1中正余弦编码器高精度信号处理系统的CRC校验子系统的结构示意图。
[0022] 图8为编码器正向旋转输出信号波形图。
[0023] 图9为旋转编码器信号处理系统原理框图。
[0024] 图10为信号调理及接口电路。
[0025] 图11为编码器接口单元粗位置计数示意图。
[0026] 图12为编码器的状态变化信息图。
[0027] 图13为CO畑IC坐标平面旋转示意图。
[00%]图14为精插补计算程序流程图。
[0029] 图15为差分信号经信号调理电路后的输出波形图。
[0030] 图16为IAI、IB I信号量化值与精插补值a的示意图。
[0031] 图17为不同采样周期数时仿真测得速度误差曲线图。
【具体实施方式】
[0032] W下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实 施例仅仅用W解释本发明,并不限定本发明。
[0033] 本发明的正余弦编码器高精度信号处理系统用于处理增量式旋转编码器输出的 两路相位相差90度的Asina与Bcosa。请参阅图1,所述正余弦编码器高精度信号处理系统包 括差分放大器一(Gainl)、差分放大器二(Gain2)、AD转换子系统一、AD转换子系统二、四倍 频子系统、乘法器一 (product 1KC0RDIC算法子系统、精码计算子系统、速度计算子系统、 乘法器二(product 2)、CRC校验子系统一、CRC校验子系统二。
[0034]所述差分放大器一 (Gainl)的输入端接收Asina,所述差分放大器一 (Gainl)的输 出端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入端一。所述差分放 大器二(Gain2)的输入端接收Bcosa,所述差分放大器二(Gain2)的输出端同时连接所述AD 转换子系统二的输入端和所述四倍频子系统的输入端二。两个AD转换子系统的两路输出信 号连接所述CORDIC算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接所 述乘法器一的两个输入端,所述乘法器一的输出端、CORDIC算法子系统的输出端分别连接 所述精码计算子系统的两个输入端。所述四倍频子系统的输出信号与所述精码计算子系统 的输出信号进行叠加后送至所述乘法器二的输入端一,所述乘法器二的输入端二接收Pi/ 4096信号,Pi是圆周率,该数值由机械旋转角度A计算公式而得,所述乘法器二的输出端同 时连接所述CRC校验子系统一的输入端、所述速度计算子系统的输入端。所述CRC校验子系 统一的输出端作为整个正余弦编码器高精度信号处理系统的输出端一,所述速度计算子系 统的输出端连接所述CRC校验子系统二的输入端,所述CRC校验子系统二的输出端作为整个 正余弦编码器高精度信号处理系统的输出端二。
[0035] 故,所述差分放大器一的输入是Asina,所述差分放大器一的输出端同时连接所述 AD转换子系统一的输入端和所述四倍频子系统的输入端一。所述差分放大器二的输入是 Bcosa,所述差分放大器二的输出端同时连接所述AD转换子系统二的输入端和所述四倍频 子系统的输入端二。两个AD转换子系统的两路输出信号连接所述CORDIC算法子系统的两个 输入端,两个AD转换子系统的另两路输出信号连接乘法器一的两个输入端,乘法器一作为 符号判断单元,所述乘法器一的输出端、所述CORDIC算法子系统的输出端分别连接所述精 码计算子系统的两个输入端。
[0036] 请参阅图2,每个AD转换子系统包括限幅器(original signal)、求绝对值一 (Absl )、差分放大器S(Gain3)、量化器一(Quantizerl )、开关一(Switchl)。所述限幅器的 一端作为AD转换子系统的输入端,所述限幅器的另一端依次串接求绝对值一、差分放大器 S、量化器一,所述量化器一的输出端作为AD转换子系统的输出端一。限幅器的输入AD_in 来自差分放大器一和差分放大器二(旨日1111_〇111:、旨日;[]12_〇111:,且401_;[]1 =旨日;[]11_〇111:,402_;[]1 = gain2_out),并把输入信号限制在规定的幅度内,一方面,限幅器的输出依次经过求绝对 值、按2i6 = 65535(运里是W16位AD转换器为例)差分放大器S的放大、量化器一的量化,为 数字值作为AD转换子系统的输出AD_outl;另一方面,限幅器的输出给开关一,开关一判断 接收到的信号是正还是负,倘若接收到的信号大于零,则开关一输出1,作为AD转换子系统 的输出AD_out2 = l,倘若接收到的信号小于零,则开关一输出-1,作为AD转换子系统的输出 AD_out2 = -l。
[0037] 限幅器一的另一端还连接开关一的一个输入触点,开关一的剩下两个输入触点分 别连接两个分别为1和-1的常数,所述开关一的输出端作为AD转换子系统的输出端二。AD转 换子系统一、二的AD_outl(ADl_outl、AD2_outl)分别作为CO畑IC算法子系统的输入。AD转 换子系统一、二的AD_out2(ADl_outl、AD2_outl)分别作为乘法器一的输入,用于符号判别, 判断电机转子实时位置处于坐标平面的哪个象限。乘法器一的输出为Prol_out。
[0038] 请参阅图3,所述〇?01(:算法子系统包括求绝对值二(4632)、求绝对值^(4633)、 CORDICS角函数算法(Trigonometrie Function) 〇Abs2、Abs3的一端分别作为所述CORDIC 算法子系统的两个输入端,Abs2、Abs3的另一端分别连接CORDI CS角函数算法 (Trigonometric Function)的两个输入端,CORDI CS 角函数算法(Trigonome trie 化nction)的输出端作为所述CO畑IC算法子系统的输出端。C0R_inl、C0R_in2是CO畑IC算法 子系统的输入,且C0R_inl=ADl_outl,C0R_in2 = AD2_outl,经CORDICS角函数算法计算 后,作为CO畑IC算法子系统的输出C0R_out。
[0039] 请参阅图4,所述精码计算子系统即精插补计算单元包括开关二(switch 2)、乘法 器^(products)。所述开关二的两个输入触点分别作为所述精码计算子系统的两个输入 端,且其中一个输入触点的输入信号负反馈于pi/2的信号后再接入所述开关二的剩下一个 输入触点。所述开关二的输出触点连接products的输入端一,products的输入端二接收2/ pi的常数,products的输出端作为所述精码计算子系统的输出端。Fine_inl、Fine_in2是精 码计算子系统的输入,且Fine_inl = C0R_out,Fine_in2 = ProLout。开关二判断输入的 Fine_in二是正还是负,倘若Fine_in二大于零,则开关二的输出 = (Pi/2-Fine_inl),倘若 Fine_in二小于零,则开关二的输出=Fine_inl。开关二的输出要乘W常数2/Pi作为精码计 算子系统的输出Fine_out。
[0040] 请参阅图5,所述四倍频子系统包括比较放大器一(Signl)、比较放大器二 (31邑112)、数据类型转换器((3〇醇61'1:)、0触发器(0 1日1:地)、计数器一((3〇11]11:1)、计数器二 (counts)、加法器(ADD) DSignl的输入端作为所述四倍频子系统的输入端一,Signl的输出 端一方面连接计数器一的控制端,另一方面经由数据类型转换器连接D Latch的输出端一。 sign2的输入端作为所述四倍频子系统的输入端二,sign2的输出端一方面连接计数器二的 控制端,另一方面连接D Latch的输出端二。D Latch的同相输出端连接两个计数器的增数 计数位,D Latch的反相输出端连接两个计数器的减数计数位;两个计数器的输出端经加法 器运算后作为所述四倍频子系统的输出端。
[0041 ] Muti4_inl、Muti4_in2 是四倍频子系统的输入,且 Muti4_inl = gainl_out,Muti4_ in2 = gain2_out<3Muti4_inl进过数据类型转换后输送给D触发器的D端,Muti4_in2输送给D 触发器的CP端,D触发器的输出Q、Q/分别输送给计数器一和计数器二,计数器一和计数器二 是增减计数器,对输入脉冲的上升沿和下降沿都做+1计数,计数器一和计数器二的输出经 加法器求和后作为四倍频子系统的输出Mut i4_out。
[0042] 请参阅图6,速度计算子系统包括n个采样保持(delayo~n)、减法器、除法器 (Divide )。在本实施例中采用10个采样保持delayo~9。速度计算子系统的输出端经过依次串 接的10个采样保持delayers再负反馈至其输入上,采用减法器运算,然后传送至Divide的输 入端一,Divide的输入端二接收常数,如0.0 OOOl ,Divide的输出作为整个速度计算子系统 的输出端。
[0043] 延迟一次是一个系统时钟的时间长度AT,延迟的次数是任意的,本发明中WlO次 为例,即delayo~9,V_cal_in是速度计算子系统的输入,且V_cal_in = P;ro2_out (乘法器二的 输出),减法器把m时刻的Pro2_out采样保持10个系统时钟获得¥_〇曰1_111,记录为Am,同时采 集当前时刻的Pro2_out,记录为Am+n,其中的n是采样保持的系统时钟的个数,计算结果输出 给除法器,计算结果(Vn-Am)/(nX AT)作为速度计算子系统输出V_cal_out,本发明中W (nX AT)=0.OOOOl为例。
[0044] 请参阅图7,每个CRC校验子系统包括乘法器四(Product"、量化器二 (如antizer2)、整形数转位转换器(Integer to Bit ConverterKCRC校验发生器(General CRC Generator) JroductA的一个输入端作为CRC校验子系统的输入端,ProductA的另一个 输入端接收常数,Product4的输出端依次串接量化器二、整形数转位转换器、CRC校验发生 器,CRC校验发生器的输出端作为CRC校验子系统的输出端。CRC_in是CRC校验子系统的输 入,且CRCl_in = P;ro2_out,CRC2_in = V_Cal_out<XRC_in与校验码常数经乘法器4做乘法运 算,运算结果经量化器2量化,量化结果再转换成比特值,最后在CRC校验发生器中做CRC运 算,其结果作为CRC校验子系统的输出CRC_outXRC校验子系统一是对精码实时位置值的 CRC计算,CRC校验子系统二是对实时速度值的CRC计算。
[0045] 实施例1
[0046] 1.增量式旋转编码器信号处理原理
[0047] 在理想状况下,增量式旋转编码器输出A、B两路相位相差90度的正余弦信号。当编 码器正方向旋转式,B输出信号相位滞后A信号90度;反之,当编码器反方向旋转时,A输出信 号相位滞后B信号90度。编码器正向旋转时输出信号波形,如图8所示,图8为编码器正向旋 转输出信号波形图。
[0048] 编码器初始信号需要经过转换处理后,才可W得出电机角度位置等信息。在信号 处理方面,将编码器输出信号分为两路,如图9所示,图9为旋转编码器信号处理系统原理框 图。一路信号经过差分放大器、比例放大器、转换为Tl^脉冲信号,经滤波处理将ITL信号连 接到ADSP-CM408混合信号控制处理器的EIlKEncoder Interface化it)编码器接口单元, 进行4倍频计数,得到编码器粗码信息;另一路信号Asina和Bcosa经过高速运算放大器W及 RC滤波电路传输到ADSP-CM408的模拟多路复用器,然后经过采样保持放大器处理后,传输 给AD转换单元,得到十六位采样精度的数字信号,将得到的数字信号进行精码误差修正。接 着采用电子学细分算法,直接求反正切值,得出编码器电角度〇,通过电角度a可W得到编码 器精码信号。最后,将粗码信息和精插补信息加在一起,就得出了精确的电机角位置角速度 等f目息。
[0049] 信号调理电路采用ADI公司的ADA4899高速运算放大器,将正余弦信号经两级放大 整形后得到调理后的正余弦模拟信号;然后再经过比较放大器,输出高电平为3.3V,低电平 为OV的TTL电平信号,信号调理电路如图10所示,图10为信号调理及接口电路。
[00加]2. EIU粗位置计数
[0051] 编码器接口单元采用四倍频计数方式,并判断编码器旋转方向。对于编码器输出 的整周期正余弦信号,经过比较器将其转换为周期数相等的脉冲信号,将ITL脉冲信号 输入EIU单元,进行脉冲计数,如图11所示,图11为编码器接口单元粗位置计数示意图。EIU 单元的CNT0_UD、CNT0_DG(图10)端日输入两路Til、Ti2(图12)脉冲信号,根据其高低电平的 不同,形成两位变化的格雷码信息。在进行粗位置计数之前,需要先对脉冲信号进行双D触 发器滤波处理。
[0052] 当编码器正转时,两位格雷码信号变化规律为10、11、01、00、10循环变化;当编码 器反转时,两位格雷码信号变化规律为01、11、10、00、01循环变化。每一次状态变化,可逆计 数器都对应一次增或减计数。因此,一个信号周期进行四次计数,即四倍频计数。当有干扰 或故障发生时,比如抖动,会引起其他状态的发生,此时编码器不进行计数,其状态变化信 息如图12所示。
[0053] 3.高分辨率细分位置信息
[0054] 当电角度不足一个周期时,为了更精确地反馈实时信息,需要采用电子学细分算 法进行倍频,W获得更高精度的电机角位置与角速度。ADSP-CM408MCU搭载240M化的ARM Codex-M4内核,具有浮点运算功能,提高运算速度,还可对编码器输出两路正余弦信号同 时进行双通道AD采样,采样时间为15化S,转换时间38化S。
[0化5] 3. ICO畑IC算法求反正切
[0056]电子学细分算法主要使用反正切直接求值法。电角度a的计算公式为:
[0化7]
[005引为了更快的实现反=角函数求值,J. Voider于1959年提出了一种快速算法,称之 为CO畑IC(Cordinate Ro1:ation Digital Computer)算法。该算法在保证运算精度的情况 下,使运算时间大大减少。CORDIC算法如图13所示,图13为CORDIC平面坐标旋转示意图。将 X、Y轴坐标旋转一定的度数,通过N次迭代运算,当纵坐标旋转为0时,那么旋转的度数就是 e。设(x,y)是原始坐标点,将其W原点为中屯、,顺时针旋转目之后的坐标记为,/ )。
[0化9] 则有如下逆时针坐标旋转公式
[0060] 但是,上述公式在运算的时候会有四次乘法运算,运算量还是较大,进一步改进算 法。此时提取出了一个乘法因子cosa,由矩阵运算公式可知,去掉cosa,每次旋转后的新坐 标点到原点的距离变长了,增长因子为1/cosa。但是,对于所求的a值并没有影响。运样运算 量就变为两次乘法运算。于是就得到了如下的坐标旋转公式
[0061] 通过迭代的方法,不断的旋转特定的角度,每次旋转的角度e = ATAN(l/2i),使得 累计旋转的角度之和无限接近某一设定的角度。运是一个不断修正的过程,为了使y值无限 逼近于零,当某次旋转一定角度得出y值为负值时,则下次旋转需修正为反方向旋转。于是, CO畑IC算法迭代公式关
[00创则角度累加公式为:Zi+i = zi+diai;di=±l,其中,Zi表示CO畑IC算法迭代i次之后 的角度累加值;符号di是判决因子,决定旋转方向,其正负取决于迭代后所得yi值得正负。角 度累加公式所求结果即为电角度a的值。
[0063] 3.2实时精插补位置值
[0064] 由于单纯的依靠四倍频已经无法满足要求,还需要更高精度的细分,而正余弦信 号细分技术可W得到实时精插补位置值。
[0065] 当选择0~360°进行电子学细分时,若采用CORDIC算法进行逼近的时候,如果角度 值较大,需要逼近的次数较大,间接地增加了运算量,使得运算时间增加,从而不利于系统 的实时性。因此,本文采用0~90°小范围法计算电角度,由于粗码计数时采用了四倍频计 数,每次计算电角度的值时就可W只计算未足四分之一周期的角度大小,将测量范围缩小 至0~90度,运样在用CORDIC算法求反正切值时就减少了迭代次数,进而减少了运算时间。 而且,此方法可W达到几十倍W上的细分精度,理论上其上限受限于AD采样时间和转换时 间W及MCU的运算快慢。由CORDIC算法得出反正切值,再由公式(1悚得实时精插补位置值。
(I)
[0066] 其软件算法实现流程图如图14所示,图14为精插补计算程序流程图,所述精码计 算子系统的精插补方法包括:先获取AD转换后的Asina与Bcosa的量化值,并判断其符号;计 算ATAN( |Asina/Bcosa I );判断Asina*Bcosa是否大于等于0;是则a=ATAN( |Asina/Bcosa ),否则,a = 90°-ATAN( |Asina/Bcosa| )。
[0067] 3.3电机位置信息
[0068] 高精度的电机旋转角度值有两部分组成,将得到的粗码信号和精码信号即实时精 插补位置值进行组合,得到编码器的机械旋转角度A。机械旋转角度A的计算公式为:
0 LUUOV」共中,IN巧不电机巧于胞巧一巧广生的偵号周期数;Z表示电机实际旋转产生的信 号周期数;Ao表示电机转子的初始位置。
[0070] 在测量电机转速时,改进了 M/T测速方法,采用基于采样角度的变化,测量10个采 样周期的角度变化值,运样就消除了 M法单位时间内脉冲数少和T法两脉冲间时间短的问题, 同时也克服了 M/T法的实时性不足,测量精度较高。将机械角度A传给ADSP-CM408梓制处理器 进行运算处理,W获取电机的转速、位置和转向等数据信息。电机转速算法为 其中,Am+n为第m+n个机械旋转角度;Am为第m个机械旋转角度;A T为采样时间。
[0071] 4.实验仿真分析
[0072] 信号调理电路首先在Multisim电路仿真软件进行仿真。如图15所示为差分信号经 信号调理电路后的输出波形图。
[0073] 原始信号经调理之后,得到较为理想的信号波形。将调理后的信号作为Simulink 仿真的信号源,经过16位AD转换、CORDIC算法得到精插补信息,而源信号经放大器、比较器 W及四倍频计数之后得到粗码信息,两者相加得到完整位置值信息,再经过32位的CRC校 验,输出到CRCl_out;速度值经过32位CRC校验之后,输出到CRC2_out。其Simul ink仿真模型 如图1所示。仿真时,仿真步长设置为0.1s,输入信号频率为IOOk化,采样时间为0.25US。经 仿真分析可知,如图16所示,图16为IA I、I B I信号量化值与精插补值a的示意图。在对A、B信 号即Asina、Bcosa经过AD转换器采样量化之后,取绝对值运算,得到量化值,经过CORDIC运 算之后,求出反正切值〇,其值在0~90°范围周期复现,因此,公式(1)的算法较好的实现了对 编码器正余弦信号的细分倍频。
[0074] 在实验时,采用海德汉2048线正余弦编码器,转速3000巧m,编码器输出正余弦信 号的频率为102.4kHz。在0.1 s内理论机械角为30.679616rad,实际转子角度值为 30.678849rad,误差为0.000767rad;而速度理论值为306.796158rad/s。图17为不同采样周 期数时仿真测得速度误差曲线图,不同采样周期测得速度与理论值的差值分别为1〇、30、 50、70、90个采样周期测一次速度时测得速度误差数据。当WlO个采样周期作为测速周期 时,误差较大,随着采样周期增加,误差有所减少,其误差数值如表1所示。
[0075] 表1不同采样周期数测得速度误差值
[0076]
[0077] 5.结论
[0078] 为了实现更高倍数的编码器细分倍频,在四倍频计数的基础之上,对正余弦编码 器信号进行AD采样求实时精插补位置值。文中提出了采用小范围法计算不足一个周期的电 角度值,将每次测量角度范围缩小至0~90° ,Matlab/Simulink仿真结果显示,此方法具有 较好的可行性。实验对IOOk化的2048线编码器输出电信号进行了每个电角度周期40倍细 分,分辨率达到了 15.82"。在测速方面,采用了改进M/T测速法,计算90个采样周期的电角度 变化值,W求得电机速度值,实验显示,速度误差值在± 0.0 OOl 15rad/s之内。
[00巧]其它有关信息可参考本公司专利文献CN201510465550.5XN201520574867.8、 CN201510467898.8、CN201610029229.7、CN201610029321.3、CN201510465547.3、 CN201520570360.5。
[0080] 实施例2
[0081] 假设实际应用时:
[0082] 1.编码器分辨率为2048线;
[0083] 2.电机转速为3000巧m;
[0084] 3.电机每旋转一圈丝杆进给量为5mm,即Smm/r;
[0085] 4.进给量分辨率达到0.0001mm,对应机械角度即为360/(5/0.0 OOl )=0.0072° = 25.92"。
[00化]设编码器细分倍数为N,则:
,得出N〉24.4,即最小25倍频。注:由 于在编码器接口单元已经四倍频,因此要想达到理想分辨率,还需要再进行7倍频,运样整 体细分倍数达到28倍频。
[0087] 当转速为3000rpm时,如图8所示,编码器输出正余弦信号的频率为:

[0088] 精插补计算公^'
[0089] 机械旋转角度T 。
[0090] 速度计算公式:
[0091] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种正余弦编码器高精度信号处理系统,其用于处理增量式旋转编码器输出的两路 相位相差90度的Asina与Bcosa;其特征在于:所述正余弦编码器高精度信号处理系统包括 差分放大器一、差分放大器二、AD转换子系统一、AD转换子系统二、四倍频子系统、乘法器 一、C0RDIC算法子系统、精码计算子系统、速度计算子系统、乘法器二、CRC校验子系统一、 CRC校验子系统二;其中,所述差分放大器一的输入端接收Asina,所述差分放大器一的输出 端同时连接所述AD转换子系统一的输入端和所述四倍频子系统的输入端一;所述差分放大 器二的输入端接收Bcosa,所述差分放大器二的输出端同时连接所述AD转换子系统二的输 入端和所述四倍频子系统的输入端二;两个AD转换子系统的两路输出信号连接所述C0RDIC 算法子系统的两个输入端,两个AD转换子系统的另两路输出信号连接所述乘法器一的两个 输入端,所述乘法器一的输出端、所述C0RDIC算法子系统的输出端分别连接所述精码计算 子系统的两个输入端;所述四倍频子系统的输出信号与所述精码计算子系统的输出信号进 行叠加后送至所述乘法器二的输入端一,所述乘法器二的输出端同时连接所述CRC校验子 系统一的输入端、所述速度计算子系统的输入端;所述CRC校验子系统一的输出端作为整个 正余弦编码器高精度信号处理系统的输出端一,所述速度计算子系统的输出端连接所述 CRC校验子系统二的输入端,所述CRC校验子系统二的输出端作为整个正余弦编码器高精度 信号处理系统的输出端二。2. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:所述限幅器的 一端作为AD转换子系统的输入端,所述限幅器的另一端依次串接求绝对值一、差分放大器 三、量化器一,所述量化器一的输出端作为AD转换子系统的输出端一,所述限幅器的另一端 还连接所述开关一的一个输入触点;所述开关一的剩下两个输入触点分别接收两个分别为 1和-1的常数,所述开关一的输出端作为AD转换子系统的输出端二。3. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:所述C0RDIC算 法子系统包括求绝对值二、求绝对值三、CORD 1C三角函数算法;求绝对值二、求绝对值三的 一端分别作为所述CORDIC算法子系统的两个输入端,求绝对值二、求绝对值三的另一端分 别连接CORD IC三角函数算法的两个输入端,CORD IC三角函数算法的输出端作为所述CORD IC 算法子系统的输出端。4. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:所述精码计算 子系统包括开关二、乘法器三;所述开关二的两个输入触点分别作为所述精码计算子系统 的两个输入端,且其中一个输入触点的输入信号负反馈一个常数信号后再接入所述开关二 的剩下一个输入触点;所述开关二的输出触点连接乘法器三的输入端,乘法器三的输出端 作为所述精码计算子系统的输出端。5. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:所述四倍频子 系统包括比较放大器一、比较放大器二、数据类型转换器、D触发器、计数器一、计数器二、加 法器;比较放大器一的输入端作为所述四倍频子系统的输入端一,比较放大器一的输出端 一方面连接计数器一的控制端,另一方面经由数据类型转换器连接D触发器的输出端一;比 较放大器二的输入端作为所述四倍频子系统的输入端二,比较放大器二的输出端一方面连 接计数器二的控制端,另一方面连接D触发器的输出端二;D触发器的同相输出端连接两个 计数器的增数计数位,D触发器的反相输出端连接两个计数器的减数计数位;两个计数器的 输出端经加法器运算后作为所述四倍频子系统的输出端。6. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:速度计算子系 统包括:〇~η个采样保持、减法器、除法器;延迟一次是一个系统时钟的时间长度A T,延迟 的次数是任意的,V_cal_in是速度计算子系统的输入,且V_cal_in = Pro2_out,Pro2_out是 乘法器二的输出,减法器把m时刻的Pr〇2_〇ut采样保持多个系统时钟获得V_cal_in,记录为 &,同时采集当前时刻的Pro2_out,记录为A m+n,其中的η是采样保持的系统时钟的个数,计 算结果输出给除法器,计算结果(Xm+n_A m)/(nX △ Τ)作为速度计算子系统输出V_cal_out。7. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:每个CRC校验 子系统包括乘法器四、量化器二、整形数转位转换器、CRC校验发生器;乘法器四的一个输入 端作为CRC校验子系统的输入端,乘法器四的另一个输入端接收常数,乘法器四的输出端依 次串接量化器二、整形数转位转换器、CRC校验发生器,CRC校验发生器的输出端作为CRC校 验子系统的输出端。8. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:CORDIC算法子 系统在反三角函数求值时,采用坐标旋转公式,通过迭代的方法,不断旋转编码器的特定角 度,每次旋转的角度β = ΑΤΑΝ( 1/24,使得累计旋转的角度之和无限接近某一设定的角度,21 表示CORDIC算法迭代i次之后的角度累加值,i代表迭代次数。9. 如权利要求1所述的正余弦编码器高精度信号处理系统,其特征在于:所述精码计算 子系统的精插补方法包括:先获取AD转换后的Asina与Bcosa的量化值,并判断其符号;计算 ATAN( |Asina/Bcosa | );判断Asina*Bcosa是否大于等于〇;是则a = ATAN( |Asina/Bcosa | ), 否则,a = 90。_ATAN( I Asina/Bcosa I ) 〇
【文档编号】H03M1/12GK105978570SQ201610517319
【公开日】2016年9月28日
【申请日】2016年6月30日
【发明人】文长明, 文可
【申请人】中工科安科技有限公司, 文长明, 文可
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1