基于DSP、ADC应用的转台角度解算及补偿技术
2015-06-01赵创社李红光谭名栋
谢 娜,赵创社,候 瑞,李红光,谭名栋,梁 挺
(西安应用光学研究所,陕西 西安710065)
引言
旋转变压器作为一种精度高、可靠性好的位置传感器件,被广泛用于光电稳定跟踪转塔及其他应用场合中,其模拟输出信号在数字系统中需经过R/D(Resolver-Digital,旋转变压器-数字转换器)转换为数字角度信号。
目前以专用解码芯片(如AD2S80)为核心的R/D方案在光电转塔上应用较多,文献[1]和[2]阐述了专用解码芯片的原理和使用方法,但这类芯片价格昂贵且灵活性差。使用单片机+FPGA+ADC(模数转换器),融合CORDIC算法求解三角函数的 R/D方案可进行快速解算[3-4],但其精度受运算字长和旋转级数的限制。Joan Bergas-Jané等人提出利用DSP软件解算的方法,用Park变换得出误差再由锁相环(PLL)求角[5],该方法精度高但解算过程复杂且耗时多。在使用DSP软件实现R/D的方案中,采用5阶泰勒级数近似多项式[6]、基于切比雪夫多项式快速逼近[7]等方法计算反正切值,在带来误差的同时仍避免不了超越函数的计算。
为降低硬件成本、增加灵活性,本文在不增加光电转塔控制系统硬件的情况下,使用控制系统中现有的ADC采集旋转变压器输出信号的电压值,在已有的DSP中编写软件算法调用DSP函数库中的反正切计算角度,得到浮点角度值。
1 双通道旋转变压器角度解算原理
在旋转变压器励磁绕组上通以频率为ω、幅值为E的正弦励磁信号Ve,则其输出是调制了载波Ve的正、余弦信号VS和VC:
式中:k为旋转变压器变倍比;θ为转子转过的角度。在同一时刻t对VS和VC采样,将采样值相除得到VS/VC=tan(θ),可以求得[-90°,90°]范围内角度为
由上式可以看出,只要测得正、余弦信号VS和VC的值,就可以计算出旋转变压器所处的角度位置,即可解算得到转台角度信号。
对于粗精机极对数比为1∶N的双通道旋转变压器,粗机角度变化360°时精机角度变化了N×360°,故其测量分辨率将提高N倍。粗机和精机的角度可以分别按照上述方法计算,然后用粗机角度确定旋转角度的大致范围,用精机角度得到该范围内角度的精确值。
2 基于DSP、AD的角度解算系统
2.1 系统硬件组成
基于DSP、ADC的角度解算系统框图如图1所示。
图1 基于DSP、ADC的角度解算系统框图Fig.1 Schematic diagram of R/D conversion based on DSP and ADC
图1 中解算系统以使用型号为AD7656的16位ADC和支持浮点运算的DSP芯片TMS320F28335为例。旋转变压器由激磁电路提供正弦激励Ve。脉冲产生器由电压比较器和延时电路构成,Ve经过电压比较器生成同频率的方波信号,延时电路可以通过改变电路参数调节方波信号的延时时间。DSP的外部中断输入端可以感知方波的正、负沿跳变并根据寄存器的设置产生相应的中断。双通道旋转变压器根据轴角与零位的差值θ输出差分正弦和余弦模拟调制信号,输出信号经过滤波、放大及差分转单边等信号调整过程后,成为两路粗机正余弦输出VS1、VC1和两路精机正余弦输出VS2、VC2。θ角度变化时,VS1、VC1、VS2、VC2的峰-峰值在ADC的输入电压值范围内。DSP从16位外部数据总线上获得ADC的采样结果,进行运算后得到旋转角度θ的计算值θA。
2.2 角度解算算法
调节脉冲产生器的参数,使方波的正、负沿跳变分别发生在Ve的正、负峰值处。并设置DSP的寄存器,使其感知到正、负沿跳变后均能产生外部中断。脉冲产生器在正弦激励Ve的每个周期内为DSP提供2次外部中断信号,分别发生在Ve的正、负峰值处,DSP在外部中断子程序中读取ADC采样的数据。由于峰值处输出电压的绝对值最大,所以在此处采样能尽量减小ADC采样的误差。正峰值采样时sin(ωt)=1,负峰值采样时sin(ωt)=-1。将负峰值处采样结果的符号取反,则统一得到采样结果为VS=kEsin(θ)、VC=kEcos(θ)。这种采样方式可以滤除正弦激励载波,得到与转角θ有关的解调后正余弦电压采样值,图2中VS和VC是解调后的曲线。
图2 正、余弦信号采样值与角度的对应关系Fig.2 Relationship between sine-cosine sample value and angle
转角θ的取值范围是[0°,360°),而(2)式的计算方式只能求得[-90°,90°]内角度,所以还需依据角度所在的不同象限修正计算角度。设由(2)式计算的角度为θ0,修正后的角度为θ。通过图2所示VS、VC的正负与转角θ的关系可知,采样值VC≥0且 时VS≥0在[0°,90°]内,角度值为θ=θ0;采样值VC<0时θ在(90°,270°)内,角度值为θ=θ0+180°;采样值VC≥0且VS<0时θ在[270°,360°]内,角度值为θ=θ0+360°。
由上述方法在角度计算子程序中分别求得粗机和精机角度θC和θJ后,调用组合纠错子程序得到最终角度θA。粗精组合时将旋转变压器的1圈(360°)划分成N个区间。图3中delta为与粗、精机配合偏差有关的正阈值,设定合适的阈值可弥补旋转变压器粗、精机不完全吻合的缺陷。
图3 粗、精角度θC、θJ组合纠错子程序流程图Fig.3 Combination and correction flow chart of coarse angleθCand fine angleθJ
3 旋转变压器输出信号误差补偿方法
旋转变压器制造时会存在电气误差。输出绕组匝数或阻抗的差异会导致正、余弦信号的峰-峰值不同,存在幅值误差;输出绕组位置不正交导致解调后的两路正、余弦输出间存在相位误差;电路延时会使激励信号与正余弦输出信号有相位差异。因此必须进行旋转变压器输出信号的误差补偿。在励磁电压Vc作用下,考虑误差的旋转变压器正余弦输出信号V′S和V′C表达式为
式中:α为正、余弦输出绕组信号的最大峰-峰值之比;φ为输出信号与激励信号间的相位差;β为解调后正、余弦输出间的相位差。同时刻t时对V′S和V′C采样,将采样值相除得到V′S/V′C=αcos(β)tan(θ)+αsin(β),此时角度计算方法变为
由(4)式可知,DSP软件解算方法的精度受φ的影响不大,但容易受到正、余弦输出之间幅值不均和相位误差的影响。旋转变压器制造完成后,α和β将成为其固有参数,一般α接近于1且|β|<90°,求出α和β后可修正误差。正弦采样值V′S随角度变化的曲线可认为是图4中(a)和(b)两种情况。在初始化过程中,控制旋转变压器正向旋转一周,并记录V′S和V′C的采样值。从测得的一周数据中,很容易比较得到V′S最接近于0的采样值与对应的采样时刻。取V′S采样值最接近于0且V′C采样值(图4中记为V′Ca或V′Cb)为正的时刻为初始时刻,随着角度的变化,V′S、V′C采样值如图4所示。
图4 正、余弦输出存在幅值和相位误差时的采样结果Fig.4 Sampling results of sine-cosine output with gain and phase errors
若正弦采样值V′S的波形如图4(a)所示,可以得到V′S采样值最接近0时(即图4中a1处)V′C采样值V′Ca、V′C最大采样值V′CMAX和V′S最大采样值V′SMAX1,α和β的值由(5)计算:
若V′S的波形如图4(b)所示,则得到V′S采样值最接近于0(即图4中b1处)时V′C采样值V′Cb、V′C最小采样值-V′CMAX和V′S最大采样值V′SMAX2,α和β的值由(6)式计算:
初始化时先采集数据再作处理,用此方法避免了采样误差及转塔速度对α、β参数识别的影响。因为α、β只在初始化过程识别一次,故该方法并未影响以后测量过程的实时性。
对输出信号误差补偿后,已不能按图2所示方法判断θ的象限。由图4可知,V′C采样值最大时,V′S的值已不等于0。初始化时,将V′C=VCMAX时的V′S采样值记录为V′S0。此时确定θ象限的方法为:采样值V′C≥0且V′S≥V′S0时θ在[0°,90°]内;采样值V′C<0时θ在(90°,270°)内;采样值V′C≥0且V′S<VS0时θ在[270°,360°]内。
4 系统实验结果
4.1 静态位置解算实验
使用光电转塔方位轴进行实验。将转塔置于一个数字转台上,比较转台转动角度与解算角度之差,可得到解算精度。解算系统在每个励磁周期内更新2次解算角度值,本系统中反正切函数计算时间最长不超过5μs,实时性能得到保证。
图5给出了3个位置的解算角度,每个位置都在555ms采样数据3 000个。位置1、位置2、位置3处数字转台显示角度分别为0.045 3°、50.550 5°、225.037 4°。从图5中可看出,DSP软件解算角度值波动范围在0.000 8°以内,与转台角度最大相差值在0.01°以内。对一般转台来讲,这样的解算精度可以满足系统要求。
图5 静态时DSP软件解算的角度Fig.5 Decoded static angle using DSP software
4.2 动态位置解算实验
考虑到数字信号能够实现同步采样,我们用原有的AD2S80数据与本文所述方法进行比较。实验过程中,转台以200°/s转动,理论值为转台上安装的高精度光电编码器的读数。图6在4.4s内记录了24 000个解算值。图6(a)是DSP解算角度、AD2S80解算角度与理论角度的比较,图6(b)是两者分别与理论角度之间的差值比较。从图6(b)可知,DSP软件解算角度与理论角度的差值在±0.05°以内,比AD2S80解算角度与理论角度的差值更小。
图6 旋转变压器转动时的解算角度Fig.6 Decoded angle of rotating resolver
4.3 补偿效果分析
若旋转变压器存在幅值和相位误差,当式(3)描述的误差参数α=1.2且β=10°时,利用第3节所述补偿方法对匀速转动的旋转变压器解算,仿真结果如图7所示。由图7中结果比较可知,补偿后解算角度的线性度和准确性都比补偿前提高。
图7 旋转变压器原始角度与误差补偿前后的解算角度Fig.7 Decoding angle before and after error compensation and original angles of resolver
5 结论
本文在介绍旋转变压器角度解算原理的基础上,设计了一套在已有的DSP、ADC硬件平台上,利用软件实现旋转变压器的角度解算算法,并提出了一种有效的旋转变压器输出误差补偿方法。实验结果表明,在光电转塔中,本设计可以替代传统AD2S80专用芯片解算转塔角度,可大大降低了电路的体积和器件的成本。本系统中角度解算算法简单合理、耗时少且舍入误差小,满足高精度、高转速光电转塔的系统要求,具有对硬件依赖少、占用存储空间少、成本低、实现简单、灵活性强等优点。
[1] Chu Haiyan,Xu Gang.Design of resolver decoding circuit based on AD2S1200[J].Science Technology and Engineering,2012,12(20):5044-5047.储海燕,许刚.基于AD2S1200的旋转变压器解码电路的设计[J].科学技术与工程,2012,12(20):5044-5047.
[2] Guo Xinhua,Zhuang Xingming,Zhao Feng,et al.Decoding principles and applying analysis of decoder chip-AD2S1200for resolver[J].Micromotors,2012,45(6):52-56.郭新华,庄兴明,赵峰,等.旋转变压器解码芯片AD2S1200的解码原理与应用分析[J].微电机,2012,45(6):52-56.
[3] Shi Huwei.Design of resolver decoding system based on CORDIC algorithm[D].Hunan:Hunan University,2012.石虎威.基于CORDIC算法的旋转变压器解码系统的设计[D].湖南:湖南大学,2012.
[4] Qin Dongdong.Study on angle measuring and drive&control system of turret based on FPGA[D].Harbin:Harbin Institute of Technology,2010.秦冬冬.基于FPGA的转塔测角及驱动控制系统研究[D].哈尔滨:哈尔滨工业大学,2010.
[5] Bergas-JanéJ.High-accuracy all-digital resolver-to-digital conversion[J].IEEE Transaction on industrial Electronics,2012,59(1):326-333.
[6] LI Shaowen,WU Shuang.New speed determination method based on resolver[J].Electric Drive,2011,41(8):61-64.李绍文,吴双.一种新的基于旋转变压器的测速方法[J].电气传动,2011,41(8):61-64.
[7] ZYang Hui,Zhao Yan,Ye Chao,et al.Rapid resolver angle demodulation algorithm based on chebyshev polynomial[J].Journal of Chinese Inertial Technology,2013,21(4):530-535.杨辉,赵剡,野超,等.基于切比雪夫多项式的旋变轴角快速解调算法[J].中国惯性技术学报,2013,21(4):530-535.
[8] Zhang Fan,Tao Kunyu.High-precision optoelectronic axis angle measurement in space[J].Journal of Applied Optics,2008,29(4):614-618.张帆,陶坤宇.空间环境高精度光电轴角测量研究[J].应用光学,2008,29(4):614-618.
[9] Sarma S.Software-based resolver-to-digital conversion using a DSP[J].IEEE Transaction on industrial Electronics,2008,55(1):371-379.