CN104796051B - 基于fpga的旋转变压器线性变换方法及变换器 - Google Patents

基于fpga的旋转变压器线性变换方法及变换器 Download PDF

Info

Publication number
CN104796051B
CN104796051B CN201510186177.XA CN201510186177A CN104796051B CN 104796051 B CN104796051 B CN 104796051B CN 201510186177 A CN201510186177 A CN 201510186177A CN 104796051 B CN104796051 B CN 104796051B
Authority
CN
China
Prior art keywords
pseudo
signal
linear
interval
rotary transformer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510186177.XA
Other languages
English (en)
Other versions
CN104796051A (zh
Inventor
左志强
李耀
王晶
王一晶
朱志岐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201510186177.XA priority Critical patent/CN104796051B/zh
Publication of CN104796051A publication Critical patent/CN104796051A/zh
Application granted granted Critical
Publication of CN104796051B publication Critical patent/CN104796051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02KDYNAMO-ELECTRIC MACHINES
    • H02K24/00Machines adapted for the instantaneous transmission or reception of the angular displacement of rotating parts, e.g. synchro, selsyn
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02KDYNAMO-ELECTRIC MACHINES
    • H02K2213/00Specific aspects, not otherwise provided for and not covered by codes H02K2201/00 - H02K2211/00
    • H02K2213/03Machines characterised by numerical values, ranges, mathematical expressions or similar information

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)

Abstract

本发明涉及旋转变压器的解码算法,为克服噪声敏感、输出滞后、资源占用多等传统方法法的一系列问题,实现旋转变压器高精度的角位置输出,且具有良好的性能。为此,本发明采取的技术方案是,基于FPGA的旋转变压器线性变换方法及变换器,包括下列步骤:步骤1:获取四路不同相位正余弦信号步骤2:根据四路信号的符号和幅值大小把整个周期平均分成8个部分;步骤3:对步骤1中得到的四路信号取绝对值;步骤4:得到角度θ的初步估计值本发明主要应用于旋转变压器的设计制造。

Description

