DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1671|回复: 1
打印 上一主题 下一主题

[待整理] 基于MSP430F449的新型智能流量计的设计与开发

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-5 10:48:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
基于MSP430F449的新型智能流量计的设计与开发

摘要:介绍了一种以MSP430F449单片机为核心的智能流量计。具体阐述了该流量计的工作原理、总体设计及硬件电路设计和软件设计。该流量计适用于各种复杂环境,并可以和其他上下游设备结合,实现现场流量测量的智能化和多功能化。     关键词:流量计 MSP430F449系列单片机 智能仪表
随着微型计算机技术和嵌入式系统的迅速发展,以微型计算机(单片机和嵌入式系统)取代传统仪表的常规逻辑电子线路,开发新一代的具有某种智能的灵巧仪表,已成为仪表开发领域的新趋势。MCU(微控制器或单片机)及嵌入式系统等的问世和性能的不断改善,大大加快了仪器仪表微机化和智能化的进程。MCU本身具有体积小、功耗低、价格便宜等优点,用它们开发各类智能产品更具有周期短成本低等优点,因此在计算机和仪表一体化设计中有着更大的优越和潜力[1]。
流量计是在线测量管道内流体流量的先进仪表,在石油、化工、造纸、冶金等行业中有着普通的应用,并不断向智能化的方向发展。本文介绍的就是用MSP430F449单片机开发的新型智能流量计。其基本原理是:依靠部件旋转,用光电编码器或磁敏传感器产生电脉冲信号,并送至由单片机构成的流量计算装置进行处理。本流量计采用智能仪表新技术以及电源供电系统与双传感器技术,使其能更适应各种复杂的工作环境。

1 总体设计

1.1 流量计总体功能简介
智能流量计组成框图如图1所示。该流量计共有三种输入量,分别为模拟输入量(4~20mA)、热电阻(Pt1000)模拟输入量以及用于流量计算的脉冲量。而流量计的输出量有两种,分别为脉冲量和模拟量(4~20mA)。通信接口采用RS485串行通信总线,流量计的输出和数据通信仅在有外接电源时工作,无外接电源时不工作,并采用光电隔离。
该流量计采用LCD和LED两种方式进行数据显示。其中LCD为字段型显示,9位8段,字体高约20~30mm,有无外接电源均可正常工作。LED也为字段型显示,8位8段,字体高约15mm,仅在有外接电源时工作。这里为流量计设计的键盘与LCD一起形成菜单方式的人机交互界面,可以手动输入流量计测量所需的各项参数。
为了精确计量,在流量计设计时还专门外接了DS1302实时时钟芯片,以提供精确的时钟来弥补MSP430系列单片机没有实时时钟模块的缺陷。该实时时钟芯片采用三线串行输入/输出的方式与单片机相联,操作简便,其连接电路如图2所示。流量计在使用时需存储部分参数,为此使用了带I2C总线的EEPROM。另外本流量计还采用了双电源,即采用外接电源(12V)和锂电池(3.7V)供电。
1.2 总体特点
(1)自诊断及掉电保护
为满足野外工程需要和应付突发的异常情况,本流量计采用了双电源,即外接电源和锂电池共用。通过在系统中设计一个外部中断,使流量计自动进入不同的工作状态。针对不同的供电状况。设计了两种流量传感装置(光电编码器和磁敏供感器)。并且由于采用的是超低功耗的MSP430系列单片机并对系统进行了最小功耗设计,所以即使用锂电池也可以长时间地进行准备的流量测量,保证了数据的不丢失。
(2) 自动修正测量误差
在流量计中加入热电阻进行温度测量,同时依靠软件进行温度误差修正。并可以通过手动输入各种不同流体的参数,提高了流量计的自适应能力以及和其它上游设备协同工作的能力。
(3) 多点快速检测
能对多个参数进行快速、实时检测,并在软件中加入了针对不同参数的数字滤波,以抑制各种干扰对流量计的影响。
(4) 多输出形式及数据通信
可以输出模拟量和脉冲量,并能够与其它仪表和计算机通信,组成大规模的计算机测量系统。
(5) 开发与维护简便
MSP430系列单片机有多种开发软件可以选择,可方便地完成软件的设计、调试及测试。
2 硬件设计
2.1 MCU
经过仔细的比较,MCU最终采用了TI公司的MSP430F449。MSP430F449是TI公司最近推出的具有极高性价比的16位MCU,具有功耗低、存储容量大、集成度高、在线支持性强等特点。MSP430F449属于一种中低端的单片机,运用非常灵活,具有2K字节的RAM,60K字节的FLASH,48个I/O口,三个16位定时器,一个看门狗定时器,两个串行通讯口,一个集成LCD驱动模块,一个模/数转换模块(ADC12),一个16位的硬件乘法器。MSP430F449除了正常的工作模式外,还具有五种低功耗模块。

    2.2 温度与模拟量的检测
