您当前的位置:五五电子网电子知识电器控制PLC工业控制基于ADuC7061的高精度PLC模拟前端 正文
基于ADuC7061的高精度PLC模拟前端

基于ADuC7061的高精度PLC模拟前端

点击数:7782 次   录入时间:03-04 11:33:32   整理:http://www.55dianzi.com   PLC工业控制

      内容摘要:针对于工业PLC模拟信号的采集和输出,本文提出了一种基于ADuC7061的高精度模拟前端设计方案。该系统支持双通道的PLC模拟信号输入并提供一路PLC标准电流输出。该系统在-10~70范围内达到0.2%的电压测量精度和0.2%的电流输出精度。硬件部分以ADuC7061作为测量和控制核心,配合外围模拟调理电路完成模拟信号的调理、检测和输出,并通过隔离的SPI进行数据通信。软件部分包括模拟信号采集转换和通信,可以根据温度变化自动校准。本设计具有精度高,软件灵活,接口通用的特点,可以作为PLC模拟前端,广泛应用于工业现场。
关键词:ADuC7061;模拟前端;信号调理;电流源;高精度

    在工业控制系统中除了遇到开关量信号外,还会遇到另一类物理量,即模拟量,例如:角度、温度、压力、电压、电流等等,它们都是连续变化的物理量。可编程序控制器PLC是以微处理器为基础的通用工业控制装置。传统的PLC是为开关量控制而设计,而现代的PLC已经具备了处理模拟量的功能。在工业控制系统中,模拟量输入信号的采集和处理是较为常见的控制内容,同时根据控制策略PLC能够输出模拟信号。
    因此从工业应用的实际情况来看,现代的PLC不仅要能够采集外部输入的模拟信号,同时也应有能力输出模拟信号。并且随着微电子技术的发展,模拟AD、DA的性能越来也高,对于模拟信号检测的精度要求也在逐年递增。所以本文针对这种即要采集模拟输入又要输出模拟量的应用场合,提出一种高精度模拟前端的系统方案。

1 系统需求分析
   
常见的PLC的模拟信号有以下几种:0~5 V,0~10 V,±5 V,±10 V,4~20 mA,信号的频率范围为DC~500 Hz。本系统的输入能够兼容以上5种输入量,并提供4~20 mA输出信号量输出。考虑到实际应用环境中的温度影响,如果直接使用低温漂高精度的模拟IC,系统的成本会非常高;如果采用带有温度自校准的方案,可以选用价格更合理的模拟前端芯片完成设计,但是需要额外的MCU进行运算和控制。信号输
出需要额外的DAC配合调理电路实现。
    由以上的分析可知,需要有一款即集成有高精度ADC和DAC,又带有MCU的模拟微控制器。ADI公司的ADuC7061刚好可以满足系统的需求:集成两个独立的的8kSPS、24位高性能多通道∑-△型模数转换器(ADC);集成32位ARM7TDMI微控制器;片上提供一个单通道14bitDAC;集成SPI控制器。使用ADuC7061作为核心,配合外部电路可以即满足模拟通道的精度要求,又可以实现灵活的数据传输和控制。
    该方案优点:可以进行温度校正;原本的ADC,DAC和MCU只需要一块ADuC7061即可实现,即节约PCB面积又降低成本;对外的数据传输接口可以共用一个SPI,可以通过制定灵活的数据传输协议,实现复杂的数据传输和控制功能。

2 总体结构设计
   
该系统的结构框图如图1所示。系统与外部是电气隔离的:通过隔离的24VDC-DC完成电源部分的隔离;通过SPI隔离驱动电路完成数据接口的电气隔离。两路输入调理电路是完全一样的,功能包括输入信号调理和自校准实现。系统的4~20 mA输出,是将ADuC7061内部14位DAC的输出电压经过V-I转换电路实现的。系统通过隔离的SPI与外部通信。

a.JPG

   

3 主要模块设计
   