基于FPGA的旋转变压器线性变换方法及变换器
技术领域
本发明涉及旋转变压器的解码算法,并利用FPGA实现这一算法,属于电子信息技术领域。具体讲,涉及基于FPGA的旋转变压器线性变换方法和变换器。
背景技术
旋转变压器是一种电磁式的绝对位置传感器,其结构和原理如图1所示,其实质是一种测量角度用的小型交流电机,用来测量旋转物体的转轴角位移,由与定子侧相连的原边绕组和与转子侧相连的副边绕组组成。它的工作原理与普通变压器基本类似,区别在于普通变压器的原边、副边绕组是相对固定的,所以输出电压和输入电压之比是常数,而旋转变压器的原边、副边绕组随转子的角位移发生相对位置的转变,因而其输出电压的大小随转子角位移变化而变化,输出电压的幅值随转子角位移而发生变化,与转子角位移成正弦、余弦函数关系。由于旋转变压器的成本低、稳定性好、抗干扰能力强,它被广泛应用于多种检测系统和伺服系统中。
旋转变压器工作时需要给定一个1-15kHz的高频正弦信号Umsin(θ)作为激磁信号。旋转变压器相当于一个调制器,它将角位置信息调制到输入的高频激磁信号中,然后通过定子侧输出。所以由旋转变压器输出获取角位置信号的第一步就是将高频的载波移除,也就是解调,通过解调之后就可以得到与待测角度相关的信号。常用的通过峰值采样实现解调的方法如图2所示。解调之后可以得到两路和角位置相关的正余弦型信号αUmsin(θ)和αUmcos(θ)。为了得到准确的角位置信息,需要把以上两路正余弦信号转换为0-360°的线性信号,这就是旋转变压器解码算法设计的目的。
由以上正余弦信号获取绝对位置信息最简单的方法是进行反正切运算,即对于FPGA而言,我们通常采用旋转坐标(CORDIC)的方法来实现这一运算。它的实现依赖附加的查找表,这需要一定的存储资源;其运算精度依赖于寄存器的位数;同时由于反正切的方法对于噪声非常敏感,当正余弦信号中含有一定的噪声时,通过反正切运算得到的角度值与真值之间会存在较大偏差。
实现旋转变压器解码的另一种算法是采用闭环的方法(角度跟踪观测器ATO),闭环的设计方法不仅能够提供精确的角位置信息而且还能够提供角速度信息,同时对噪声也有一定的抑制作用。现阶段大部分的旋转变压器解码芯片就是采用该算法,但是闭环设计方法首先需要考虑的问题就是系统的稳定性问题,其次是闭环设计方法对角速度也有一定的要求,当角速度过大时,闭环的设计方法无法精确地跟踪角位置和角速度;由于积分环节的存在角位置的输出也存在一定的滞后。此外闭环设计方法需要查找表和乘法器,它们的实现都需要占用一定的逻辑和存储资源。
基于以上分析,寻找一种性能优于以上两种方法,并且更加简单的旋转变压器解码算法,以及基于该算法实现旋转变压器线性变换器的设计是具有一定意义的。
发明内容
为克服噪声敏感、输出滞后、资源占用多等传统方法法的一系列问题,实现旋转变压器高精度的角位置输出,且具有良好的性能。为此,本发明采取的技术方案是,基于FPGA的新型旋转变压器线性变换方法,包括下列步骤:
步骤1:获取四路不同相位正余弦信号:旋转变压器输出信号解调之后会得到一路正弦信号αUmsin(θ)和一路余弦信号αUmcos(θ),对其进行归一化处理,移除幅值得到:
S1=sin(θ)
S2=cos(θ)
根据正余弦信号的固有性质,两路信号相加并进行一定的幅值调整之后得到:
同样的方式,两路信号相减并进行相应的幅值调整之后得到:
步骤2:根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,并进行相应的编码;
步骤3:对步骤1中得到的四路信号取绝对值,然后再对取绝对值后的信号进行取小运算,得到一个伪线性信号:min(|S1|,|S2|,|S3|,|S4|),由于正弦信号在零点附近有sinθ≈θ,则每一个伪线性线段具有近似1或-1的斜率;
步骤4:得到角度θ的初步估计值根据得到的伪线性信号处于上升段还是下降段,将步骤2中得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,8,具体表述为:
在(n-1)π/4<θ≤(2n-1)π/8区间,取在(2n-1)π/8≤θ≤nπ/4区间,取
这样由伪线性信号得到角度θ的初步估计值
进行补偿校正步骤:选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用代替步骤4中的min(|S1|,|S2|,|S3|,|S4|)进行同样的操作,其中,k是一个由选取的系数能够使校正后的估计值与真实值之间的误差最小。
平均分成8个部分具体为:将S1>0,S2>0,S3>0,S4<0的区段划分为p0,将S1>0,S2>0,S3>0,S4>0的区段划分为p1,将S1>0,S2<0,S3>0,S4>0的区段划分为p2,将S1>0,S2<0,S3<0,S4>0的区段划分为p3,将S1<0,S2<0,S3<0,S4>0的区段划分为p4,将S1<0,S2<0,S3<0,S4<0的区段划分为p5,将S1<0,S2>0,S3<0,S4<0的区段划分为p6,将S1<0,S2>0,S3>0,S4<0的区段划分为p7,并进行相应的编码标记不同的区间。
基于FPGA的新型旋转变压器线性变换器,结构为:在FPGA上集成有如下模块:解调器模块、数学运算模块、逻辑电路模块、角度值计算模块,解调器模块生成如下信号:
S1=sin(θ)
S2=cos(θ)
两路信号相加并进行一定的幅值调整之后得到:
两路信号相减并进行相应的幅值调整之后得到:
逻辑电路模块用于将解调器模块生成的4路信号进行分区:根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,并进行相应的编码;
数学运算模块用于:将四路信号取绝对值,然后再对取绝对值后的信号进行取小运算,得到一个伪线性信号:min(|S1|,|S2|,|S3|,|S4|),由于正弦信号在零点附近有sinθ≈θ,则每一个伪线性线段具有近似1或-1的斜率;
角度值计算模块用于得到角度θ的初步估计值根据得到的伪线性信号处于上升段还是下降段,将得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,8,具体表述为:
在(n-1)π/4<θ≤(2n-1)π/8区间,取在(2n-1)π/8≤θ≤nπ/4区间,取
这样由伪线性信号得到角度θ的初步估计值
还包括补偿校正模块,用于:选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用代替min(|S1|,|S2|,|S3|,|S4|)进行如下操作:根据得到的伪线性信号处于上升段还是下降段,将得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,8,其中,k是一个由选取的系数能够使校正后的估计值与真实值之间的误差最小。
逻辑电路模块具体结构为:S1、S2、S3和S4四路信号取符号后分别得到Sg1、Sg2、Sg3和Sg4。Sg1取反后得到bit2;Sg2取反后和Sg1进行与运算,Sg1取反后和Sg2进行与计算,这两路信号经过或门后得到bit1;Sg3取反后和Sg1进行与运算,Sg1取反后和Sg3进行与运算,Sg2和Sg4进行与运算,Sg2取反与Sg4取反进行与运算,这四路信号经过或门后得到bit0,即:
这样bit2bit1bit0构成的二进制数就代表了p0到p7七个区间的分区信息编码。
逻辑电路还包括判断伪线性信号处于上升段还是下降段的判别部分,判别部分结构为:
在p0和p4区间,|S2|和|S3|经过比较器,大于零则输出1,小于零则输出0;
在p1和p5区间,|S3|和|S1|经过比较器,大于零则输出1,小于零则输出0;
在p2和p6区间,|S1|和|S4|经过比较器,大于零则输出1,小于零则输出0;
在p3和p7区间,|S4|和|S2|经过比较器,大于零则输出1,小于零则输出0。
与已有技术相比,本发明的技术特点与效果:
本发明所提出的算法用一种更加简单的方法实现了旋转变压器的解码,得到了精确的待测角度数据。在无扰动情况下,校正后的角度估计值与真实角度之间的理论最大误差仅为0.00235°,完全能够满足绝大多数高精度场合的需求。
本发明所提出的算法与传统的反正切算法(actan)和闭环的角度跟踪观测器算法(ATO)的仿真性能比较结果如图3所示。在理想情况下三种方法均可以得到精确的角位置信号,但ATO的方法存在时间上的滞后;当存在噪声的情况下本发明所提出的算法和ATO的方法均可以得到精确的结果,而反正切的方法则由于对噪声敏感导致输出结果发生严重的恶化;当角位置信息中伴有尖峰信号时(即角度值发生突变)本发明所提出的算法和反正切的算法均能够快速地跟踪角位置信号,而ATO的方法则无法准确快速地反应角位置的变化。显然本发明所提出的新算法在算法稳定性和算法精确性等方面要优于传统的方法。
本发明所提出的算法的实现与被广泛采用的ATO方法所占用的资源对比如下表所示。通过比较可以看出本发明所提出的算法实现可以节省大量的内存资源和一定的逻辑资源。这里需要注意的是,新的算法需要额外的两个时钟周期来完成,这是速度和资源之间的一个平衡,在绝大多数场合下不会给解算器的运算速度和系统的稳定性带来很大影响。
附图说明
图1为旋转变压器的原理与结构示意图。
图2通过峰值采样实现解调的方法示意图。
图3为新的算法与actan和ATO方法的仿真性能比较。
图4为角度初步估计值的获得步骤示意图。
图5为经校正后角度估计的误差。
图6为实现算法的数字系统示意图。
图7为实现旋转变压器线性变换的原理图。
图8为对信号进行区间划分的逻辑电路。
图9为判断伪线性信号升降的逻辑电路。
图10为所设计旋转变压器线性变换器的输入输出图示。
具体实施方式
本发明所采用的技术方案是算法利用正余弦信号本身所固有的性质(如在零点附近具有近似线性),通过对旋转变压器解调后两路信号进行加、减、比较、移位等操作得到线性化后的角度值,实现旋转变压器的高精度解码。这样一方面避免了反正切运算引起的噪声敏感,另一方面也克服了闭环跟踪可能带来的稳定性与滞后的问题。具体实现方式为:由初始的旋转变压器解调输出得到多路不同相位的正余弦信号,在不同区间分别取其近似线性部分,经简单处理后可以作为角度值的初步估计;在此基础上,根据初步估计的理论误差值的变化率,寻找与之变化率近似的信号,对初步估计值进行补偿,从而得到精确的待测角度数据作为旋转变压器的解码输出。
本发明的另一个方面,通过FPGA实现基于该算法的旋转变压器线性变换器的设计。这样的实现避免了传统方法对于查找表和乘法器的需要,大部分操作仅为简单的寄存器加、减、比较、移位,节省了大量的存储资源和逻辑资源。这样的旋转变压器线性变换器也可以通过单独设计相对应的芯片来实现。
为了更清楚地说明本发明的技术方案和优越性,以下结合具体实施案例,并结合附图,对本发明做进一步的解释。
首先对专利所涉及算法进行介绍,本发明所提出算法包含的具体步骤如下。
步骤1:获取四路不同相位正余弦信号。旋转变压器输出信号解调之后会得到一路正弦信号αUmsin(θ)和一路余弦信号αUmcos(θ),为方便计算,对其进行归一化处理,移除它们的幅值,可以得到:
S1=sin(θ)
S2=cos(θ)
根据正余弦信号的固有性质,两路信号相加并进行一定的幅值调整之后我们可以得到:
同样的方式,两路信号相减并进行相应的幅值调整之后我们得到:
这样,我们得到了四路幅值均为1但不同相位的可用信号,如图4(a)所示。
步骤2:根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,并进行相应的编码,如图4(b)所示,方便我们对位于不同区间的信号作不同方式的处理。根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,方便我们对位于不同区间的信号作不同方式的处理,如图4(b)所示,将S1>0,S2>0,S3>0,S4<0的区段划分为p0,将S1>0,S2>0,S3>0,S4>0的区段划分为p1,将S1>0,S2<0,S3>0,S4>0的区段划分为p2,将S1>0,S2<0,S3<0,S4>0的区段划分为p3,将S1<0,S2<0,S3<0,S4>0的区段划分为p4,将S1<0,S2<0,S3<0,S4<0的区段划分为p5,将S1<0,S2>0,S3<0,S4<0的区段划分为p6,将S1<0,S2>0,S3>0,S4<0的区段划分为p7,并进行相应的编码标记不同的区间。相应的在FPGA中具体编码方式在后文相关逻辑电路的介绍中结合图8作详细的说明。
步骤3:对步骤1中得到的四路信号取绝对值,然后再对取绝对值后的信号进行取小运算,如图4(c)所示,这样我们得到一个伪线性信号:min(|S1|,|S2|,|S3|,|S4|)。我们把这样的伪线性信号单独绘制即为图4(d)所示。由于正弦信号在零点附近有sinθ≈θ,我们可以认为得到的图4(d)所示信号中的每一个伪线性线段具有近似1或-1的斜率。
步骤4:得到角度θ的初步估计值根据得到的伪线性信号处于上升段还是下降段,将步骤2中标记的每个区间再平均分成两段,这样把整个周期[0,2π]细分成16段。进一步分区后在FPGA中的具体编码方式,我们会在后文相关逻辑电路的介绍中结合图9作详细的说明。图4(d)所示的信号即为min(|S1|,|S2|,|S3|,|S4|);
图4(e)所示的信号完整的文字表述为:
对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,8。这样我们可以由伪线性信号得到角度θ的初步估计值具体表述为:
在(n-1)π/4<θ≤(2n-1)π/8区间,取在(2n-1)π/8≤θ≤nπ/4区间,取我们可以由图4(d)所示的信号得到图4(e)所示的信号。这样的信号即是角度θ的初步估计值其最大误差为0.574°,可以直接用于一些低精度要求的设备。
步骤5:对进行补偿校正。对于精度要求更高的场合,为使估计值与真实值之间的误差最小,选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用 代替步骤4中的min(|S1|,|S2|,|S3|,|S4|)进行同样的操作。其中,k是一个由我们选取的系数。k在2-4之间取值的时候都能起到比较好的补偿校正效果,本发明具体取k=2.9204时,校正后的估计值与真实值之间的误差最小。校正后角度估计的误差如图5所示,经计算最大误差仅为0.00235°,完全满足高精度场合的要求。这样的校正可以提高解码算法的精度,代价是需要付出更多的芯片逻辑资源与解算时间。
接下来介绍基于以上解码算法,用FPGA设计旋转变压器线性变换器的方法。
本发明所提出的旋转变压器线性变换器是由一个以FPGA为核心的数字电路来实现的。所设计数字系统的示意图如图6所示,该数字系统以FPGA(EP2C5T144C8N)作为核心,它周期性地向DAC(TLV5616)发送数据从而产生旋转变压器所需要的10kHz的激磁信号,同时在激磁信号达到峰值时向ADC(TLC3578)发送触发信号实现对旋转变压器输出信号的采样,这样便完成了旋转变压器输出信号的解调;继而由FPGA执行以上旋转变压器解码算法,最终得到需要的待测角度值。
本发明所设计旋转变压器线性变换器执行解码的基本流程如图7所示,下面结合图7对由FPGA实现本发明所述解码算法的一些细节进行阐述。
关于所需要的存储资源:
在传统算法中旋转变压器的解码需要通过查找表运算来实现一些相关的函数,而在本发明中,在算法设计时就避开了这一运算,因而为整个系统设计节省了大量的存储资源。
关于所涉及的运算:
本发明所提出的设计方法,不需要查找表;
大部分运算(如max,min,abs)均可以通过比较、加、减、移位等操作实现;
对于固定系数的乘法,如和k,可以采用移位相加的方式实现:
对于两个寄存器相乘,我们需要借助于FPGA内部的硬件乘法器来完成,而本发明所设计的系统实现中唯一需要此运算是校正算法中的乘法操作,因而节省了一定的逻辑资源。
关于所涉及的逻辑电路:
根据本发明所述算法,在实现过程中需要两个逻辑电路来完成信号的区间划分,并确定所获得的伪线性信号是上升的还是下降的。第一个逻辑电路如图8所示,它完成的逻辑功能为:
其中Sg1、Sg2、Sg3和Sg4分别代表信号S1、S2、S3和S4的符号。这样根据bit0、bit1和bit2就可以完成信号的区间划分。第二个逻辑电路如图9所示,它把每个区间进一步划分为两个小区间,输出1代表伪线性信号在上升段,输出0代表在下降段。
本发明所设计旋转变压器线性变换器执行解码的基本流程如图7所示,以正弦波输入作为旋转变压器的激磁信号;得到的输出经解调后得到两路信号S1和S2;通过步骤1的运算获得另外两路信号S3和S4;输出s3、s4信号的模块即完成步骤1中两路信号的相加相减与幅值调整;这四路信号通过逻辑电路经步骤2的运算得到分区信息编码;四路信号通过数学运算(步骤3),取绝对值后在进行取小运算,产生伪线性信号;对于低精度要求的场合,伪线性信号不需补偿校正,可以直接结合分区信息进行角度值计算,进而得到角度值的估计(步骤4);对于高精度要求的场合,伪线性信号需经过补偿校正(步骤5)后再进行角度值计算,这样能够得到误差更小的角度值的估计。
如图8所示:
S1、S2、S3和S4四路信号取符号后分别得到Sg1、Sg2、Sg3和Sg4。Sg1取反后得到bit2;Sg2取反后和Sg1进行与运算,Sg1取反后和Sg2进行与计算,这两路信号经过或门后得到bit1;Sg3取反后和Sg1进行与运算,Sg1取反后和Sg3进行与运算,Sg2和Sg4进行与运算,Sg2取反与Sg4取反进行与运算,这四路信号经过或门后得到bit0,即文中所述:
这样bit2bit1bit0构成的二进制数就代表了步骤2中p0到p7七个区间的分区信息编码。
如图9所示:
在p0和p4区间,|S2|和|S3|经过比较器,大于零则输出1,小于零则输出0;
在p1和p5区间,|S3|和|S1|经过比较器,大于零则输出1,小于零则输出0;
在p2和p6区间,|S1|和|S4|经过比较器,大于零则输出1,小于零则输出0;
在p3和p7区间,|S4|和|S2|经过比较器,大于零则输出1,小于零则输出0。
这样根据输出的1或者0,我们可以确定伪线性信号在上升段或下降段,即实现了步骤4中的进一步区间划分。
图10给出了在转轴匀速旋转的情况下,我们按照以上算法和方式设计的旋转变压器线性变换器得到的输入和输出情况。
以上所述的具体实施步骤,分别就算法和算法实现两个方面对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于FPGA的旋转变压器线性变换方法,其特征是,包括下列步骤:
步骤1:获取四路不同相位正余弦信号:旋转变压器输出信号解调之后会得到一路正弦信号αUm sin(θ)和一路余弦信号αUm cos(θ),对其进行归一化处理,移除幅值得到:
S1=sin(θ)
S2=cos(θ)
根据正余弦信号的固有性质,两路信号相加并进行一定的幅值调整之后得到:
S 3 = 2 2 ( s i n &theta; + c o s &theta; ) = sin ( &theta; + &pi; 4 )
同样的方式,两路信号相减并进行相应的幅值调整之后得到:
S 4 = 2 2 ( s i n &theta; - c o s &theta; ) = sin ( &theta; - &pi; 4 )
步骤2:根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,并进行相应的编码;
步骤3:对步骤1中得到的四路信号取绝对值,然后再对取绝对值后的信号进行取小运算,得到一个伪线性信号:min(|S1|,|S2|,|S3|,|S4|),由于正弦信号在零点附近有sinθ≈θ,则每一个伪线性线段具有近似1或-1的斜率;
步骤4:得到角度θ的初步估计值根据得到的伪线性信号处于上升段还是下降段,将步骤2中得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,…8,具体表述为:
在(n-1)π/4<θ≤(2n-1)π/8区间,取在(2n-1)π/8<θ≤nπ/4区间,取这样由伪线性信号得到角度θ的初步估计值
还包括对进行补偿校正步骤:选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用代替步骤4中的min(|S1|,|S2|,|S3|,|S4|)进行同样的操作,其中,k是一个待选取的系数能够使校正后的估计值与真实值之间的误差最小。
2.如权利要求1所述的基于FPGA的旋转变压器线性变换方法,其特征是,平均分成8个部分具体为:将S1>0,S2>0,S3>0,S4<0的区段划分为p0,将S1>0,S2>0,S3>0,S4>0的区段划分为p1,将S1>0,S2<0,S3>0,S4>0的区段划分为p2,将S1>0,S2<0,S3<0,S4>0的区段划分为p3,将S1<0,S2<0,S3<0,S4>0的区段划分为p4,将S1<0,S2<0,S3<0,S4<0的区段划分为p5,将S1<0,S2>0,S3<0,S4<0的区段划分为p6,将S1<0,S2>0,S3>0,S4<0的区段划分为p7,并进行相应的编码标记不同的区间。
3.一种基于FPGA的旋转变压器线性变换器,其特征是,结构为:在FPGA上集成有如下模块:解调器模块、数学运算模块、逻辑电路模块、角度值计算模块,解调器模块生成如下信号:
S1=sin(θ)
S2=cos(θ)
两路信号相加并进行一定的幅值调整之后得到:
S 3 = 2 2 ( s i n &theta; + c o s &theta; ) = sin ( &theta; + &pi; 4 )
两路信号相减并进行相应的幅值调整之后得到:
S 4 = 2 2 ( s i n &theta; - c o s &theta; ) = sin ( &theta; - &pi; 4 ) ;
逻辑电路模块用于将解调器模块生成的4路信号进行分区:根据四路信号的符号和幅值大小把整个周期[0,2π]平均分成8个部分,并进行相应的编码;
数学运算模块用于:将四路信号取绝对值,然后再对取绝对值后的信号进行取小运算,得到一个伪线性信号:min(|S1|,|S2|,|S3|,|S4|),由于正弦信号在零点附近有sinθ≈θ,则每一个伪线性线段具有近似1或-1的斜率;
角度值计算模块用于得到角度θ的初步估计值根据得到的伪线性信号处于上升段还是下降段,将得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,…8,具体表述为:
在(n-1)π/4<θ≤(2n-1)π/8区间,取在(2n-1)π/8<θ≤nπ/4区间,取这样由伪线性信号得到角度θ的初步估计值
还包括对进行补偿校正步骤:选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用代替步骤4中的min(|S1|,|S2|,|S3|,|S4|)进行同样的操作,其中,k是一个待选取的系数能够使校正后的估计值与真实值之间的误差最小。
4.如权利要求3所述的基于FPGA的旋转变压器线性变换器,其特征是,还包括补偿校正模块,用于:选取一个与误差变化规律类似的非线性信号对得到的伪线性信号min(|S1|,|S2|,|S3|,|S4|)进行补偿,采用如下校正算法:用 代替min(|S1|,|S2|,|S3|,|S4|)进行如下操作:根据得到的伪线性信号处于上升段还是下降段,将得到的每个区间再平均分成两段,对于经过细分后[0,2π]上16段区间的伪线性信号,进行以下操作:第2n-1段区间上的伪线性信号向上平移(n-1)π/4,第2n段区间上的伪线性信号以y=nπ/8为轴作轴对称的映射,其中n=1,2,…8,其中,k是一个待选取的系数能够使校正后的估计值与真实值之间的误差最小。
5.如权利要求3所述的基于FPGA的旋转变压器线性变换器,其特征是,逻辑电路模块具体结构为:S1、S2、S3和S4四路信号取符号后分别得到Sg1、Sg2、Sg3和Sg4,Sg1取反后得到bit2;Sg2取反后和Sg1进行与运算,Sg1取反后和Sg2进行与计算,这两路信号经过或门后得到bit1;Sg3取反后和Sg1进行与运算,Sg1取反后和Sg3进行与运算,Sg2和Sg4进行与运算,Sg2取反与Sg4取反进行与运算,这四路信号经过或门后得到bit0,即:
bit 2 = S &OverBar; g 1 bit 1 = S g 1 S &OverBar; g 2 &cup; S &OverBar; g 1 S g 2 bit 0 = S g 1 S &OverBar; g 3 &cup; S &OverBar; g 1 S g 3 &cup; S g 2 S g 4 &cup; S &OverBar; g 2 S &OverBar; g 4
这样bit2bit1bit0构成的二进制数就代表了p0到p7七个区间的分区信息编码。
6.如权利要求3所述的基于FPGA的旋转变压器线性变换器,其特征是,逻辑电路还包括判断伪线性信号处于上升段还是下降段的判别部分,判别部分结构为:
在p0和p4区间,|S2|和|S3|经过比较器,大于零则输出1,小于零则输出0;
在p1和p5区间,|S3|和|S1|经过比较器,大于零则输出1,小于零则输出0;
在p2和p6区间,|S1|和|S4|经过比较器,大于零则输出1,小于零则输出0;
在p3和p7区间,|S4|和|S2|经过比较器,大于零则输出1,小于零则输出0。
CN201510186177.XA 2015-04-17 2015-04-17 基于fpga的旋转变压器线性变换方法及变换器 Active CN104796051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510186177.XA CN104796051B (zh) 2015-04-17 2015-04-17 基于fpga的旋转变压器线性变换方法及变换器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510186177.XA CN104796051B (zh) 2015-04-17 2015-04-17 基于fpga的旋转变压器线性变换方法及变换器

