【摘要】介绍的智能金属浮子流量变送器是以MSP430F449单片机为核心,实现瞬时流量、累积流量的测量和显示,输出构成两线制的4~20mA变送器,用于信号的远传。
1 测量原理
金属浮子流量计的流量检测元件是由一根自下向上扩大的垂直锥形管和一个沿着锥管轴上下移动的浮子组所组成。被测流体从下向上经过锥管和浮子形成的环隙时,浮子上下端产生差压形成浮子上升的力,当浮子所受上升力大于浸在流体中浮子重量时,浮子便上升,环隙面积随之增大,环隙处流体流速立即下降,浮子上下端差压降低,作用于浮子的上升力亦随着减少,直到上升力等于浸在流体中浮子重量时,浮子便稳定在某一高度。环隙面积与浮子的上升高度成比例,即浮子的某一高度代表流量的大小。浮子上下移动时,以磁耦合的形式将位置传递到外部指示器,使指示器的指针跟随浮子移动,并借助凸轮板使指针线性地指示流量值的大小。
电传型流量计是现场用指针指示,同时通过角位移传感器及变送电路,把流量信号转换为4~20mA的信号。变送电路以MSP430F449为核心,实现非线性修正功能把流量值准确地转换成4~20mA的标准信号。变送器的总体框图如图1所示。
2 MSP430F449芯片
MSP430F449是美国TI公司16位低功耗单片机,在2.2V电压,1MHz时钟的系统下,活动模式功耗为280μA,等待模式功耗仅为1.6μA。具有64KB的寻址范围,片内资源丰富,有精密硬件乘法器、两个16位定时器、一个8路的具有内部参考电平、采样保持和自动扫描特性的12位的A/D模数转换器、看门狗电路、48条I/O口线(一部分复用)、两路串行通信端口(USART)、一个内部振荡器(DCO)和两个外部时钟(支持非常高8M时钟)。片内带有LCD驱动功能,可直接驱动LCD显示,驱动段数可达160段,液显有4种工作方式(静态、2MUX、3MUX、4MUX)。由于为FLASH型芯片,可以在线对单片机进行调试和下载程序,利用JTAG口直接和目标板相连,不需要另外的仿真工具,方便实用。并且可以保存在掉电时仍需存储的数据信息,减少了E2PROM带来的额外电流消耗。
3 硬件电路
3.1 通信接口
通过金属浮子流量计的流量与磁阻传感器输出电压之间不是线性关系,需要通过PC机输入一组标定值给单片机。因为金属浮子流量计通常以水为介质标定,如实际流体密度、粘度与之不同,流量值也随之发生变化,因此需要进行流量修正。采用单片机的RS-232通信接口与计算机通信,把标定值传送到MSP430F449芯片的FLASH中的信息段内,供实际流量修正。
3.2 信号检测部件
信号检测采用Honeywell公司的高分辨率、低功耗的磁阻传感器(图2所示U7),测量从磁铁发出的磁场的方向角,分辨率可小于0.07。与测量磁场强度相比,测量磁场方向的优点包括:对于磁铁的温度系数不敏感,对于冲击和振动不敏感,以及可以承受传感器和磁铁之间间隙的较大的变化。采用典型的惠斯通电桥,计算公式为:
V = VSSsin(2θ)
式中,VS是供电电压;S是常数,取决于材质,典型值12mV/V,角度范围是±45゜。
当流量发生变化时,金属浮子上下移动,以磁耦合的形式将浮子位置变化信息传递到外部指示器,指示器指针跟随浮子移动,借助凸轮板使指针线性地指示流量值的大小。信号检测时通过θ角度的变化,引起传感器输出电压的变化。由于输出电压的量值只有毫伏级,因此需外加放大电路,将信号值变换为MSP430单片机允许的A/D输入幅值范围0~3.6V内。
3.3 A/D转换电路
由于MSP430F449芯片集成了12位A/D转换,其中8路是外部的信号转换,每一路转换都有一个可控制的转换存储器,而且参考电平和时钟源都是可选择的,也可外部提供。这给使用上带来了很大的灵活性。使用时只需将信号检测部分的输出电压(如图2信号SIGNAL)直接与A/D转换的输入端MSP430的P6.0口相连,由于浮子流量计是测量精度要求不高的仪表,在本设计中采用AVCC(电源电压)作为正参考电压,采用AVSS(电源地)作为负的参考电压。输出数字量NADC的计算公式为:
NADC = 4095×(VIN - AVSS)/(AVCC + AVSS)
由于MSP430F449是采用加载信号到电容上充电的采样,因此,必须要给一定的采样时间以能达到一定的精度,否则会出现时间的溢出。另外在采样的结束和转换的开始需要一个控制过程,就是将ADC12CTL0寄存器的ENC位和ADC12SC位同时置“1”,用于表明采样结束和转换开始。
3.4 数值输出电路
经过单片机处理后的瞬时流量值需要输出给外部D/A器件DAC7512,硬件电路如图3所示。有两种方法可以用来传送数值,可以采用数字I/O口传送,直接将数据移位送出,也可以利用MSP430F449提供的USART端口,MSP430F449具有两个USART端口。在软件中将其中一个端口设置为SPI模式。SPI模式允许7位或8位数据流以内部或外部确定的速率移入移出MSP430,SPI的优点是可以灵活地利用单片机的现有资源,扩充单片机的对外功能,但是这种方式同时也占用MCU的定时器和I/O口资源。由于DAC7512为12bit串行输入D/A转换器件,而用SPI模式一次只能发送8位数据,因此采用查询发送标志位(U1IFG)方法发送数据。单片机与外部D/A器件DAC7512相连时,除了连接数据线和时钟线外,还必须为其提供同步信号(SYNC),设计中使得P4.4端口输出同步信号。在发送数据前将此信号拉高作为发送起始信号,发送数据时将此信号拉低,要使数据准确发送给DAC7512,必须在传送数据期间使得此信号维持低电平,发送结束后再将其置高等待下一次的数据发送。调试时通过示波器观察和调整SYNC同步信号。
3.5 液晶显示电路
芯片内的LCD驱动器,可以直接驱动160段LCD显示。对于液晶驱动端口,在不用于液晶驱动时,可以作为输入输出端口来用。设计中选用了七位LCD显示器,采用4MUX驱动方式,将单片机上的公共端口(COM0-COM3)及驱动段(S0-S15)直接与LCD上的对应脚相连即可,简化了液晶显示器的显示。液晶显示电路如图4所示。设计中只要求显示累积流量,显示非常大值为999999.9。
3.6 信号输出电路
单片机对输入信号进行线性化修正后得到了瞬时流量的数字量,为了对瞬时流量值实现4~20mA的远传,需要对信号进行D/A转换。本设计中采用DAC7512实现D/A转换,DAC7512为12bit串行输入的D/A转换器,输出模拟量的大小为0~5V。然后经由集成V/I器件,得到4~20mA的电流信号,供远程仪表显示。
4 软件设计
软件采用结构化程序设计,主要由主程序、定时中断采样程序、通信中断程序等几部分组成。主程序是由初始化程序段、显示程序段、数据处理程序段、数字量输出程序段组成。软件流程图如图5所示。
(1)通信中断程序实现将计算机内设定好的标定值写入FLASH中,写入的标定值为浮点数格式,浮点数在C语言中是以IEEE格式存储的,一个浮点数占用4个字节,在上位机发送数据的VB程序中需将浮点数转化为字节格式发送出去。要将一个浮点数存人FLASH,实际上就是要存这4个数。浮点数在存储时,是连续字节存储的,只要设法找到存储位置,就可以得到这些数了。可以定义一个void的指针,将此指针指向需要存储的浮点数,然后将此指针强制转化为char型。存入FLASH中的数,要将其取出合并恢复成浮点数,方法也是一样。非常后将这些接收到的浮点数赋给自定义的数组变量BD_VALUE[]。在整个对FLASH进行操作期间,必须要关掉看门狗定时器和所有中断。通信中断子程序的程序框图如图6所示。
(2)A/D转换程序中采用内部定时器(TimerB)设置1秒定时中断将转换结果保存在ADC12的内部存储器中。A/D定时中断采样程序框图如图7所示。
(3)软件的核心部分是对信号检测电路送入单片机的电压值进行非线性化修正。先由给出的一组体积数VOL[]得到一组默认电压值MR_VALUE[],计算方法为:MR_VALUE[i]=VOL[i]/VOLmax×10。首先判断信号检测电路送来的电压值V处于标定电压值(BD_VALUE[])的哪一段范围内,然后进行分段的线性化处理。
5 结论
金属浮子流量计变送器以TI公司的MSP430F449芯片为核心,设计简单可靠,外围器件少,功耗特别低。将此变送器应用在浮子流量计中,经过试验能达到以下技术指标:
(1)量程比:10:1;
(2)精确度等级:普通型2.5级,高精度型1.5级;
(3)指示器刻度:流量单位或百分比;
(4)11段非线性高精度修正;
(5)环境温度:-25~+55℃;
(6)电远传信号4~20mA输出;
(7)累计流量显示。
由此可见,设计的金属浮子流量计变送器具有良好的实际生产和使用价值,并将在以后的工业生产中加以推广使用。
相关推荐:压力变变送器、
注明,淮安三畅仪表文章均为原创,转载请注明本文地址http://www.sanchang168.com/