基于MSP432的高精度质检秤设计
2020-02-20李宏伟
李宏伟
(华信咨询设计研究院有限公司,浙江 杭州 310052)
0 引 言
粮食质量安全检测是国家储备粮管理工作的基础,也是发展智慧储粮的先决条件。在粮食进行入库质检时,杂质称样和水分测定对质检称的精确度有着很高的要求。称重的精确度将直接影响质检的准确性,间接影响粮储部门对粮食安全的监管和追溯[1]。目前,粮库所使用的高精度质检秤主要采用模拟电路设计,过多使用模拟电路会使得电路过于复杂。由于元器件的老化和温漂特性,传统电子质检秤的精度往往得不到保证,需要定时校准。
模拟秤的设计大多采用惠斯登电桥、仪表放大器和高精度AD模数转换器的方案,少数采用恒流源法或模拟锁相放大器法,其中模拟锁相放大器法精度最高,但是模拟锁相放大器的电路结构复杂、成本高,也存在元件老化问题[2]。随着现在越来越多的32位高性能、低成本处理器的出现,数字信号处理可以很好地应用于这些测量电路。MSP430系列的单片机功耗低且应用广泛,于是提出了在MSP432单片机中设计数字锁相放大器来制作电子秤的方案,从而实现用数字电路代替模拟电路[3]。这样既可以预防模拟电路的时漂、温漂问题,又可以减少仪器体积、节约成本。
1 系统方案设计
系统的总体设计方案如图1所示。系统主要包含MSP432单片机最小系统、SPWM驱动信号产生、惠斯登电桥和模拟前端信号采集4部分。其中,MSP432单片机通过内部的定时器产生SPWM信号,SPWM通过滤波器后可以产生正弦波驱动电桥,电桥由于物体重量改变产生的微弱信号通过模拟放大器后进入MSP432的AD采集端口,之后信号在单片机内部量化后全部进行数字锁相处理,通过转换最终得到物体的质量信息。
图1 系统图
1.1 硬件设计
系统设计时采用德州仪器公司的MSP432LAUNCPAD最小系统作为处理核心,硬件部分主要包含电桥及其放大电路、SPWM驱动信号合成电路和AD信号采集电路等。
1.2 主控MCU
考虑到系统设计时所需要的高精度、低功耗、低价等因素,系统设计时采用德州仪器公司的MSP432P401R单片机。MSP432P401R是最新推出的ARM®32位Cortex®-M4F内核的具有48 MHz主频的低功耗单片机,内部集成有16位定时器、14位高精度AD转换器等外设。此外,Ti公司还提供了高速的MSP_DSP库供调用[4]。本系统采用德州仪器公司的LAUNCHPAD最小系统板作为主控。
1.3 SPWM合成电路
因为MSP432单片机输出的是方波信号,所以要合成正弦波电桥驱动信号还需要额外设计模拟滤波电路和驱动缓冲电路。本设计中需要产生的正弦波频率设定为5 000 Hz,所以在MSP432的PWM输出口需要设计一个截止频率为5 000 Hz的低通滤波器。设计采用一阶的低通滤波,根据一阶低通滤波的计算公式F=1/(2πRC),本系统通过两次滤波系统选取R1、C1、R2、C2的值。运算放大器选择德州仪器的TLV2372。SPWM滤波电路如图2所示。
图2 SPWM滤波电路图
1.4 电桥及放大电路
电子秤采用悬臂梁的测量方式,电桥采用通用的惠斯登半臂电桥。根据半臂桥的测量原理,电桥输出电压为:
其中,R2、R3为应变片电阻,R1、R4为精密电阻,ΔR为压力引起的电阻变化,E为常数,U0为电压输出[5]。所以,这里放大部分采用两级放大,根据测量的范围和精度要求,第一级放大器设计为10倍放大,第二级3倍放大,总体放大30倍。电桥及其放大电路如图3所示。
图3 电桥及放大电路图
1.5 AD采集电路部分设计
根据奈奎斯特采样定律,MSP432单片机采样的信号频率是5 kHz,所以AD转换器前的滤波器截至频率应该为10 kHz。采样滤波器的电路设计原理如图4所示。
图4 AD采集前端电路
2 系统软件设计
2.1 数字锁相放大器
锁相放大器可以分为模拟锁相放大器和数字锁相放大器两种。它们的理论基础基本相同。正交数字锁相放大器的原理如图5所示[6-7]。
图5 数字锁相放大器原理图
MSP432单片机AD采样的信号为输入信号,因为电桥上的差分输出信号为正弦信号,所以设该信号为 S(t)=Asin(ωt+θ)+N(t),其中正弦分量 Asin(ωt+θ)为压力传感器上的有用信号,N(t)为电路放大滤波过程中产生的噪声信号。设计锁相放大器的目的是有效放大有用信号和剔除噪声信号。在数字锁相放大器中产生与输入信号同频的参考信号R1(t)=Bsin(ωt),将这个参考信号移相90°,可以得到另一正交的参考信号R2(t)=-Bcos(ωt),进而得到这两个正交的参考信号,将它们分别与输入进行相乘得到两个输出U1(t)、U2(t):
对U1(t)、U2(t)中的交流信号进行滤波处理,可以得到直流分量Vout1、Vout2:
将参考信号的幅度B设置为1,对U1(t)、U2(t)两个正交信号分别取模、取反正切,可以得到被提取信号的幅值A和相位θ:
通过计算式(5)可以发现,锁相放大器可以有效放大输入信号的幅值和滤除噪声分量N(t)[8-9]。
2.2 程序设计
目前,大多数数字锁相放大器的数字信号处理都是在DSP或者FPGA等高端芯片中设计的,在MSP432、STM32等低速ARM核芯片内部运行数字锁相放大算法的应用案例极少。程序的主要过程包括SPWM的产生、AD信号采集、数字乘法器以及参考信号的产生等。SPWM信号的产生采用MSP432内部的16位定时器,通过查表的方式产生。AD采集的频率设定在5 000 Hz,对MSP432单片机要想实时处理数字锁相的算法存在的一定困难。所以,在程序中通过乘法运算得到U1(t)、U2(t)信号后,需要对U1(t)、U2(t)分别进行两次滤波处理。第一次滤波后,程序抽取第一次滤波后的信号,接着对抽取后的信号进行第二次滤波,这样相对于一次性滤波可以大大减少滤波器的阶数,从而降低对处理器主频和存储器的要求。程序中的大量FIR滤波过程可以通过德州仪器公司提供的MSP_DSP库完成。这种设计可以大大降低程序的设计难度,程序的主要数字信号处理过程完成后可以得到幅值A,通过幅值A可以进一步计算物体的重量。整个程序流程如图6所示。
图6 程序流程图
3 检测结果分析
为了测试质检秤的精度,实验选取物理实验中的高精度砝码作为被测试件,测量范围为0.00~500.00 g,每间隔50 g测量一个数据,重复实验10次,取10次测量中各测试点最大误差,每次测量保留数据小数点后的两位,实验所得结果如表1所示。
通过表1检测的统计数据可以得知,系统在0.00~500.00 g的范围内可以达到0.1 g的测量精度,整个系统精度相对较高,满足设计要求。
表1 质量测量统计表
4 结 论
本文设计了基于MSP432的高精度质检秤,采用数字锁相放大器的微弱信号检测手段,在系统设计过程中可以大大减少模拟锁相放大器设计中的电路设计,系统电路简洁,稳定性高,检测速度快,检测精度高,为新型的高精度质检秤设计提供了一种有用参考。系统设计中采用的滤波抽取法构成的数字锁相放大器方法,也为数字锁相放大器在低速32位单片机中实现提供了一种参考。未来可以拓展相应的存储模块,将高精度质检数据实时存储或上传,有利于粮储部门对粮食安全的监管和追溯。