基于LoRa的远程温度采集系统设计

2022-07-07 08:54周夕良
安徽职业技术学院学报 2022年2期
关键词:迭代法牛顿网关

周夕良

(湖州职业技术学院 物流与信息工程学院,浙江 湖州 313000)

随着大数据、云计算、物联网等技术的迅速发展,通常底层传感器采集的数据都要送入云平台,以便对数据进行充分分析、计算,同时进行远程实时监控。数据的无线传送有蓝牙、ZigBee、WiFi、NB-IoT、LoRa等多种方案可供选择。刘飞飞等[1]设计了一种基于ZigBee的农业生产环境监测系统,实现了对蔬菜大棚内的环境参数的实时监控。朱文博[2]提出了一种基于WiFi的工业生产环境监测系统,实现了对生产车间环境参数的实时监控。茅敏敏等[3]介绍了一种基于NBIoT的环境温湿度监测方法,实现对远程环境参数的实时监控。其中蓝牙、ZigBee和WiFi属短距离无线传输,NB-IoT和LoRa都属于低功耗、长距离无线传输,但LoRa的传输距离更远且组网成本更低。因此,本文选择了基于LoRa的无线传输解决方案。

1 无线温度采集系统组成

系统组成如图1所示,系统包含温度采集节点和LoRa网关两部分,温度采集节点将采集到的温度值无线发送给LoRa网关,数据经LoRa网关打包发送给internet供PC、手机等终端使用,实现对温度的实时监控。

图1 无线温度采集组成图

2 硬件设计方案

2.1 信号采集节点

信号采集节点电路如图2所示,由信号采样、信号处理、AD转换、微控制器、显示电路、射频电路6个模块构成。主控芯片将采集到的温度值经UART串口传输给射频芯片,数据再经射频电路发送给LoRa网关。信号采样由一个恒流源构成,信号处理由一个一阶无源滤波电路和一个二级增益为20的放大器构成,AD模块由精度为16位的ADS8320构成,微处理器采用STM32L151 C8T6,显示模块采用0.96寸OLED显示屏,射频芯片采用SX1262。

图2 温度采集节点电路

图3 是信号采集及调理电路。PT100温度采系统一般有两种设计方案,电桥法和恒流源法。恒流源法的测量精度优于电桥法,因此本系统采用恒流源法。1mA恒流源如图3所示,由集成运放op07(U2)和可调基准稳压芯片TL431(U1)构成,运放U2引入了负反馈,处于线性工作状态,由运放的虚短概念得:u2-=u2+=u PT100-=0V,这样通过调节电位器VR1将UP的电位调到-5.1V,则流过PT100的电流。信号调理电路如图3所示,R3、R4、C1、C2构成一阶无源滤波电路,用于滤除一些高频杂波,紧跟着的是由AD620和OP07构成的两级增益为20的放大器,第一级是差分放大器可通过调节电位器VR2将其增益设置为10,第二级为同相比例运放增益为2。

图3 信号采样及调理电路

2.2 射频电路及LoRa网关

LoRa技术是一种远距离无线通信技术,其特点是:(1)传输距离长:城镇可达2-5 Km,郊区可达15 Km;(2)低功耗:电池使用寿命长达10-20年。LoRaWAN即LoRa广域网,是基于LoRa技术的一种通信协议和系统架构,它主要包括LoRa节点、LoRa网关和LoRa服务器三个层次的通信实体,如图4所示。本系统设计了两个通信实体,温度采集节点和LoRa网关。所使用的射频芯片是SX1262,由于射频芯片无法独立工作需要微控芯片配合使用,因此本系统用了两片STM32L151 C8T6、两片SX1262。STM32L151C8T6系意法半导体公司推出的系列低功耗芯片能降低系统功耗。SX1262是Semtech公司生产的新一代射频芯片,和传统的SX1276相比,具有传输距离更远、速度更快、功耗更低、体积更小;支持空中唤醒、无线配置、载波监听、自动中继、通信密钥等功能。

图4 LoRa局域网结构

3 软件设计方案

在主控芯片STM32L151C8T6中开定时器Time6的中断,设置500ms定时,在中断回调函数中进行AD采样,在main()函数中计算电阻及温度值,将经牛顿迭代算法修正后的温度送显示模块和射频电路,射频电路将数据发送给LoRa网关,流程图如图5所示。

图5 温度采集系统流程图

3.1 最小二乘估计法