Publications (2)

Publication Number Publication Date
CN104796051A CN104796051A (zh) 2015-07-22
CN104796051B true CN104796051B (zh) 2017-08-01

Family

ID=53560623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510186177.XA Active CN104796051B (zh) 2015-04-17 2015-04-17 基于fpga的旋转变压器线性变换方法及变换器

Country Status (1)

Country Link
CN (1) CN104796051B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10267819B2 (en) * 2016-02-04 2019-04-23 GM Global Technology Operations LLC Method and apparatus to monitor a resolver
US10408643B2 (en) * 2016-08-18 2019-09-10 Texas Instruments Incorporated Methods and apparatus to increase resolver-to-digital converter accuracy
CN108011547A (zh) * 2017-11-18 2018-05-08 贵州航天林泉电机有限公司 一种基于fpga的跟踪型旋变解码电路
CN108959183B (zh) * 2018-06-05 2022-07-12 上海麦歌恩微电子股份有限公司 角度传感器和旋转编码器的前向插值方法
CN111431443A (zh) * 2018-12-20 2020-07-17 中车大连电力牵引研发中心有限公司 轨道列车牵引永磁同步电机转子位置检测装置及轨道列车
CN110095142A (zh) * 2019-03-14 2019-08-06 哈尔滨理工大学 一种基于单对极角度值拟合的角度值跳点抑制方法及装置
CN110376940A (zh) * 2019-07-03 2019-10-25 中北大学 一种基于dsp的旋转变压器高精度高响应解码方法
CN110620527B (zh) * 2019-09-27 2021-06-22 清华大学 一种基于旋转变压器的大转角极限位置检测电路
CN111721329B (zh) * 2020-07-07 2021-11-23 哈尔滨理工大学 一种三霍尔磁电编码器及免反正切计算角度解算方法
CN112284427B (zh) * 2020-10-29 2023-06-30 中国航空工业集团公司洛阳电光设备研究所 旋转变压器角度信号高速转换的方法
CN112504115B (zh) * 2020-11-17 2023-05-09 中国电子科技集团公司第三十八研究所 一种转台上双通道旋变安装平面度的检测装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226066A (zh) * 2008-01-25 2008-07-23 连云港杰瑞电子有限公司 一种基于旋转变压器的多圈绝对型旋转编码器
CN101865651A (zh) * 2010-06-11 2010-10-20 天津工业大学 一种旋转变压器角度信号解码方法
CN101924514A (zh) * 2010-09-30 2010-12-22 重庆长安汽车股份有限公司 一种旋转变压器初始位置信号自动校正方法
CN102023625A (zh) * 2010-09-29 2011-04-20 北京金自天正智能控制股份有限公司 一种基于cpld/fpga的旋变编码器用ssi数据发送器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7834576B2 (en) * 2007-05-14 2010-11-16 Gm Global Technology Operations, Inc. Apparatus and methods for diagnosing motor-resolver system faults

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226066A (zh) * 2008-01-25 2008-07-23 连云港杰瑞电子有限公司 一种基于旋转变压器的多圈绝对型旋转编码器
CN101865651A (zh) * 2010-06-11 2010-10-20 天津工业大学 一种旋转变压器角度信号解码方法
CN102023625A (zh) * 2010-09-29 2011-04-20 北京金自天正智能控制股份有限公司 一种基于cpld/fpga的旋变编码器用ssi数据发送器
CN101924514A (zh) * 2010-09-30 2010-12-22 重庆长安汽车股份有限公司 一种旋转变压器初始位置信号自动校正方法

