您现在的位置: 网站首页 >  技术文章 > 技术文章

以MSP430F147单片机为控制核心的HART总线涡轮流量计

以MSP430F147单片机为控制核心的HART总线涡轮流量计,在全面分析了涡轮流量计测量原理的基础上,设计了一种基于HART总线的新型智能涡轮流量计,HART模块由AD421和A5191构成,详细阐述了其工作原理并设计了电路图,该系统以MSP430F147单片机为控制核心,采用软硬件结合的方法实现了流量的自动补偿,选用低功耗的外围扩展元器件,在实现了较高精度和可靠性的同时,蕞大限度地降低了整机功耗。
涡轮流量计精度高,测量范围广,惰性小,但测量信号易受到各种外界因素的影响,干扰严重,而且存在着断电的危险,所以常规的涡轮流量计精度摆动不定,误差较大。而利用MSP430F147单片机设计的智能型涡轮流量计,不但保证了测量精度,而且利用其超低功耗的特性,极大地延长电池的使用寿命。HART协议是可寻址远程传感器高速通道的开放通信协议,其特点是在现有模拟信号传输线上实现数字信号通信,已在很多智能仪表中得到了应用。为满足用户的使用需要,系统增加了HART模块,并设计了现场显示、累计流量存储、键盘管理的人机交互界面,以完成对流体瞬时流量的计量和监控。
1 工作原理
当被测气体流入流量计时,首先在整流器作用下得到整流并加速。由于涡轮叶片与气体流向成一定角度,流体产生的作用力驱动流量计涡轮旋转,涡轮的理论旋转速度与流量成正比。通过测量涡轮的转速可以从计数器读取工况流量[1]。
1. 1 一般情况
在一般情况下,涡轮流量计系数K决定了流量和频率的关系,在不考虑温度修正时:
K=N /V
式中:N为流量计测得的脉冲数; V为同一时间测得的液体体积。
1. 2 工业情况
在充分考虑工业液体的密度和温度的影响时,传感器处的体积单量值可修正为
V1=N(2α1+α2)(20-t) /K
式中: t为传感器处的温度;α1为传感器壳体的线膨胀系数;α2为传感器叶轮的线膨胀系数。
通过对传感器处的物理尺寸所做的温度修正,便可以由脉冲的个数和标准条件下的传感器系数,求出液体流经传感器处的体积V1,然后算出传感器对应的流体的密度ρt,再利用M=ρtV1计算出流体的质量[2]。
2 硬件设计
硬件设计如图1所示。
单片机选用具有超低功耗的16位单片机MSP430F147,内含12位快速A/D, 32 K字节FlashROM, 1 K字节RAM,片内资源丰富。该单片机的工作电压范围为1·8~3·6 V,系统功耗极低,特别适合用在干电池供电的仪表[3]。
2. 1 数据采集部分
流量信号检测采用研制的涡轮流量计,测量时利用霍尔传感器将流量转换成脉冲信号并发送到单片机的P1·6口,使用中断方式对脉冲计数。
由于实际使用中被测流体密度和操作状态的改变,必须对检测到的流量进行修正。温度传感器选用DS18B20,量程范围较宽(-55~125℃),使用中不需要任何外围器件,测量结果以9位数字量方式串行传送。压力传感器采用154N型扩散硅压力传感器,测量精度为0·1%,具有较好的线性度和低功耗特性,能够实现零位校准和温度补偿。
2. 2 累计存储
为了保存累计流量,单片机的P3口外扩了一个EEPROM24LC02B,如图2所示。由于24LC02B是I2C总线工作方式,而MSP430F147单片机没有I2C,因此在设计时采用单片机的一般I/O口P5·5和P5·6分别作为I2C总线的SCL和SDA线,采用软件来模拟I2C总线,从而实现与24LC02B进行接口。此外为了减小电源的干扰,还需要在24LC02B芯片的电源输入管脚加一个0·1μF的电容来实现滤波,以减小输入端受到的干扰[4]。
2. 3 显示与键盘处理模块
键盘采用5按键直接与单片机的P2口连接。在按键按下后,根据不同按键进行相应的处理。按键使用外部中断,在中断服务程序中执行相应功能,以节约单片机资源。显示模块用来显示测量的数据和系统设置的提示,在单片机内部RAM区中开辟出一段显示缓冲区,该模块将缓冲区的内容显示到LCD面板上。
3 HART模块
涡轮流量计除了具有RS-485通信功能以外,还嵌入了HART总线接口技术,进一步提高了通信的距离,实现更复杂、的控制[5]。如图3所示,HART协议通信模块主要由HART调制解调器A5191HRT和D /A转换器AD421及其外围电路实现。其中AD421通过串行接口接收现仪表内部MCU传送的数字信号,转换成4 ~20 mA电流输出,输出主要的测量结果[6]。A5191HRT则接收叠加在4~20mA环路上的信号,对其带通滤波和放大之后进行载波检测,如果检测到FSK频移键控信号,则将1·2 kHz的信号解调为“1”, 2·2 kHz信号解调为“0”,并通过串口通信传输给MSP430F147,MSP430F147接收命令帧并作相应的数据处理。之后,MSP430F147产生要发回的应答帧,应答帧的数字信号由A5191HRT调制成相应的1·2 kHz和2·2kHz的FSK频移键控信号,并经过发送信号整型电路进行波形整形后,经AD421叠加在环路上发送。
设计中当A5191HRT接收时,从4~20 mA环路上接收信号,经过带通滤波、放大整形后提取出FSK信号并解调为数字信号,传送给MSP430F147;发送时,从MSP430F147接收数据,进行调制和波形整形后耦合到AD421内部,通过AD421叠加到环路上。A5191HRT和MSP430F147通过后者的通用串行通信接口连接。电路图如图4所示。
AD421是单片高性能数模转换器,主要由电压调整器、数模转换器和电流放大器组成。电压调整器由运放、带隙基准和外接FET调整管组成,能够从环路中获取电流,为AD421和其他器件提供3. 0 V、3. 3 V或5. 0 V的供电电压[7]。数模转换器采用∑-ΔDAC结构,将16位数字码转换为4~20 mA模拟电流。数字码是通过和MSP430F147的三线接口CLOCK、DATA、LATCH从MSP430F147串行输入。
其中,与MSP430的通用串行收发模块UART的接口信号包括载波检测OCD、HART解调输出ORXD、来自UART的HART调制输入ITXD和请求发送INRTS; LOOP+为4~20 mA环路输入,经过外部电阻电容和A5191HRT内部电路完成接收信号的带通滤波和放大,用于解调;调制好的数据经过内部整形电路处理后由管脚OTXA输出,通过电容耦合到AD421内部,然后叠加到环路上传输;HART调制解调的时钟信号源于外接的460. 8 kHz晶体产生的振荡。其中LOOP+和LOOP-分别是电流环路的两个端口;从MSP430F147输入DAC的数字码是通过三线接口实现的,分别是时钟线CLOCK、数据线DATA和锁存线LATCH·
4 软件实现
测量系统软件采用IAR EmbeddedWorkbench作为终端软件的开发平台,编程语言采用C430。为了充分利用MSP430F147低功耗模式的特点,在完成系统初始化之后马上进入低功耗模式LPM3,通过中断唤醒CPU,执行相应功能模块,中断完成后恢复低功耗模式。系统程序流程图如图5所示。
系统用到的中断包括:外部中断(脉冲采集和键盘)、定时中断和串口通信中断。由于多个中断的同时存在,除定时中断外,其他中断远的到来时间具有不可预测性,为保证脉冲采集中断的最高优先级,在定时中断执行完成后,通过保存状态寄存器的值迫使单片机仍然保持Active状态,进入以回到低功耗模式为结尾的主循环中。主循环程序包括检测温度、压力、电量并送LCD的子程序模块,累积流量、瞬时流量计算并送LCD的子程序,时间显示子程序模块,历史数据保存子程序模块等。
该流量计可灵活、地测量各种液体和气体的温度、压力、流量以及积算流量,特别是它采用了MSP430F147完成了整套测量系统,使外围所要添加的器件更少,使整个系统结构更加简洁可靠,也更方便了软件的升级与更新。HART模块能将结果通过HART总线与上位机构成主从分布式网络。通过试验,在正常工作状态下,系统整体工作电流维持在250μA以下,用16 Ah的Li电池能工作5年以上,是非常实用的智能化仪表。
点击次数:  更新时间:2017-04-13 17:42:50  【打印此页】  【关闭