通过信号采集电路只能求得PT100的实时电阻,然后根据PT100的分度表算出环境温度。通常有查表法和线性插值法两种方法,查表法受限于分度表的分辨率会引入0.5℃的误差,因此本系统采用线性插值法。首先将0-400℃划分成4个区间,然后用最小二乘估计法求解每个区间的最佳拟合直线。例如0-100℃区间,首先实验测得9组数据如表1所示,对应的拟合直线如图6所示。

表1 PT100阻值和温度对应表

图6 拟合直线

这样我们可描绘出9个点,然后得到一条拟合直线,假设拟合直线方程为t=a⋅r+b,根据最小二乘估计算法[4]得如下计算公式:

式(1)中,â、b̂即为a、b的最佳估算值,rˉ、tˉ为PT100阻值和测量温度的统计平均值。这样得到0-400℃,4个区间的4段拟合函数[5]如下:

当0℃≤t≤100℃时t=2.558⋅RPT100-256.02;

当100℃

当200℃

当300℃

3.2 牛顿迭代算法

线性插值法的最佳拟合直线是根据最小二乘估计算法得到的,最小二乘估计算法本质上是选取平均误差最小的那条直线。但PT100的温度阻值特性是非线性的。在温度系数TCR=0.003851时,PT100的温度阻值特性如公式2所示。

式(2)中,rt是t℃时 的电阻 值,r0是0℃时的电阻值即100Ω,A=3.9083×10-3℃-1、B=-5.775×10-7℃-2。对式(2)精确求解需要应用牛顿迭代法又称为牛顿切线法[6],令f(t)=r0(1+At+Bt2)-rt,f′(t)=r0(A+2Bt),牛 顿 迭代法得公式(3)

将线性插值法求得的温度作为t0作为初始值代入公式3进行迭代运算求精确值。牛顿迭代法的纠错能力验证,测试代码如下:

float Tem_Corrrect(void) //迭代函数

{

float t1,t0,f,f1,r;

char n=0;

r=123.24; //60℃的电阻值

t1=65; //故意输入5℃误差

do

{t0=t1;

f=100*(1+(0.0039083-0.0000005775*t0)*t0)-r;

f1=100*(0.0039083-2*0.0000005775*t0);

t1=t0-f/f1;

n++;

}while(n>=2);

return t1;

}

根据PT100分度表,60℃的电阻值为123.24Ω,代码中输入的温度为65℃经3次迭代运算后得到59.991272℃,误差为0.0087℃,可见牛顿迭代法的纠错能力非常强,经迭代处理后软件算法引起的误差基本可忽略,即系统的测量误差是由硬件电路引起的。

3.3 射频芯片工作模式配置

用主控芯片STM32L151C8T6的两个GPIO口来控制M1M0可设置射频芯片SX1262的4种工作模式,如表2所示。一般模式,M1M0=00,模块处于收发状态;发射:用户可通过串口输入数据,模块启动无线发射;接收:收到无线数据后通过串口TXD引脚输出。无线唤醒模式1,M1M0=01,模块处于无线唤醒模式1状态,可进行数据的无线发送和接收。无线唤醒模式2,M1M0=10,模块处于无线唤醒模式2状态,可进行数据的无线接收,但不能无线发送数据。深度休眠模式,M1M0=11,模块处于休眠状态,不能进行数据收发。

表2 SX1276的四种工作模式

4 实验结果

实验对0-100℃区间进行了测量,结果如表3所示,真实温度是由精密温度计得到的测量值,修正前的温度是用线性插值法得到的测量值,修正后的温度是经牛顿迭代法处理后的温度。经牛顿迭代法修正后,系统误差降到0.1℃以内。

表3 经牛顿迭代法修正前后的温度对照表

5 结语

针对特殊的工业生产环境,现场布线困难,对温度的测量精度要求高量程宽的场合,提出了一种基于LoRa的低功耗、高精度无线温度监测系统。以STM32L151C8T6、SX1262为核心芯片,采样A级PT100温度传感器,运用数字滤波技术,最小二乘算法,牛顿迭代算法对测量温度进行修正将误差控制在0.1℃以内。应用新一代射频芯片SX1262将测量温度发送给LoRa网关,再由LoRa网关将数据送入LoRa局域网,从而实现对生产现场的环境温度实时监控。

猜你喜欢
迭代法牛顿网关
迭代法求解一类函数方程的再研究
H-矩阵线性方程组的一类预条件并行多分裂SOR迭代法
牛顿忘食
信号系统网关设备的优化
风中的牛顿
失信的牛顿
预条件SOR迭代法的收敛性及其应用
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
求解PageRank问题的多步幂法修正的内外迭代法