下面分别介绍系统主要模块的设计,分为ADuC7061核心电路、输入调理电路和输出V-I转换电路。
3.1 输入调理电路
   
系统的模拟输入可以兼容4~20 mA电流信号,或者是0~5 V、0~10 V、±5 V和±10 V的电压信号。其中4~20 mA电流信号可以通过并联一个250 Ω低温漂(25 ppm/℃)电阻负载变送为1~5 V电压信号。考虑到ADuC7061的24位∑-△型ADC输入电压范围0.1~1.8 V,所以前面提到的各种信号都要调理到0.1~1.8 V的范围内。在本系统中,采用一种基于AD8295的信号调理电路,如图2中所示。

b.JPG

   
    其中基本的信号调理功能由AD8295 IN-AMP(仪用放大器)和AD8295 A1(运算放大器放)实现,这个电路可以将单端和差分信号都调理成为差分信号。由于ADC也是差分输入,输入信号的共模量只需要电压稳定即可,具体分析如下:
    c.JPG
    ADuC7061集成的24位∑-△型ADC在差分输入配置下,要求共模电压VCOM>0.5 V,系统采用的共模电压是将模拟参考2.5 V通过2个1%电阻分压到1 V的。从上面两个方程可以看出,无论输入信号是差分电压,还是单端输入,都可以将信号转换成为一个以1 V为基准的差分电压信号。对于系统输入的0~5 V、0~10 V、±5 V和±10 V都可以通过同一个电路拓扑结构来实现,考虑到精度要求,唯一需要改变的就是RG的阻值。当RG开路,G=1,支持0~10 V和±10 V输入;RG为49.4 kΩ,G=2,支持0~5 V和±5 V输入。
    经过仪用放大器和运放调理得到的信号DIFF+和DIFF-是一个以1V为基准,最大差分电压可以达到10 V的差分信号。这个差分信号电压过大,远远超过ADC输入电压规定的范围。经过图2中由R1、R2和R3构成的无源差分衰减器减小10倍,得到一个以1 V为基准,最大差分电压为1 V的差分信号ADC_IN+和ADC_IN-,然后送给后一级的ADuC7061的ADC采集。差分信号衰减倍数计算方程为:
    d.JPG
    输入调理电路要实现的另外一个重要的功能就是自动校准,首先需要分析输入电压和24位ADC输出码值的关系:
    e.JPG
    f.JPG
    化简后得到:g1.jpg;系统ADC测量得到的是CODEADC,需要得到的最终数据是CODEvin并用g2.jpg计算输入电压。
    本系统中的电阻分压网络使信号衰减10倍,理想情况下上K=0.1,B=0。但是实际使用中,由于电阻本身的温漂,导致K随着温度会增加。并且运放、基准源和ADC并不是理想的,同样会有温度漂移。但这个温度漂移可以通过额外的温度校正来补偿。
    AD8295 A2与SW1、SW2和SW3(注释见图2)一起构成校正电路。首先将SW1切换到AGND,使AGND通过SW1和SW2连到IN+,SW3连到AGND,此时Vin=0,校准零点漂移B记录ADC输出二进制码值记录为B,得到:
    g3.jpg
    然后将模拟参考电压2.5 V通过A2跟随通过SW1和SW2供给IN+,SW3切换到IN-。此时Vin=Vref,校准斜率K,记录ADC输出二进制码值记录为A,得到:
    g.JPG
    系统校正之后只需要保存A和B两个整数即可,但是由于系统K=0.1,所以计算所得的CODEvin长度为32位。
    这种校正的方案有两个显著的优点:1)校准斜率过程中取输入Vin=Vref,此时校准得到的K,精度只与ADC的INL参数有关,与参考电压Vref本身的精度无关,减少了校准过程中引入的额外误差:2)校准的中间变量A和B都用24位二进制整数表示,只在最后做两次浮点运算,简化中间过程中的浮点预算的次数,减少截断误差对系统测量结果的影响。

[1] [2]  下一页


本文关键字:暂无联系方式PLC工业控制电器控制 - PLC工业控制