流体特性(密度、粘度)对仪表特性有较大影响。由于密度和粘度与温度关系密切。而现场温度的波动是难免的,因此,要根据现场温度采取补偿措施才能保护高的计量精度。为了精确地测量温度,采用Pt1000热电阻,其精度可以达到0.1℃。通过MSP430F449本身带有的ADC12模块,将采集到的温度进行A/D转换。ADC12转换内核带有一个转换结果寄存器;采样速度快,最高可达到200ksps;具有12位转换精度,一位非线性微分误差,一位非线性积分误差;内置采样与保护电路;有多种时钟源可以提供给ADC12模块,而且模块内置时钟发生器;内置温度传感器[2]。它使用两个可编程的参考电压(VEref+和VEref_)来定义转换的最大值和最小值。输入模拟电压的最终转换结果是:
Nadc=4095×Vin-VEref_ (VEref+)-(VEref_)
MSP430F449的ADC参考电压共有六种情况要吧选择,对应实际的情况,使用了外部输入的参考电压。因为在热电阻的实际使用中,通过Pt1000热电阻将被测流体的温度转换为0~2V的模拟电压,对应的温度为0~100℃,故外部的参考电压(VEref+-VEref_)=2V。
ADC12模块有四种转换模式:单通道单次转换、单通道多次转换、序列通道单次转换、序列通道多次转换。因为对温度和其它被转换的模拟量要进行实时处理,故应采用序列通道多次转换模式,可以依次转换所选的转换通道并重复进行。每次转换结束,转换结果被存放在ADC12MEM中,中断标志ADC12IFG置位,产生中断服务请求并对数据进行处理。采用序列通道多次转换模式,可以节约软件开发量和时间。
为提高温度测量的准确性和可靠性,在A/D转换后采用数字滤波来消除信号中混入的无用成分,以减小随机误差。因为温度变化较为缓慢,故采用中位值滤波,连续采样N(N则测量周期和采样频率决定,本仪表中定为寄数)次后排序取中位置,得到的值通过查表可最终确定温度[3]。最终精度达到了0.1℃,满足了设计的要求,在实际使用中取得了很好的效果。
2.3 电源选择电路的设计
本套流量计采用双电源工作,为此设计了图3所示的电源诊断电路。当流量计用外接电源供电时,输出端Pow为高电平,电源指示灯亮。而用锂电池供电时,输出具有中断能力的一个I/O相连,以中断的形式使流量计自动进入不同的工作状态。

    2.4 流量变送器件的设计
本流量计采用双传感器来测量流量。用外接电源供电时采用电光编码器,而用锂电池供电时采用磁敏传感器。
2.4.1 光电编码器
本流量计采用增量式光电编码器,它是一种通过光电转换将输出轴上的机械几何位移量转换脉冲或数字量的传感器。增量式光电编码器有A、B、Z三相脉冲信号输出,当正转时,A相脉冲超前B相脉冲90度(或1/4周期);正反转时,B相脉冲超前A相脉冲90度。通过一片GAL16V8将两种脉冲分检出来。但是光发射管和接收管对于锂电池供电的系统而言,功耗显得太大。
2.4.2 磁敏传感器
为了低功耗下使用流量传感装置,采用了ZP系列零功耗磁敏传感器。它是一种工作时无需外加电源的新型传感器,为双磁极交替触发工作方式。如图4所示,输出信号幅值与磁场的变化速度无关,可实现“零速”传感,使用寿命在20纪次以上,可以通过增加小磁体的数量来提高精度。
ZP系列传感器输出信号电流很小,通过图5所示电路进行后级处理。输出脉冲信号通过74HC132进行整形后,被送入单片机进行计数。
2.4.3 脉冲信号处理
光电编码器和磁敏传感器的信号输出端以及单片机的信号选择端(有外接电源时,选光电编码器,输出高电平;无外接电源时,采用锂电池供电,选磁敏传感器,输出低电平)均接到同一步74HC132上,进行信号整形及选择,然后信号输入到单片机进行计数。在MSP430系列单片机中定时器资源罗为丰富。实际使用中采用具有安时/捕获功能的16位定时器TIMER_A3对脉冲计数。在MSP430F449中,定时器的输入时钟源有四种可以选择,这里采用外部引脚信号作为定时器的输入时钟源。定时器的工作模式同样有四种可以选择,这里采用连接计数模式。定时器为16位,最大可计65535个脉冲。

    2.4.4 数据显示
LED显示采用MAX7219加8位共阴极LED。MAX7219为8位LED显示驱动器,采用三线串行输入/输出的方式与单片机相联。电路设计和调试非常方便[4]。
在MSP430F449中存在一个LCD驱动模块,驱动方式有静态、2MUX、3MUX、4MUX四种。LCD显示缓存器为20字节,在4MUX方式下,所有的显示缓存器都用于段驱动,这时可以达到160段显示。这里只需将LCD的引脚与单片机的LCD输出引脚直接相连,简化了电路的设计。
3 软件设计
流量计对于温度变化很敏感,因此在智能流量计的软件设计中,应该对流量系数进行温度补偿。同一台流量计的流量系数并不是一个常数,与流体的温度有紧密的关系。
流体的瞬时流量可以表示为:
q=f|K
而K作为流量系数,可以通过下式获得:
K=PQxT
T=1+(T1-T0)xPT
其中:
q——瞬时流量(m3/s)f——每秒的脉冲数(脉冲数/s)
K——流量系数(脉冲数/m3)T——温度补偿值
T1——当前温度(℃) T0——温度截距(℃)
PT——温度系数(1/℃) PQ——初始流量系数
上述参数中(T0,PT,PQ)可由按键输入。

    本流量计主程序流程图如图6所示。在进入测量周期后(本文中定为5s),首先自我诊断是否有外接电源,并进行相应的处理。然后计算周期内温度、读取流量的脉冲数、计算流量,并进行数据显示和通信。
本流量已经在现场运行,通过与上位机的数据通信,实现了多功能和智能化,并且实时性好,操作简单,可以满足多种流体的测量。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-23 13:32 , 耗时 0.090009 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表