行业动态

当前位置:首页>>新闻中心>>行业动态 发布时间:2017-08-25 08:03:03

单芯片便携电子秤重系统实现方案

时间:2017-08-25 08:03:03 来源:本站 点击数:705

引言

传统上设计秤重、测力、转矩 及压力测量系统时,广泛采用全桥 接电阻传感器的方法。大多数桥接 传感器都要求较高的激励电压(通 常为10 V),同时输出较低的满量程 差动电压,约为2mWV传感器的输 出通常由仪表放大器加以放大,经 过发大后的信号,再由髙精度模数 转换器ADC)进行数字化,最后再 用一个通用的MCU作进一步处理与 显示。通常情况下,ADC并不集成在 MCU中。这种方法虽然可以实现满 量程的ADC输入电压,但桥接传感 器的激励电压髙达10 V,功耗较大, 而且使用的芯片数量也较多加大 了电源管理的复杂度。

现在,通过在MSP430F42X芯片 中集成带有差动输入的16A-Z ADC和增益高达32的可编程增益放 大器PGA)实现了单芯片秤重系 统。整个系统只需用3 V电池供电, 不但能效高,且成本低。此外系统还 提供LCD驱动器及掉电保护功能。

硬件描述

MSP430F42X系列是基于快速 闪存的超低功耗微控制器,片上集 成了三个16A-Z ADC(SD16),这些 ADC还带有PGA,能够将传送来的 信号放大最高32倍。桥接传感器可 以直接连接到微控制器上,图1给出 了该系统的电路图。

云网客1.jpg

将全桥接传感器负激励信号连 接至终端X1-1,正激励信号连接至终 X1-4,MSP430的端口引脚P2.0 P2.1供电。这样,在测量期间或在 电子秤工作于待机状态的情况下,就 可以不用电桥激励电压,从而降低功 耗。传感器的电桥电阻为1200Q(典 型值)电源电压为3 V,激励状态下耗电2.5mA将桥接传感器的输出信号连接至X1-2X1-3, 通过两个低通滤波器之后输入SD16的输入通道A0

当最大负载为10 kg,全桥接传感器具有2 mV/V 的额定满量程差动输出电压。要使传感器信号能够实现 1 g的精度,总共需要1万次计数,并显示在LCD显示屏 上。如果桥接传感器获得3 V的激励电压,则满量程输出 电压为:3Vx2mWV = 6mV也就是说,1g的重量转 换为电压形式可等效为:6 0^/101^9 = 0.61^。为 了实现1 g的测量精度,所用ADCLSB电压应比上述 小四倍,即 0.6 mV/4 = 0.15 mVo

SD16可用内置的1.2 V参考电压工作也可用外部连接的参考电压工作。图1中给出的是用外部电阻分压器来提供参考电压。由于桥接传感器由相同电压的电源供电,这样做的好处是能够实现独立于激励电压(Vcc)的比例输出原则。如果桥接传感器由Vcc供电而SD16模块采用内部参考电压,那么测量结果就会随Vcc在电池使用寿命中的变动而发生差异。当电源电压为3V,使用图1中所示的外部电阻分压器得到的参考电压为:

云网客2.jpg

R9R10的分压比(divider ratio) R9/R10的选择使生 成的参考电压保持在容许的V*F范围内,这时Vcc3 V 降至2.7 VSD16模块的最小电源电压为2.7 V。其详细 电压范围及其他参数可参考MSP430F42X数据表 (SLAS421). SD16的参考电压决定着满量程差分输入电 压,即M12。由于数据转换器为双极,因此ADCLSB电压为:

云网客3.jpg

LSB值经过最大增益为32PGA后,电压值可降至0.605 pV但该值比设计目标值0.15 MV仍然高出大约四倍,为此还需要将该值进一步放大。为了不添加外部组件,可以采用更多的SD16输出位。SD16模块内部数字抽取滤波器能够提供总共24位的访问。可将数

字滤波器输出的额外两位添加给16位转换结果,并将18位输出信号进行低通过滤(如进行多结果平均),这样ADCLSB电压就可降至0.151 pV

云网客6.jpg

MSP430F427的片上LCD驱动器可直接采用接口 与一般的LCD模块连接。在本应用中采用了 SoftBaugh公司的4-mux7.1数码LCD—SBLCDA4电阻器R5 R7R8提供了 LCD驱动器模块所用的电压阶梯。采 32 kHz的晶振作为系统时钟参考,用于驱动LCD 在应用工作过程中周期性地从低功耗模式唤醒。此外, 系统还为电子秤操作提供了连接至P1.0的按钮(SW1)

软件描述

MSP430F427单芯片秤重软件有C语言F42x_ Weigh_ Scale.c)与汇编语言(F42x_Weigh_Scale.s43) 种版本。两种源代码功能相同,但汇编语言版本更小。上 电复位时,MSP430首先进行外设初始化,包括禁用看门 狗定时器,配置LFXT1振荡器负载电容用于外部晶振,初 始化LCD控制器、基本定时器及SD16转换器模块。SD16 0通道经过配置,采用双输入通道(channel pair) A0, SD16模块内部PGA放大信号达32倍增益。转换器 SMCLK计时,频率为1 048 567 Hz,并启用连续转换 模式。关于SD16操作的详细信息可参考MSP430x4xx 系列用户指南(SUUJ056)2为软件主流程图。

云网客7.jpg

在源代码中,将两个32位字CalMinCalMax分配 MSP430闪存段A以便保存校验数据。上电后软件 检查上述常量是否具备有效值。如果两个位置都包含相 同的值(如设备编程后的0x_),校验模式则被激活, 否则进入测量模式。变量ProgramMode用于跟踪当前 程序状态(测量模式、校验模式、断电模式)并作出相应 设置。

云网客8.jpg

随后,MSP430进入低功耗模式LPMO,启用中断。 LPM0作为SMCLK驱动SD16,在应用有效运行且采集 ADC数据时不得关闭。此后,整个程序流程由中断驱动, 共启用三个中断源。基本计时器ISR0.5秒执行一次, 主要用于触发测量进程的启动(见图3),端口 1 ISR用于 处理按钮事件,每次A/D转换后,调用SD16 ISR来处理 结果(见图4)

云网客9.jpg

在校验模式中可获得两个数据点。变量CalMin用于 存储A/D结果,其显示值等于0 g,CalMax存储的A/D 结果显示值为10000gCALL0CALHI显示出的数据 用来说明哪个校验数据点正被处理。按下按钮SW1,当 前SD16的转换结果被读取并存储到临时变量中。校验结 束后,系统内的自动编程将这两个数据点编入INF0A 闪信息存储器段,这时软件进入测量模式。

至此,SD16转换进程每0.5秒启动一次,由基本定时 器ISR定时。转换中桥接传感器上电,DC0启用。这时 MSP430LPM0模式下运行。为了实现所需的精度, 件采用低通滤波器,采集多个18A/D转换结果,并进 行累加。每次转换后,SD16 ISR按照SD16采样率(4 kHz) 执行。在采集实际数据前,反变量VoltageSettleCtr逐渐 减小为0,这就使电压能在桥接传感器上电后12毫秒内 达到稳定。SD16 ISR采集了 256个结果之后,用累加和 除以256,得到最后的18位结果。上述过程也可形容为 采样数据由2561的抽选。包括电压稳定时间在内, SD16模块每0.5秒钟运行约75毫秒。

随后,将该18位的计算结果与此前的值进行比较。仅 当值变化时才计算新的显示值并更新显示。这就能够避免 不必要的32位整数乘法及除法。

为了将A/D的测量结果转换为实际的物理重量值,系统使用了两点校验机制。显示值根据以下公式计算:

云网客10.jpg

CalMaxCalMin的范围反映到从0CAL MIN_MAX_SPAN 的范围。CAUMIN_MAX_SPAN 默认设 置为10 000,等于桥接传感器的最大机械负载10kg 注意:由于施加给SD16模块的差动信号的缘故,18A/D 转换结果是带符号的整个程序中都使用带符号的代数 算法。这样,也可显示出负的重量值。测量结束之后 SD16模块禁用,DC0在退出时进入LPM3关闭模式,而 桥接传感器则断电以降低电流消耗。

只要按下按钮SW1会立即使转换失效,关闭LCD显示屏 并进入LPM3模式。在这种模式下,应用电路吸收的电流不到 1 pA32 kHz的振荡器憾运行。如果需要的话,也可进 LPM4模式来进一步降低电流消耗。再次按下按钮SW1, 应用便恢复正常的工作。在这种模式下SD16模块每0.5 钟约运行75毫秒,得出新的计算结果后,显示屏也随之更新。 在此期间,MSP430消耗的电流约1 mA桥接传感器的激励 及参考电压的生成在此期间还需要3 mA的额外电流。在测 量间隙内,MSP430消耗电流约3 mA,其中包括了 LCD驱动器 用于显示计算结果的电流。因此,总的平均应用电流消耗量 在正常工作期间为6000。若想在任何时间内重新进入校验 模式,只需按下按钮SW1至少5秒钟即可实现。