何凡锋,张振

(首都航天机械有限公司,北京,100076)

0 引言

旋转变压器是一种可以适用于高温、高湿、高速等恶劣环境工作场合的角度传感器,应用范围十分广泛。不同于普通角度传感器,旋转变压器的角度信息无法直接读取,必须配备专门的解码装置。这种解码装置有两种解码方式[1~4],一种是硬件解码方式,另一种是软件解码方式。硬件解码方式解码速度快,但是,参数固化,无法修改,欠缺灵活。软件解码方式相对灵活,可以根据需要修改各种参数,非常适合个人学习测试各种解码算法。然而,软件解码方式对主控芯片的运算速度要求较高,需要使用高性能控制芯片。STM32的H7系列芯片性能卓越,在工业自动控制、物联网和消费电子等方面应用广泛[5~6]。这种芯片采用ARM Cortex M7架构,工作频率高达480MHz,可以满足各种复杂场景应用,而且价格适中,适合作为旋变解码主控芯片。本文将采用软件解码方式设计解码试验板,以STM32H750VBT6作为主控芯片,分别设计相关外围电路与控制程序,并测试试验板的使用效果。

1 解码原理

旋转变压器的工作原理是通过给励磁绕组施加稳定的正弦波激励信号,同时,在输出绕组分别感应出正弦和余弦电压信号,如图1所示。R1-R2励磁绕组施加高频激励信号,S1-S3感应出余弦信号,S2-S4感应出正弦信号,转子位置θ与S2-S4、S1-S3输出绕组的电压幅值成正余弦关系。解码方法就是通过ADC采样获取输出绕组的电压信号,转换为控制芯片内部的数字信号,然后通过各种算法进行反向计算便求解出转子的实际角度θ。

图1 旋转变压器原理图

2 硬件设计

2.1 整体结构

试验板的整体结构采用模块化设计,如图2所示。设计了四个模块,分别是DC-DC电源模块、MCU模块、ADC采样模块和励磁模块。DC-DC电源模块的主要功能是将输入的+15V电压转换为MCU的工作电压3.3V,同时,为励磁模块提供+15V电压输入。MCU模块提供DAC激励信号、ADC采样、数值计算、程序调试、串口通讯等功能。ADC采样模块用于旋转变压器输出绕组的信号滤波、放大、传递等用途。励磁模块用于增强DAC信号,以便输出足够功率的正弦波激励信号。下面分别介绍各模块的电路设计。

图2 试验板结构图

2.2 DC-DC电源电路

DC-DC电源电路采用MP1584降压芯片,将+15V电压转换为+3.3V电压。这种降压芯片价格便宜,性能稳定,已经被广泛使用。这里的+3.3V输出仅为MCU提供电流,功率不大,发热小,足以满足使用,其电路图如图3所示。

图3 DC-DC电路图

2.3 励磁电路

励磁的目的是要给旋转变压器输入一个固定周期的正弦波信号。这里采用两路幅值与周期相同,但波形相反的正弦波信号,即通过励磁电路在励磁绕组R1与R2两端分别输入正向正弦波与反向正弦波信号,形成2倍幅值的合成正弦波信号。电路图如图4所示,图中只给出了一路电路图,因为两路励磁信号的电路是相同的。当MCU输出的DAC信号为sin正向波形时,激励信号输出正向正弦波信号,当DAC信号为sin反向波形时激励信号输出反向正弦波信号。图中,U2为LM2904运放,D3、D4为LL4148二极管,Q1为MMBT4401三极管,Q2为MMBT4403三极管。

图4 励磁电路图

2.4 ADC采样电路

采样电路的工作原理是先将旋转变压器的输出绕组感应出来的两种信号进行滤波,然后经过运放放大,再传递到MCU的ADC采样端口。电路图如图5所示,左侧连接S1、S3、S2、S4四个端口,右侧连接MCU的PC5端口与PB1端口。图中,U4为LMV358系列运放,20k电阻采用±1%精度的电阻。

图5 ADC采样电路图

2.5 MCU电路

主控芯片电路如图6所示,芯片型号是STM32H 750VBT6。芯片外围电路设置了SWD调试接口、USART接口、启停按键、外部晶振电路。图中,X1晶振类型为25MHz贴片无源晶振,D1为ESD静电管。

图6 MCU电路图

3 控制程序

控制程序是基于HAL库开发,由STM32CubeMX软件生成程序控制框架,再通过Keil 软件进行调试并添加所需代码。串口通信部分用到USART1外设,波特率115200;ADC采样用到ADC1、TIM3和DMA1的Stream3,采样频率10kHz;数模转换部分用到DAC1、TIM2、DMA1的Stream1和Stream2,转换频率500kHz。ADC采样与USART1编程相对容易,这里不做介绍,下面仅对DAC输出部分代码与解码代码进行介绍。

3.1 DAC输出部分

SinData_LENS为宏定义,值为50。内部波形数据与实际电压的对应关系: 744*2/4096*3.3=1.2V(Vp-p) 。数据初始化函数及代码如下:

函数中offset变量用于调节DAC输出波形的起点,这里滞后90度,正好在波形顶端触发ADC采样,避免波形干扰。

3.2 解码算法部分

依据解码算法的原理[1],这里定义跟踪误差:

Us是sin信号的电压采样值,Uc是cos信号的电压采样值,这两个信号反映出旋转变压器的转子位置角度。sin(θ)与cos(θ)是解码角度θ的三角函数值。用公式(1)计算的结果趋近于0时,旋转变压器的实际转子角度就是θ角。这里采用αβ滤波[7-8]相关理论进行解码,并通过试验的方法确定参数数值。程序内容如下:

由试验得出相关参数的初值:N_Ts=10000,M1=800000,M2=1。另外,解码函数DeCode_Angle(void)应该放在DMA1_Stream3_IRQHandler(void)中断函数中调用,每次ADC采集完毕后进行解码运算。

4 实验与分析

4.1 试验板测试

实验系统的搭建如图7所示,由旋转主轴、旋转变压器、直流电源、串口通信模块与试验板五个部分组成。旋转主轴用于拖动旋转变压器旋转;直流电源用于提供+15V电压输入;串口通信模块用于采集的波形数据与解码角度数据并传递给上位机。实验参数:励磁信号10kHz,Vp-p=2.4V,励磁绕组电感2mH,ESR等于28Ω;输出绕组电感5.5mH,ESR等于75Ω;额定转速230r/min。

图7 实验系统图

4.2 结果分析

测试结果如图8所示,图中展示1.045s时间内4个旋转周期的相关数据,包括解码角度与输出绕组的采样信号。图中纵坐标的数值范围为-32768~+32767,这是MCU内部程序变量的数值范围,采用的是C语言程序int16_t型数据类型。可以从图中看到,输出绕组的sin信号与cos信号均是4个完整波形周期,解码角度也是4个完整周期,两者周期完全一致,成功实现角度解码。

图8 解码角度与采样信号图

关于实际速度,其计算结果为:4/1.045×60=229.67r/min,转速误差为:(230-229.7)/230=0.14%。角度误差如图9所示,其幅度在600以内,误差百分比大小为:±600/32767=±1.8%。

图9 角度误差图

5 结束语

本文完成了一种旋变变压器解码试验板方案的电路设计与测试。从测试结果可以看出,试验板的解码角度误差与转速误差较小,满足了解码算法的测试使用。