打印

基于MSP430F147的智能金属浮子流量计设计

[复制链接]
1592|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pmp|  楼主 | 2013-4-7 23:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MSP430F147单片机是TI推出的一种具有超低功耗的16位Flash单片机.特别适合应用在对功耗敏感的场所。MSP430Fl47共有五种低功耗模式,即低功耗模式0(LPMO)—低功耗模式4(LPM4)。利用MSP430F1X系列单片机,可以简便快捷地构建一个低电压平台,通过各功能模块的智能运行管理和MCU功耗模式相结合,可以解决运行速度与低功耗设计之间的矛盾,将各功能模块的电流消耗降至最低状态。MSP430F1X系列采用Flash芯片做为存储器,具备在系统编程能力,提高了开发速度和成本。MSP430F147它有一个硬件乘法器、6个I/O端口,一个精确的模拟比较器,2个具有捕捉/比较寄存器的定时器,片内看门狗定时器,2个串行通信接口和32KB+256字节的FLASH ROM,1KBRAM,8个外部通道的12位高性能A/D转换器利用芯片内置的自动扫描功能,A/D转换器可以不需中央处理器的协助而独立工作。概括来说,MSP430F1X系列单片机其有超低功耗、强大的处理能力,丰富的片上外围模块,方便高效的开发方式、多种存储器形式的特点。
1 智能流量计设计
1.1 设计目标
采用MSP430F147单片机设计一种低功耗的智能流量计,解决金属浮子流量计的非线性化问题。并具备现场显示流量、输出4-20mA远传信号的功能。

1.2 设计方案
通过在与金属浮子(磁钢)运动方向垂直的平面上放置线形霍尔片,将金属浮子的位移量转换成电信号,经放大后送MSP430F147采样并进行均值滤波,再通过查表完成线形化修正,再以修正后的值为索引查找流量值表得到对应的流量值并送LCD显示。系统流程如图1所示。
1.3 硬件电路设计
1.3.1 电源电路(图2)
采用24V-10V直流电对电路板供电,电源正极接二极管D1IN4148,防止电压反接时对电路板的损害。电路中需要5V电压VCC对运算放大器、三极管等模拟器件供电。MSP430工作电压VDD设定为3.3V。考虑到电路板的静态功耗需要在4mA以下,而MSP430工作电流需要600μA,液晶显示工作电流大约为1.2mA。霍尔片需要1mA电流激励,所以电源部分的芯片需要选用低功耗的。这里选用的LM10C和LP2981-3.3。LM10C由一个200mV的基准和一个独立的高性能运放器组成。
电阻R1与R11形成同相比例放大电路,将基准电压200mV放大(1+48/2)=25倍,则管脚6独立运放的输出端的输出电压为200mV×25=5V,即在管脚6独立运放的输出端输出电压5V电压VCC。
LP2981是低功耗的电压调整芯片,具有100mA的电流负载能力。输出电压有2-5V可选。这里选用的是LP2981-3.3V。可将输入直流电压调整到3.3V。5V电压经过LP2981-3.3V调整后形成3.3V电压VDD对MSP430供电。
1.3.2 霍尔元件电路(图3)
霍尔元件选用的是NHE211线性霍尔元件,工作电流需要1mA左右。电路前端部分为恒流源部分。电压经电阻R3、R1分压后送双路运放TLC2252同相输入端。TLC2252内部有两个独立的高性能运放A和B。电压VCC经电阻R2、R3分压后接至运放A同相输入端。
霍尔片NHE211管脚2与4间流入激励电流。管脚1与3之间输出霍尔电压。输出的霍尔电压在毫伏级,霍尔电压须经过放大才能被A/D采样。霍尔电压的正负极经电阻R7、R8接入TLC2252的运放B的同相、反向端。电阻R10、R7阻值决定了霍尔电压的放大倍数。霍尔电压被放大的倍数为R10/R7,为20倍,从而让霍尔电压达到伏级。放大后的霍尔电压送至MSP430F147的P6.0口,供片内A/D采样。

相关帖子