Also Published As

Publication number Publication date
CN104796051A (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN104796051B (zh) 基于fpga的旋转变压器线性变换方法及变换器
CN100422690C (zh) 角度检测信号处理装置
CN102325058B (zh) 一种变频系统群时延测试方法
CN102564462B (zh) 一种正余弦编码器的误差补偿装置
US6018318A (en) Method and apparatus for determining the phase angle in position transmitters with sinusoidal output signals
CN108592956A (zh) 旋转编码器及其绝对角度位置检测方法
CN103543333B (zh) 高频信号相位差测量方法及测量装置
CN102645583B (zh) 基于群周期相位处理的宽频快速频率测量方法
CN104040903A (zh) 时域切换模拟数字转换器设备与方法
CN101210821A (zh) 一种双通道轴角转换和测量中粗精耦合的方法
CN201780116U (zh) 检测旋转物体转速及旋转角度的光电编码器
CN103299153A (zh) 检测多旋转绝对旋转角的装置以及检测该旋转角的方法
CN101723213B (zh) 一种基于SinCos编码器检测位置和速度的方法
CN103856425B (zh) 利用三次测量达成直接上变频发射机的快速本地振荡泄漏校正
CN102706367B (zh) 一种用于组合导航的单波束激光测速仪精度测试与计算方法
CN108896075A (zh) 一种基于fpga的旋转变压器角位移闭环解码系统与方法
CN102879017B (zh) 双速轴角数字转换器粗精组合系统
CN104155521A (zh) 相位差的确定方法和装置
CN101865651B (zh) 一种旋转变压器角度信号解码方法
CN100462686C (zh) 一种自整角机/旋转变压器-模拟直流电压转换方法
CN105487489A (zh) 一种带被试件同步功能的三通道编码器细分及位置信息采集装置
CN102636127B (zh) 轨迹跟踪式干涉信号计数细分装置及方法
Zhang et al. Absolute position acquisition for linear synchronous motor with passive mover
CN108667460A (zh) 一种旋变数字转换器转换精度测试方法
CN116359605B (zh) 一种基于二次加权的谐波信号分析方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant