服务热线:

0551-63416234

  • 带PROFIBUS-DP接口的智能电磁流量计的开发2020-06-04

    引言

    当今现场总线技术的发展日新月异,应用领域也日趋广泛,从家庭、能源、楼宇,到工业现场。为了适应市场的需要,国内外各大公司纷纷推出新一代的、各具特色的智能化流量仪表,其中结合现场总线技术的智能电磁流量计的开发尤为引人注目。PROFIBUS作为目前主流总线之一,包括三种类型:DP、PA和FMS。这三种类型均使用统一的总线访问协议,其中P R 0 F I B U S-DP(decentralized periphery)采用经过优化的高速、廉价通信连接,专为自动控制系统和设备级的分散I/O之间通信设计,能满足分布式控制系统的实时性、稳定性和可靠性要求。随着PROFIBUS-DP系统应用领域的日益扩大,用户及研究部门都有自主研发或特殊调试的需求,下面将介绍结合智能化技术与现场总线技术,开发带PROFIBUS-DP接口的智能电磁流量计。

    1 系统总体设计

    常用现场仪表系统的处理任务简单,往往使用一个CPU加一系列外围辅助电路就能达到相应的目标功能。采用双CPU可以根据系统的总体功能要求进行合理的分工,各自完成不同的控制和处理功能,可以适当地简化硬件电路和软件资源的分配,设计相对独立,程序的修改和移植也变得容易。此系统采用了双CPU设计,如图1所示。16位单片机 MSP430F149是电磁流量计的核心部件,实现信号的采集处理、LCD显示、存储及与8位单片机PIC18F4520进行数据交换。 PIC18F4520和PROFIBUS现场总线专用协议芯片SPC3是PROFIBUS-DP接口部分的核心部件。PIC18F4520负责与 MSP430F149交换数据及与SPC3通信等功能的实现,SPC3负责把主站送来的数据拆包,送往PIC18F4520,同时把PIC18F4520 送来的数据打包,上传给主站。

    2 系统硬件设计

    电磁流量计的硬件部分主要由传感器、电源系统、信号处理电路、励磁电路、单片机系统和总线接口电路组成。

    2.1 传感器及电源系统

    传感器直接由厂家制作,在此不再赘述。本系统所用电源电压种类不一,特别设计流量计专用电源系统。整个系统采用5V供电,而MSP430F149采用 3.3V电压供电。考虑到硬件系统要求电源具有稳压功能和纹波小等特点,另外也考虑到硬件系统的低功耗等特点,因此该硬件系统的3.3V电源部分采用TI 公司的TPS76033芯片实现。

    2.2 励磁电路

    低频矩形波励磁电路一般采用分频芯片对工频电源进行降频处理,再经过开关管进行功率放大,此种电路难以针对梯形波的斜边进行线性放大,而且励磁频率单一,不能通过软件编程修改励磁频率。因此,本系统采用三值梯形波励磁方式。采用16位D/A转换芯片DAC7731通过电平转换芯片SN74AHC245与MSP430F149单片机的USART通信模块相连的方式产生励磁信号。此励磁信号产生电路,通过MSP430F149单片机的定时器进行分频,可软件编程修改励磁频率,为电磁流量计选择不同的励磁频率提供了更大的方便。功率放大电路部分,采用互补对称式功率放大电路。通过运算放大器对励磁信号电压放大,两级互补对称功率放大电路对励磁信号电流放大,之后输入电磁流量计励磁线圈,作为励磁电压。此电路可线性放大梯形波斜边部分,满足了梯形波励磁方式的要求。

    2.3 信号处理电路

    信号处理电路采用四象限高速高精度乘法器芯片AD835AN来实现线圈内的励磁电流信号与两电极输出流量信号相乘,AD835具有很高的差分输入阻抗,不需外接阻抗变换电路。乘法器输出信号经过放大与电平的提升,再先后经过高低通滤波器后进入单片机进行A/D转换。高低通滤波器截止频率分别为0.33 Hz和126 Hz。

    2.4 单片机系统

    本测量系统采用TI公司的MSP430F149单片机作为MCU,与晶振输入模块、复位电路、LCD显示模块、键盘模块和Microchip公司的PIC18F4520共同构成单片机系统。两个CPU之间通过三极管电路实现串口通信。系统的键盘模块采用独立按键式键盘。由3个独立按键分别与3只上拉电阻共同和MSP430的P1.1、P1.2和P1.3相连,并将这三个端口设置为上升沿中断使能的方式,利用中断处理程序来判断键盘输入。

    2.5 PROFIBUS-DP通信接口

    PROFIBUS-DP通信接口开发中使用PIC18F4520作为处理器单元管理通信事务,SPC3协议芯片则完成数据的转换和收发功能。 PIC18F4520与SPC3之间的连接如图2所示。SPC3接成使用Intel芯片并工作于同步模式,此时片选信号输入引脚XCS不起作用,接高电平;地址锁存信号ALE起作用,接处理器RB3,SPC3内部地址锁存器和解码电路工作。CPU与SPC3通过SPC3的双口RAM交换数据,SPC3的双口RAMS应在CPU地址空间统一分配地址,CPU把这片RAM当作自己的外部RAM。CPU采用RD和RB口扩展外部存储器,RD口作为数据线和低8 位地址线,RB4、RB1、RB2作为AB8-AB10地址线接ABO-AB2。SPC3的AB3-AB10接地。

    SPC3与收发器连接时用于串行通信的四个引脚分别为XCTS、RTS、TXD和RXD。XCTS是SPC3的清除发送输入信号引脚,表示允许SPC3发送数据,低电平有效,这里始终接低电平。RTS为SPC3请求发送信号接收发器的输出使能端。RXD和TXD分别为串行接收和发送端口。为提高系统的抗干扰性,SPC3内部线路必须与物理接口在电气上隔离,此处采用速率可达2 5Mb/s的HCPL7721高速光耦,收发器采用SN75ALS176,足以满足本系统的应用。

    3 系统软件设计

    3.1 主处理器软件

    本系统主处理器统软件采用TI公司的430单片机软件开发工具-IAR Embedded Workbench作为终端软件的开发平台,编程语言采用以C430。TI公司的430单片机软件开发工具专门用于430单片机以实现嵌入式应用开发。包含以下实用工具:具有语法表现能力的文本编辑器、编译器、汇编器、连接器、函数库管理器、实现操作自动化的Make工具和内嵌C语言级与汇编级的调试器 C-SPY。

    主处理器软件主要由主程序、键盘菜单处理、定时器中断、三值梯形波励磁信号产生、A/D采样、LCD显示、串口通信等部分组成。

    3.2 PROFIBUS-DP通信接口

    PROFIBUS-DP接口中的SPC3集成了完整的PROFIBUS-DP协议,因此PIC18F4520不用参与处理PROFIBUS-DP状态机。 PIC18F4520的主要任务就是上电后先根据MSP430的初始化数据对SPC3进行初始化,初始化成功后根据SPC3产生的中断,对SPC3接收到的、主站发出的输出数据转存,组织要通过SPC3发给主站的数据,并根据要求组织外部诊断等。

    整个程序采用了结构化、模块化的方法,包括四个部分:主程序一包括了初始化、数据输入输出和诊断模块;中断模块一包括了参数分配和配置模块;子程序模块一包括对缓冲区的组织和分配;程序的头文件一包括程序的宏和变量定义。:PROFIBUS-DP通信接口主程序流程图见图4所示。

    4 结束语

    本文介绍的、带PROFIBUS-DP接口的智能电磁流量计,采用双核技术,简化了硬件电路和软件资源的分配,设计相对独立,程序的修改和移植更容易,提高了系统的性价比,降低了功耗。用带SIEMENS公司CP5611卡的工控机作为上位机对智能氧量分析仪的通信功能进行测试的通信速率,最高可达12 Mb/s,通信速率设为1 Mb/s时数据传输稳定可靠。该系统为实现现场总线仪表的自主开发提供了重要借鉴,具有广阔的应用前景。

  • 高精度智能变送器开发2020-06-04

    引言

    在工业控制过程中,经常需要对一些参数进行测量,而一般传感器的输出信号较弱,不适合作远距离传输。为了减小干扰,通常采用4mA~20mA电流输出的双绞线变送器。信号模拟处理的变送器,由于电路的复杂性的限制,非线性补偿效果不理想,很难在全温度范围内实现温度补偿,因此达不到较高的精度要求。随着低功耗高精度单片机﹑ΣΔA/D和ΣΔD/A转换器的日益普及,为高精度的智能变送器的设计提供了技术途径。本文介绍了利用美国德州仪器公司(Texas Instrument)新近推出了一种功能很强的低功耗单片机制作高精度智能变送器的硬件构成及工作原理。

    系统硬件构成及工作过程

    系统由压力传感器、温度测量芯片、低功耗单片机MSC1211、液晶显示、编程接口、电源管理和电流输出等几部分构成。液晶显示采用并行接口,编程接口采用串行口。由于制作的为两线制变送器要求在环路供电时输出电流在4~20mA,考虑到其他方面的影响,要求整个系统的电流在3.5mA左右,这样在零压力比较容易调出4mA,所以在选择器件时功耗应重点考虑。本系统采用的带有片上D/A和A/D的单片机和液晶显示器均具有省电功能,温度芯片为单线制低功耗。在设计软件时让通讯部分和采样部分分时工作,以确保整个系统在3.5mA左右。MSC1211在2.7~5.25V工作电压下功耗小于4mW,液晶显示器的工作电流小于50μA;另外MSC1211可以提供精确的2.5V或1.25V的基准电压作为A/D和D/A转换器的参考电压。

    系统的工作过程:从压力传感器来的信号进入到A/D转换器,其内部具有可编程增益放大器,可根据输入信号的范围自动设置增益放大倍数,A/D转换器对模拟信号数字化并进行数字滤波后,由CPU根据从温度芯片DS18B20读来的温度信号,从FALSH存储器中读取零点、线性度校正系数后,进行温度补偿和非线性补偿,然后根据量程范围进行量程转换并将其送到D/A转换器,从而输出相应的电流值,同时将压力以相应的单位显示在液晶显示器上。

    MSC1211A/D和D/A转换器

    MSC1211的片上A/D转换器是高集成度、八通道差分和单通道24位Σ-ΔA/D转换器,。其内部包括仪表放大器、可编程增益放大器、多路转换开关、数字滤波、数据处理及信号校准电路。芯片可以提供自带高精度标准电压,精度为0.2%,漂移为5ppm/°C,因此可以节省空间以及器件成本,也可输出该电压标准或外接电压标准。从而可以对外部传感器输出的0~100mV微信号进行采集。

    A/D转换器的设置:

    在利用MSC1211的片上A/D进行采样时,需要设置的寄存器为多路开关寄存器(ADMUX)、模数转换控制寄存器(ADCON0~ADCON3)、总和和移位寄存器(Summation/Shift Control)以及ADC偏移量设置寄存器(OCL~OCH)。ADCON0决定了内部放大器的增益和AD转换的参考电压等。ADCON1确定了AD转换结果的极性、数字滤波方法和计算模式控制位,ADCON2~3使用来设计AD转换输出数据的速率。总和和移位寄存器用来设计一次输出需要进行采样的个数如可以设置为进行8次AD转换后取平均值后输出数据。ADC偏移量设置寄存器是用来存放零点偏移,以      便于进行校正。

    A/D转换程序举例:

    下面是我们用在智能变送器中的AD采样程序已经在KEILC51V7.05环境中编译,并从计算机的串口下载到智能变送器的电路板上,能正确采样并在液晶上显示和通过DA转换器得到相应的电流值。

    #include

    #define XTAL 843200 // 设置晶振频率

    #define A_CLK 9

    #define DECIMATION 288

    void main( )

    {

    ACLK=A_CLK; // 设置模拟时钟频率

    ADCON0=0x31; // 设置参考电压和增益倍数

    ADCON2 = DECIMATION & 0xFF; //设置AD转换速率每秒10次

    ADCON3=(DECIMATION>>8) & 0x07;

    ADCON1 = 0x01; // 设置滤波方法

    ADMUX=0X10;

    PDCON&=0x0f7 ; //打开AD转换器

    while(1)

    {

    display((ADRESH); //调用显示函数显示转换结果

    display((ADRESM);

    display((ADRESL);

    }

    }

    D/A转换器的设置:

    相对于A/D转换而言,D/A转换器的设置就非常简单。它需要配置4个DA转换寄存器(DAC0~DAC3)和DAC装载控制寄存器。DA转换寄存器控制着相应的电压输出方式和参考电压。装载控制寄存器是用来控制装载DA数据方式的。

    软件设计

    智能变送器的软件部分包括以下几个模块:(1)对MSC1211进行初始化包括对单片机进行初始化、液晶显器、A/D转换器和D/A转换器的初始化。(2)A/D转换器的校准包括各通道增益、零点漂移校正。(3)现场压力和温度数据的采集(4)压力传感器的零点校准,温度漂移补偿和非线性补偿(5)量程转换,D/A数据输出(6)实时压力显示。

    实验结果

    通过采用SensymICT19C系列的压阻式压力传感器,其主要技术指标为:量程为100kPa,灵敏度为2mV/V,零点为±2mV,线性度为±0.2%,工作温度为-40~125°c。A/D转换器的输入信号范围设置为±100mV,经过温度漂移补偿和非线性校正后,所得的试验部分结果为如表1所示,经过计算可得其精度在千分之三以内,满足了制造高精度变送器的要求。

    结语

    使用本文提出的方案设计的智能变送器具有高精度,可以进行在线编程,体积小,使用方便等特点,可以应用在需要检测微弱参数的很多领域。