沙发
pmp|  楼主 | 2013-4-7 23:15 | 只看该作者
1.3.3 MSP430F147部分
电路中应用到MSP430F147的JTAG口,方便程序的调试:端口P6.0做A/D采样口,采样经放大后的霍尔电压。端口P4.0-P4.7做字符显示数据口,接LCD数据口。端口P5.5-P5.7接LCD控制口。P3.3与串行D/A MAX5302的SCLK相连。P3.1与MAX5302的DIN相连。P3.0与MAX5302的CS端连接。未用到管脚悬空,这样可以降低MSP430F147的功耗。MSP430F147未接外部晶振,采用片内数控DCO的DCOCLK经分频后作为主时钟MCLK。
1.3.4 MAX5302及输出部分
MAX5302是超低功耗12位串行电压输出型D/A,电流消耗为270uA。通过SPI方式与430的USART0通讯。基准电压采用MSP43OF147的VREF+电压。
MSP430的USART0送过来的数据经过DIN口送入内部16位的移位寄存器,实现串并转换。转换后数据送入输入寄存器存储。当DAC寄存器为空时从输入寄存器存储中装入数据。当一次D/A转换完成后DAC从DAC寄存器中取出数据重新开始转换,转化后的电压送入运放同相输入端。此时需要将电压输出改为电流输出,达到补偿调整输出4-20mA电流的目的,在D/A输出端加三极管Q2,通过控制发射极电流以达到控制输出电流输出的目的。
输出电流I=(VREF×N)/(4096×R)A (R为100Ω,N为DAC的数字值)
2 软件部分
2.1 主程序设计
采用IAR公司的集成开发环境Embedded Workbench进行项目开发。主程序为仪器的监测程序,在程序开始运行时,首先对系统进行自检并初始化, 具体包括时钟模块。数字I/O端口,WDT、USART及ADC各功能模块的工作方式设置。系统初始化完成后便等待中断友生。
2.2 中断服务程序设计
系统设计了复位中断、A/D转换中断及键盘中断及WDT中断服务程序,Embedded Workbench中, 中端程序的格式是:interrupt[中断向量偏移量]void 中断程序名(void){ }。
复位中断设计成和主程序同一入口,完成系统初始化,并等待中断发生。
片内ADC12当转换完成后发生中断,在中断服务程序中将ADM12MEME0中取出,并调用线性化修正子程序。为了减短关中断的时间,子程序的执行是在开中断下执行的。
系统定义了3个功能键盘。在其对应的中断服务程序中完成调零,调满及确认功能。
在MSP430F147单片机中的WDT设为看门狗模式,防止程序跑飞。定时时间为1S,选择ACLK信号作为WDT的时钟源。当发生WDT中断,系统复位。
2.3 线性化修正子程序
采用分段线性的线性化方法。线性插值是插值点用折线段逼近非线性曲线, 以达到线性化的目的。查表法是一种分段线性插值法,它是根据精度要求对非线性曲线进行分段,分段越多,线性化精度越高,分段后用若干段折线逼近曲线,将折点坐标值存入数据表中,测量时,根据一段直线的斜率进行线性插值,从而实现线性化修正。
下面以四段(5个折点)为例。说明本系统线性插值法实现线性化的过程。五个点的折点坐标值为:
横坐标:0、I1、I2,I3、I4;
纵坐标: 0、F1、F2、F3、F4;
在第一段,即点(0,0)与点(I1,F1)之间,折线方程为:F1=0+(F1+0)(I-0)/(I1-0)
在第二段,即点(I1,F1)与点(I2,F2)之间,折线方程为:F=F1+(F2-F1)(I-I1)/(I2-I1)
在第三段,即点(I2,F2)与点(I3,F3)之间,折线方程为:F=F2+(F3-F2)(I-I2)/(I3-I2)
在第四段,即点(I3,F3)与点(I4,F4)之间,折线方程为:F=F3+(F4-F3)(I-I2)/(I4-I3)
所以温度T的表达式的通式为:
F=Fk+(Fk+1-Fk)(I-Ik)/(Ik+1-Ik)
上式中,k为折点的序号,如对应第三个折点,k=3,对应第四段折线方程。
3 结语
采用上述设计的智能化金属浮子流量计,具有超低功耗、低成本、结构简单等特点,完成了对流量计非线性修正,拓宽了金属浮子流量汁的应用范围。

使用特权

评论回复
板凳
comeon201208| | 2013-4-8 09:07 | 只看该作者
输出的霍尔电压在毫伏级,霍尔电压须经过放大才能被A/D采样。这个需要放大到多大才可以?

使用特权

评论回复
地板
南方小飞| | 2013-4-8 14:26 | 只看该作者
可以不采用IAR公司的集成开发环境Embedded Workbench进行项目开发不?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

pmp

182

主题

7499

帖子

7

粉丝