0 引 言
现代电子技术的进步不断推动数字伺服系统的发展,人们对位置角度测量提出了越来越高的要求。轴角转换装置旋转变压器以其高精度、抗震动、高可靠性著称,在工业控制和武器控制系统等设备中应用广泛。为了促进学员对旋转变压器角度转换、测量和通过双通道粗精组合提高测量角度精度的原理和技术的掌握,在不需要复杂的外围设备情况下,利用C8051F021混合型芯片内置的集成12位ADC与DAC,方便的实现激励信号产生、正余弦信号测量、轴角计算,同时,C8051F021对C语言编程有较好的支持能力,利用C语言编程,可以方便的实现程控。基于此,设计本实验装置。
1 系统设计
1.1 系统原理与结构
为了让装置能自动完成测量轴角任务,利用C8051F021混合型单片机产生驱动旋转变压器的激磁信号并测量旋转变压器输出的正余弦信号,根据信号幅值和相位计算旋转角度,通过应用粗精双通道卦限判别和组合纠错技术提高测量角度精度,最后将组合后的结果作为真实值由LCD显示。总体设计框架图如图1所示:
双通道旋转变压器作为轴角测量元件,一般与转轴同轴安装,它相当于一台的1:1旋转变压器和一台1:n的旋转变压器的结合体。当粗级旋变转过1圈时,精级旋变则转过n圈,精级的1圈(360°)表示真实轴角角度的1个360°/n。数据组合时,由粗级数据计算真实轴角所在区间,由精级数据计算出该区间的精确值,粗精组合后得到轴角的真实值.理想情况下数据组合公式为:
D=INT[Dc/(360°/n)]×(360°/n)+(Dj/n)
式中:D为轴角的真实值;Dc为粗级数据;Dj为精级数据。设D=INT[θc/(360°/n)],则有0≤i≤n,i表示真实轴角落入第i个区间。在本设计中采用1:32的转速比。
将O°~360°划分为32个区间,每个区间为11.25°。真实轴角D落入哪个区间,可用esc(粗级正弦输出)、ecc(粗级余弦输出)计算出Dc来得到。而后再用esj(精级正弦输出)、ecj(精级余弦输出)计算出Dc得到落入该区间的精确值(具体计算方法将在软件设计部分给出)。由此,本设计中的数据组合公式可写成如下形式:
D=INT[Dc/(11.25)]×(11.25)+(Dj/32)
上述的粗精级轴角组合原理是建立在粗读数整数部分不能有差错的基础上的,而实际中由于传感器误差、工艺因素等往往导致得不到粗、精级的理想配合:当Dj在两个区间的上(下)边界附近时,会出现粗级读整数与真实轴角D所在区间多“1”或者少“1”(“1”即360°/n,本设计中“1”为11.25°)的大角度的误差,且这种误差是原理性误差,是粗精级组合系统中粗读整数不可避免的误差,依靠提高器件及电路精度来达到绝对避免这种误差是不可能的(只会减少产生这种差错的机率)。但可利用软件的方法来排除该误差:采用一个循环和一个纠错判决条件来实现纠错,判决条件的基准值η由装置的测量精度决定,它是装置纠错能力的具体表示。本设计中取粗级单个区间长度的一半作为基准值,即此时η=6.125°。实现过程将在软件设计中给出。
1.2 关键电路设计
1.2.1 激磁信号产生及调理电路设计
通过查正弦函数表的方法,经过D/A转换成模拟量而输出正弦波。其波形的频率可以通过改变定时器的初值,即改变查表输出的时间来控制。采用n位D/A转换器产生幅度为0~2n的m点正弦信号,其函数表可通过如下公式计算:
D/A输入=sin(2πj/m)×2n-1+2n-1 j="0",1,2…2m
本设计采用C8051F021的12位D/A转换器产生16点正弦信号,利用如下公式计算:
D/A输入=sin(2πj/16)×2048+2048 j="0",1,2…32
可计算得到的16项16位二进制数结果,以32个8位二进制数的形式存放在code段(ROM中)具有32项的一维数组SINE_TABLE[32]中,每2项合成一个16位数,取低12位送D/A转换器进行D/A转换。
设系统振荡频率为f0,要产生频率为-厂的正弦信号,n位定时器的初值可按如下公式计算:
初值=2n-f0/12×1/100Hz×1/n
本设计中,C8051F021的系统振荡频率f0=22.11840O MHz,n=16,产生10kHz正弦信号时定时器初值应设置为:
216-22.118400MHz/12×1/100Hz×1/16=64384
DAC0输出的是0~2.4V的正极性正弦信号,为驱动旋转变压器,需要双极性的激磁电压,且2.4V的电压幅度不足以使旋转变压器产生较大的感应电压,因此,需对DAC0输出信号进行调理,调理电路如图2所示,采用集成运放LM324N作为放大器,为便于调节,达到合适的电压增益,使用量程为100kΩ的可变电阻R3,改变R3阻值可适应不同增益要求。电容C3为隔直电容,C1用于滤去高频噪声。后级放大电路采用乙类双电源互补对称功率放大电路。C4、C5为去耦电容,二极管D1、D2用于克服交越失真。
1.2.2 输入调理电路设计及A/D转换模块
C8051F021芯片内有一个完全由CIP-51通过特殊功能寄存器控制的片内12位SAR ADC(ADC0),一个9通道输入多路选择开关和可编程增益放大器。9个有一个输入通道被连到内部温度传感器,其他8个通道接外部输入且每一对都可被配置为两个单端输入或一个差分输入。
旋转变压器输出正弦和余弦两路信号,因此,双通道旋转变压器将输出四路信号。本设计中采用单端输入方式,将AIN0.0-AIN0.3四个端口作为单端输入口。ADC0的工作电压选择为0~2.4V,而旋转变压器输出的是双极性电压,因此,需对其调理,使其成为范围为0~2.4V的正极性电压信号,以满足ADC采样要求。调理电路如图3所示。运放U2输出一个负极性稳定电压,输入信号与之叠加后变为负极性信号,经运放U1反相放大调理至0~2.4V。二极管D1和D2为稳压二极管。
2 软件设计
软件由主模块、激磁信号产生、双通道角度信号采集转储、双通道角度计算与纠错及键盘显示5个模块组成。
2.1 激磁信号产生模块
通过查正弦函数表的方法,经过D/A转换成模拟量而输出正弦波。其波形的频率可以通过改变定时器的初值,即改变查表输出的时间来控制。
T3中断服务响应后,软件先清除中断标志,按次序输出正弦表数据给DAC0。由DAC0输出模拟的激磁信号。当数据表指针指向正弦波波峰时,启动一次ADC0采样。
2.2 双通道角度计算与纠错模块
在实际应用中,快速准确确定粗、精机的读数是十分关键的,本设计中,通过采集由旋转变压器输出的正余弦值来算出当前的角度,计算的整体思想是先确定角度的卦限,然后根据正余弦值之商(即正切)来匹配角度值。将圆均分为八个卦限,沿逆时针方向依次编号为I、Ⅱ……Ⅷ。
为得到真实轴角D,需解决两个问题:(1)确定D所处卦限(解决大范围问题);(2)确定D在各卦限中的角度θ是多少(解决小角度问题),本设计中,θ为真实轴角D偏离0°、90°、180°、270°、360°线的角度。真实轴角D在各卦限与θ关系如下表所示:
具体计算流程如图4所示。
依此法可分别求得DC与Dj,经组合即可求得真实轴角值。
当待测角度小于0°或大于360°时,可将其加上或减去360°转化为0°~360°间的角度。
纠错程序流程如图5所示。
3 系统测试
3.1 实验测量
利用该装置,测得数据如表1所示:
从表中可看出,测量值与真实值的误差控制在0.05°以内,表明装置具有较高精度。
3.2 纠错检测
选取易出错的特殊角度(0°、90°、180°、270°),通过转动旋转变压器,对其进行纠错检测,情况如表2所示。
从表中可看出,对各个角度而言,无论出错情况是“超前”还是“滞后”,结果误差始终控制在0.05°以内,说明该装置具有较好的纠错能力。
4 结束语
本文设计了1:32双通道轴角测量实验装置,给出了软硬件实现,若应用于其他转速比的系统中,只需更改算法中相应部分的具体数值即可,因此方法具有普遍意义。由于充分利用了C8051F021内部集成的DAC、ADC等功能部件,硬件电路结构简单;程序采用模块化设计,条理清晰,可移植性强;系统运行稳定,测试结果可靠性高。文中采用的实现方法贴近实际,利于学习掌握测角原理,解决了实验教学需要,对实验教学和产品的进一步研发有很好的参考价值。