高精度伺服传感器信号模拟器
2015-06-15张健,龚丽农
高精度伺服传感器信号模拟器
针对伺服传感器角度解调算法性能评估困难的问题,设计了可提供转子角位置及角速度真值信息的高精度伺服传感器信号模拟器。模拟器可模拟磁编码器、旋转变压器及增量式光电编码器输出信号。为降低系统的量化误差,采用DSP28335为CPU,DAC7664完成D/A转换。误差分析表明,所设计的伺服传感器信号模拟器精度较高。试验结果验证了误差分析的准确性,表明所设计的模拟器具有一定的实用价值。
伺服系统 磁编码器 旋转变压器 光电编码器 信号模拟器
0 引言
要构成高精度伺服控制系统,获取高精度的角位置及角速度信息是关键[1-2]。伺服系统常采用的角位置及角速度传感器包括:磁编码器、旋转变压器及光电编码器。目前,常用的旋转变压器及磁编码器解调算法有Arctan法[3]和锁相环法[4-6],光电编码器解算方法有M法、T法和MT法[7]。要衡量伺服传感器角度解调算法的解调精度,通常同轴安装更高精度的伺服传感器,以获取更准确的角位置及角速度信息作为基准,但是成本较高,并且仍会受到解调算法及安装精度的影响。
为便于对伺服传感器角度解调算法进行评估,本文设计了高精度伺服传感器信号模拟器。模拟器可对磁编码器、旋转变压器及增量式光电编码器输出信号进行模拟。本文详细阐述了模拟器的系统原理,软硬件设计思路,并对输出信号的误差进行了分析。
1 系统概述
磁编码器是一种基于磁阻效应或霍尔效应的轴角传感器。磁编码器输出信号为转子角位置的正余弦函数,可以描述为:
(1)
式中:θ为转子角位置;yms、ymc为磁编码器输出的正余弦信号;Asm、Acm为输出信号幅度;βm为相位偏移角度。
旋转变压器结构与绕线式异步电机相似[1],在旋转变压器源绕组上施加激磁信号Vex(t)=Ecosωext,通过电磁耦合,旋转变压器的输出信号为:
(2)
式中:θ为转子机械角位置;E为所施加励磁信号幅度;ωex为所施加励磁信号角频率;K为旋转变压器变压比;P为旋转变压器极对数。
由式(2)可知,旋转变压器输出信号是包络为转子机械角位置正余弦的调幅信号。
光电编码器是一种集光、机、电与一体的测角装置[8]。增量式光电编码器输出A、B、Z三路脉冲信号。其中,A 、B信号相位差为90°,每周内所输出的脉冲个数由编码器线数决定;Z脉冲为零位基准信号,每周输出一个脉冲。
本文所设计的高精度伺服传感器模拟器可模拟式(1)所示磁编码器输出信号、式(2)所示旋转编码器输出信号以及增量式光电编码器输出信号。模拟器结构框图如图1所示。图1中,上位机或键盘完成对伺服传感器模拟器的参数配置工作。CPU根据所配置的输出信号参数,将所计算的磁编码器输出信号数字值送往16位并口多路高速D/A(数字/模拟)转换芯片,经D/A转换及信号调理后,输出式(1)所示磁编码器输出信号以及旋转变压器包络信号。旋转变压器包络信号与旋转变压器励磁信号通过高速模拟乘法器相乘即得式(2)所示旋转变压器输出信号。励磁信号可利用拨码开关选择为内部DDS(直接数字频率合成)芯片产生或由外部提供。CPU利用其自身I/O口输出增量式光电编码器输出信号。电平转换的目的在于使模拟器所输出的光电编码器输出信号逻辑电平与实际光电编码器一致。
图1 系统结构框图
2 系统硬件设计
系统硬件主要包括键盘、显示、CPU、D/A转换、DDS、模拟乘法器及信号调理部分。本文中键盘采用独立式键盘;显示采用3.5英寸(1英寸=25.4 mm)液晶屏幕。模拟乘法器采用AD公司高速模拟乘法器AD734,其带宽可达10 MHz,精度达0.1%。信号调理电路为反相比例放大电路,所采用运算放大器型号为AD712。CPU、D/A转换芯片及DDS选型如下所述。
2.1 CPU选型
当转子角速度较高时,为保证输出信号的精度,要求CPU程序执行周期尽可能短。由式(1)及式(2)可知,磁编码器及旋转变压器输出信号均需要CPU完成正弦及余弦函数的计算,而正余弦函数的计算需要大量的机器周期。若选用普通单片机作为CPU,采用查表法获取正余弦信号值,虽然避免了正余弦函数的直接计算,但是存在量化误差。查表法仍需要进行浮点数比较运算。鉴于普通单片机较低的时钟频率及低效率的浮点数运算功能,程序执行周期仍较长。因此,本文采用TI公司32位数字信号处理芯片TMS320F28335作为CPU,其时钟频率可达150 MHz,具有浮点数运算功能,计算正余弦函数仅需37个时钟周期(约为0.246 7 μs)[9]。同时,TMS320F28335具有256 kB Flash、16 kB SRAM以及丰富的外设(CAN、I2C、SPI、SCI等),便于软件及硬件的扩展,满足设计要求。
2.2 D/A转换芯片选型及接口电路设计
D/A转换芯片完成系统两路磁编码器信号及两路旋转变压器包络信号产生工作。为提高输出信号精度,缩短程序执行周期,同样需要D/A转换器具有较高的转换精度、较短的转换及数据更新时间。本文采用TI公司四通道(VoutA-VoutD)D/A转换芯片DAC7664完成D/A转换工作。DAC7664数据转换位数为16位,数据稳定时间达12 μs,并行数据接口极大地缩短了其与CPU之间的数据传递时间[10]。DAC7664与TMS320F28335接口电路图如图2所示。
图2 DAC7664与TMS320F28335接口电路图
由图2可知,DAC7664的四个模拟量输出通道VoutA~VoutD地址为200000H~200003H。LDAC引脚为DAC7664寄存器数据更新控制引脚。四个通道的转换数据首先由并行接口传递至各通道内部缓冲器,当LDAC引脚发生上升沿跳变时,数据将由各通道缓冲器锁存至各通道DAC寄存器,同时启动D/A转换。如此,保证了四个通道输出数据的同步性,避免了由于D/A转换不同步所引起的正余弦信号相移误差。
2.3 励磁信号产生及其接口电路设计
旋转变压器励磁频率从一般从几百赫兹到几十千赫兹,本文所设计伺服传感器模拟器可通过拨码开关选择为外部或内部励磁信号。外部励磁信号由用户提供;内部励磁信号采用高精度SPI总线数据接口DDS芯片AD9833产生。AD9833内部相位累加器达28位,输出正弦波频率范围为0~12.5 MHz,输出信号频率精度为0.1 Hz,内部配置D/A转换精度为10位[11]。AD9833与TMS320F28335接口电路图如图3所示。
图3 AD9833与TMS320F28335接口电路图
3 系统软件设计
系统软件分为管理计算机软件与伺服传感器模拟器软件(TMS320F28335)两部分。管理计算机软件采用LabVIEW编写,伺服传感器模拟器软件由C语言编写。
3.1 管理计算机软件设计
管理计算机通过RS-232对伺服传感器模拟器进行配置,两者通信波特率为9 600 bit/s,通信协议如图4所示。图4中,命令1为传感器类型及角速度类型,传感器类型可配置为旋转变压器、磁编码器和光电编码器3种,转子角速度类型可配置匀速、匀加速和正弦速度3种形式;命令2为旋转变压器励磁信号频率;转速参数包括起始转速、终止转速、加速度、正弦速度频率、正弦速度振幅以及正弦速度偏置信息。
‘S’命令1命令2转速参数和校验‘E’
图4 管理计算机与伺服传感器模拟器通信协议
Fig.4 Communication protocol between management computer and servo sensor simulator
3.2 伺服传感器模拟器软件设计
伺服传感器模拟器软件流程框图如图5所示。
图5 伺服传感器信号模拟器程序流程框图
伺服传感器模拟器根据管理计算机的有效配置,首先计算当前时刻的角速度,并根据角速度计算当前角位置。当配置为磁编码器或旋转变压器输出时,模拟器计算磁编码器输出信号幅值或旋转变压器包络信号幅值数字值,启动D/A转换,输出磁编码器输出信号或旋转变压器包络信号。记转子角速度为ω,ω更新周期为Tω,磁编码器输出信号数字值计算方法为:
(3)
式中:Dms、Dmc分别为磁编码器输出正余弦信号数字值;Mgoal为期望的磁编码器输出信号幅值;θj、ωj分别为j=nTω时刻角位置角速度值;Asm、Acm分别为磁编码器输出正余弦信号调理电路放大倍数;DA_B为D/A转换器转换位数;int()表示取整运算。
光电编码器包络信号数字值计算方法为:
(4)
式中:Drs,Drc为旋转变压器输出正余弦包络信号数字值;Rgoal为期望的旋转变压器输出信号幅值;Asr、Acr分别为旋转变压器输出正余弦包络信号调理电路放大倍数;Amul为乘法器放大倍数;Vcarrier为载波信号幅值。
当配置为光电编码器输出时,CPU根据角速度信息,利用TMS320F28335定时器的定时功能,输出光电编码器A、B、Z信号。第j时刻,A、B信号定时器定时周期为:
Tj(A,B)=π/(PPR×ωjTω)
(5)
式中:Tj为第j时刻A、B信号周期的一半;PPR为光电编码器线数。A、B信号间90°的相位差可利用TMS320F28335定时器灵活的计数值判断功能,通过定时器配置实现[9]。Z信号每转输出一次,本文采用单独定时器定时输出。
定时时间可通过求解式(6)计算所得。
(6)
4 误差分析
由于受程序执行周期及所选择器件精度的影响,伺服传感器模拟器输出信号与理想信号之间必然存在误差。以下将对本设计中磁编码器输出信号、旋转变压器输出信号及光电编码器输出信号的误差进行分析。
4.1 磁编码器输出信号误差
第j时刻,由于转子角速度离散化所引起的磁编码器输出信号最大角位置误差为:
EMp=ωjTω
(7)
由D/A转换所引起的磁编码器输出信号最大角位置误差为:
EMd=π/2DA_B
(8)
因此,第j时刻磁编码器输出信号角位置最大误差可近似为:
EMmax=EMp+EMd=ωjTω+π/2DA_B
(9)
4.2 旋转变压器输出信号误差
旋转变压器输出信号除受到转子角速度离散化及D/A转换精度的影响,还受到乘法器输出精度的影响,第j时刻旋转变压器输出信号角位置最大误差可近似为:
ERmax= (1+Emul)(1+Ec)(ERp+Erd)=
(1+Emul)(1+Ec)(ωjPTω+π/2DA_B)
(10)
式中:Emul为乘法器精度;Ec为载波信号精度;ERp为 由于CPU程序执行周期所引起的旋转变压器输出包络信号角位置误差,ERp=ωjPTω;由D/A转换所引起的旋转变压器输出信号最大角位置误差ERd=π/2DA_B。
4.3 光电编码器输出信号误差
根据3.2节所述,在保证定时器定时准确的前提下,光电编码器Z信号输出误差为零。当转子角速度ω为匀速形式时,A、B信号所表示的角位置误差也为零。
当ω为匀加速形式时,由于转子角速度ω离散化的影响,必会造成光电编码器角位置误差。记角加速度为a,匀加速时,光电编码器输出信号角位置误差示意图如图6所示。
图6 匀加速时光电编码器角位置误差示意图
图6中,阴影部分即为转子角速度ω离散化所造成的角位置误差。光电编码器输出脉冲形式信号,一般采用每转内遗漏/冗余脉冲数评估其输出信号精度。
EE=PPR/4π×aTωTr
(11)
式中:EE为每转内遗漏/冗余脉冲数;Tr为转子角位置旋转一周所需时间。
由式(11)可知,转子角速度越快,光电编码器输出误差越小。
5 试验验证
为验证本文所设计伺服传感器信号模拟器的精度,本文分别对磁编码器、旋转变压器输出信号的角位置误差、光电编码器的输出脉冲误差进行了试验验证。对于磁编码器及旋转变压器输出信号,试验过程如下。
① 利用研华公司高速高精度A/D采样板卡PCI-1714,对磁编码器及旋转变压器两路输出信号进行采样。
② 利用Matlab对两路输出信号取反正切,得角位置值信息,可近似认为此角位置信息为伺服传感器信号模拟器所输出的角位置信息。
③ 利用Matlab对给定速度取积分,获取采样时刻角位置真值,计算一转内最大角位置误差,并取其最大值。试验中,磁编码器及旋转变压器输出信号幅度为±5V, 旋转变压器采用内部励磁信号,旋转变压器极对数P=4,速度更新时间Tω=15μs。试验结果如表1所示。由表1可知,磁编码器与旋转变压器输出信号的最大角位置误差与利用式(9)、式(10)所计算的理论值接近。
表1 最大角位置误差
对于伺服传感器信号模拟器所输出的光电编码器输出信号,本文则利用研华公司数字板卡PCI-1780的计数器功能,获取模拟器所输出的A、B脉冲个数,进而计算得到一转内模拟器的输出脉冲个数误差。试验中光电编码器线数PPR=2 500,速度更新时间Tω=1 ms,所得结果如表2所示。试验结果表明,光电编码器A、B信号输出脉冲个数误差与理论计算结果一致。
表2 输出脉冲个数误差
6 结束语
本文设计了一种高精度伺服传感器信号模拟器,可模拟磁编码器、旋转变压器、增量式光电编码器输出信号,模拟器输出信号速度形式能够满足评估解调算法性能对速度形式的要求。试验结果表明,所设计的伺服传感器信号模拟器精度高、成本低,可用于伺服传感器角度解调算法的评估,具有一定的应用价值。
[1] 吴云涛,吴忠.基于旋转变压器的伺服电机位置及速度观测器设计[C]//第三十一届中国控制工程会议论文集C卷,合肥,2012:4350-4355.
[2] 张健,吴忠,吴云涛.基于旋转变压器的伺服电机角位置及速度检测[J].微电机,2013,46(11):22-28.
[3] Benammar M,Ben L,Alhamadi M A.A novel resolver-to-360 degrees linearized converter[J].IEEE Sensors Journal,2004,4(1):96-101.
[4] Arab K D.Software-based resolver-to-digital converter for DSP-based drives using an improved angle-tracking observer[J].IEEE Transactions on Industrial Electronics,2012,61(4):922-929.
[5] Kang H J,Kim S H,Lee S H,et al.Adaptive digital demodulation of sinusoidal encoder signal for positioning control of spiral servo track writing[J].Microsystem Technologies,2012,18(6):1247-1253.
[6] Bergas J,Ferrater C.High-accuracy all- digital resolver-to-digital conversion[J].IEEE Transactions on Industrial Electronics,2012,59(1):326-333.
[7] 陶仁浩.基于增量式光电编码器的高精度位置检测技术研究[D].南京:南京航空航天大学,2012.
[8] 刘洋,吕恒毅,谭立国,等.光电编码器信息处理技术的进展[J].自动化仪表,2011,32(3):16-20.
[9] Texas Instruments.TMS320x2833x,2823x system control and interrupts reference guide[EB/OL][2010-03-18].http://www.ti.com/lit/ug/sprufb0d/sprufb0d.pdf.
[10]张健,吴忠.旋转变压器输出信号自动标定[J].北京航空航天大学学报,2013,40(3):383-388.
[11]Analog Device.低功耗可编程波形发生器[EB/OL][2012-09-19].http://www.analog.com/static/imported-files/zh/data_sheets/AD9833_cn.pdf.
High-precision Signal Simulator for Servo Sensors
张 健 龚丽农
(青岛农业大学机械电子工程学院,山东 青岛 266109)
To evaluate the performance of the angle demodulation algorithm for servo sensor, the high precision signal simulator for servo sensor that can provide true value of information for angular position and angular speed of the rotor is designed. The simulator can emulate the output signals of magnetic encoder, rotary transformer (resolver), and incremental optical encoder. To reduce the quantization error of the system, DSP28335 is used as the CPU and DAC7664 is used for D/A conversion. The error analysis indicates that the signal simulator designed for servo sensor features high precision. The experimental results verify the accurateness of error analysis; that means the simulator designed possesses certain practical value.
Servo system Magnetic encoder Resolver Optical encoder Signal simulator
国家公益性行业(农业)科研专项基金资助项目(编号:201203028.5)。
张健(1982-),男,2006年毕业于山东科技大学测试计量技术及仪器专业,获硕士学位,讲师;主要从事伺服电机控制的研究。
TH702
A
10.16086/j.cnki.issn1000-0380.201505022
修改稿收到日期:2014-10-20。