MAX1300在伺服功率驱动系统中的应用
扫描二维码
随时随地手机看文章
伺服功率驱动系统是液压伺服控制器的重要组成部分,该部分的设计不仅要为伺服系统提供足够的驱动能力,同时也要完成对电流反馈信号、电压反馈信号以及门限电压的实时采集、转换与显示。此外,为了保证整个系统在控制器工作过程中的良好表现,需要同时完成对两路信号的采集和转换。这对该系统中数据采集的速度、精度以及时序控制的准确度提出了较高的要求。
使用常见的8位、12位模数转换芯片(如ADC0809、MAX197等)设计的系统简单且成本较低,但无法满足高精度系统的设计要求。本文提出了一种基于C8051F120单片机为核心控制器件,使用16位A/D转换器MAX1300的双通道信号采集、处理方案,经过实验测试和理论分析,能够实现较高的采集精度和速度。
1 硬件设计
该伺服功率驱动板中完成实时数据采集检测系统选用C8051F120作为核心控制器进行设计。系统硬件框图如图1所示,主要由单片机、A/D转换、LED液晶显示和报警电路等组成。
本系统中选用22.118 MHz的外部晶振时钟以保证电路的稳定可靠。为满足系统中各设备的供电要求,采用5 V的输入电源供电。上位机与采集系统的数据通信利用串口完成,通过MAX232完成电平转换。液晶显示采用LCD5110模块完成,模拟量采集部分的A/D转换使用MAX1300实现。
硬件电路部分的设计中使用MAX1300内部4.096 V的电压基准。为了提升系统性能,在设计电路时加入了独立的模拟地和数字地、模拟电源和数字电源。同时,由于供电电源
的高频噪声也会对ADC中的高速比较器的工作性能,在每一个模拟电源和数字电源上都使用一个0.1μF的陶瓷电容旁路到最近的地。CH0~CH7分别为采集模拟量的输入通道。在每个通道前,加入了RC滤波电路。采集电路设计如图2所示。
2 软件设计
A/D采集部分的程序主要使用的开发软件为KeiluVision2。程序主要包括初始化程序、配置输入方式和输入量程的字节、配置芯片的工作模式、写入启动信号0x80、等待8
个时钟、读出AD转换的数据位等部分。软件流程图如图3所示。
MAX1300有3种可供选择的转换模式,分别为外部时钟模式、外部采集模式和内部时钟模式。本文中选择外部时钟模式,在该模式下,SCLK在控制模拟信号采集的同时,也控制着模拟信号的转换,便于精确的控制采集模拟信号的时间,并且这种模式可获得最高的吞吐率。此外,MAX1300具有7种单端输入范围和3种差分输入范围,能够满足本系统采集正负电压的需要。
依照图4中模式控制字节的写入方式完成MAX1300芯片的单极性或双极性输入范围、单端或差分输入通道配置、采集工作模式的配置。
在Keil下进行编程并在线调试。在连接好电路之后,单片机启动AD转换程序并将采集的数据通过串口发送到PC机。驱动程序如下:
SPI_Write_Cmd(0x89); //配置CH0和CH1为差分输入方式
SPI_Write_Cmd(Ox88); //0x88为外部模式0
SPI_Write_Start(0x80); //启动转换信号
MAX_DATA=SPI_Read();//读取转换数据
3 实验结果及分析
在采集精度测试中,使用信号源输入不同的电压值,将A/D转换后液晶显示的电压值与采样电阻两端的实际输出电压值进行比较,得到的实验结果如表1所示。
实验结果表明,该单片机设计的AD采集板具有较高的精度,但仍存在着一定的误差。在高精度数据采集系统中,ADC的误差在很大程度上影响着系统的精度。因此需要对AD转换器件MAX1300的各主要误差源进行分析计算。
MAX1300的差分非线性(DNL)为(-1LSB,+2LSB),其DNL误差值存在偏移,也就是说ADC的转换函数会发生变化,但是在以-1LSB为底限的情况下在理论上仍然可以保证不丢码。
INL是DNL误差的积分,在实际计算ADC的精度过程中,通常选用INL误差。INL误差可通过公式(1)得到
ERR=LSB/2N (1)
MAX1300的INL误差为±1LSB,声明为无丢码(16位精度),则它的分辨率误差是0.001 526%。
MAX1300双极性输入的增益误差为±0.3%FSR,意味着在其最大输出时,会带来8位(197)的误差,其增益误差0.012 2%。一般情况下,在采用片内基准时将会产生更大的增益误差,可以通过采用片外基准的方式减小增益误差。
ENOB(有效位数)可由公式(2)计算得出,
假设系统允许0.1%的误差,ADC允许0.075%的误差。我们在设计中选择的MAX1300,其具有(-1LSB,+2ISB)的DNL,INL误差为±1LSB(0.001 526%),增益误差0.012 2%,0.01%的失调误差,1 ppm/℃的温漂系数,在50℃范围内产生0.001%的误差,共计0.027 4%的误差。还有0.047 6%的误差供基准电压源使用,在这种情况下,有较多的选择余地。可以采取校正失调误差和增益误差,并选择低噪声的电压基准,以达到提高系统精度的目的。
4 结论
本文主要介绍了使用高精度16位A/D转换器MAX1300完成双通道信号的采集处理系统设计的过程。给出了系统硬件及软件的详细设计,通过实验测试和对A/D转换芯片产生的误差的进行量化分析,得出本系统具有高精度、较快的转换速度、较低的CPU占用率等特点,能够很好地满足使用要求。