一种基于LoRa无线传输的嵌入式设备状态监测
2019-01-17
(大连交通大学 电气信息学院,大连 116028)
引 言
随着工业化的不断发展,电气化设备在人们的生产生活中占据着越来越重要的地位,而设备工作的健康状态直接影响着工业生产单位的效率,因此设备监测就显得格外重要,传统的设备监测主要是人工定期巡检,不仅消耗大量的人力,并且不能做到在设备达到即将故障的临界点提前维修,大多数只能在设备发生故障之后紧急抢修,这样在抢修的过程中,降低了工作效率,而一些定期检修也只是根据人的经验来判断检修的时间间隔,没有较强的针对性,效率低。这种在线检修方式逐步被信息化时代的离线设备监测方式所替代,即将设备的状态信息通过有线通信的方式传输到设备监测中心,由后台操作人员进行监测。不过,这种有线通信的方式前期施工成本高,布线复杂,后期维护成本又随着时间的推移逐步升高,而且不利于设备密集的场所使用,灵活度差,所以无线通信方式正在逐步取代有线通信方式,而随着近些年物联网技术如火如荼的发展,相关的一些无线通信方案正走入人们的视野。比如近些年流行的LoRa调制技术,如参考文献[1]设计了一种基于LoRa无线技术的动车轴温无线监测系统,参考文献[2]研究了基于LoRa技术的网络终端无线程序升级系统,参考文献[3]对基于SX1276芯片的LoRa与FSK技术在室内定位中的应用进行了研究。
本文基于LoRa无线通信技术设计了一款用于设备状态监测的节点,主要用于点对点网络传输,很好地解决了上述设备状态监测传输问题。
1 监测节点的整体结构与功能
此款设备状态监测节点采用LoRa调制解调技术,具有低功耗、长距离、抗干扰的优势,并且使用ISM频段,无需授权许可,可以根据不同企业的需求,定制自己的私网,在频段使用上不仅节约了大量的成本,而且提高了设备采集数据的保密性。本监测节点可以实现终端设备状态采集,并实现数据点对点传输,组网简单可靠,单节点最大发射功率可达+20 dBm。
主控制器芯片采用ST公司的STM32L151CBT6,比基础型STM32F103系列芯片更节能,拥有128 KB的Flash空间,具有丰富的片上外设,如USART、SPI、I2C接口、模/数转换通道,并且还具有DMA功能。其中数传模块采用安信可公司的Ra-01模组,其中内部集成本次节点设计核心部件——LoRa数据传输芯片SX1278(Semtech公司),该芯片适合在中国大陆ISM频段的低频段区间(137~525 MHz)使用,而北美地区则常使用SX1276。该节点前端有温度传感器负责监测设备的温度,还有标准USB接口电路,负责采集传输设备状态数据,并通过通用异步收发器将采集信息传输给主控制器芯片,主控制器芯片将采集数据通过SPI接口传输给数传模块,该模块再将数据通过LoRa调制的方式传输出去,实现数据采集、传输的功能。在传输距离、抗干扰性以及功耗方面具有优势。具体结构如图1所示。
图1 监测节点的结构框图
2 监测节点的硬件设计
2.1 电源设计
电源部分不仅是嵌入式设备能量的来源,更是设备能否正常稳定运作的保证,对于电源输出电压大小及稳定性有着很高的要求。针对各个功能模块对电压的需求,该电源部分要可靠输出5 V和3.3 V电压,输出电压波纹不能太大。第一套方案采用开关型DC-DC电源转换电路,输入电压为12 V,输出电压为5 V,该5 V电压可以提供给USB数据采集电路和温度采集电路使用,最后通过低压差线性稳压电路(LDO)输出3.3 V电压供给MCU控制电路和LoRa传输模块。DC-DC电源转换电路采用德州仪器公司的LM2576SX-5.0芯片,具有很好的稳压效果,具体电路如图2所示。
图2 开关型DC-DC电源转换电路
由于该DC-DC电源转换电路中有两个220 μF的电解电容、一个220 μH的功率电感和一个肖特基二极管,体积比较大,即使是表贴封装也占用大量的PCB面积,而且220 μH功率电感是一个很大的干扰源,在PCB走线的时候,对时钟线和信号线影响较大,所以综合考虑,此方案并不合适。
第二套方案就是本监测节点所采用的电源电路,核心技术采用“双联式”低压差线性稳压电路(LDO)。输入为直流12 V,经过线性稳压,上半部分输出5 V直流电压,下半部分输出3.3 V。电路结构如图3所示。
图3 “双联式”低压差线性稳压电路
LM1117-3.3与LM1117-5.0稳压芯片不仅在体积上小于LM2576-5.0,而且即使有两路稳压电路,也比LM2576-5.0核心的DC-DC电源转换电路节省很大的PCB面积,这不仅在成本上可以节约很多,而且外围电路搭建简单,输入输出分别只需一个47 μF的电解电容和一个0.1 μF的MLCC即可。前者负责低频滤波、稳压,后者负责高频滤波,保证输出电压波纹稳定。笔者考察下路输出电压稳定性的数据见表1。
表1 3.3 V线性稳压输出测试
由表中数据分析可知,当输入电压小于3.3 V时,输出欠压,只要当输入电压高于3.3 V时,输出稳定在3.3 V左右,当输入为12 V时(本监测节点输入电压),输出也稳定在3.3 V。由此说明该设计满足工程需要。上路线性稳压芯片同属一个公司产品,也满足该设计要求,稳定输出5 V。
2.2 功能电路设计
功能电路部分包括MCU控制电路(U1)、温度采集电路(U6)、USB数据采集电路(U5)和LoRa传输模块(U2)。详细电路图如图4所示。
图4 监测节点的功能电路图
其中,温度采集电路采用数字温度传感器DS18B20,这种数字温度传感器采用独特的单线接口方式与STM32L151CBT6芯片相连,只占用了微控制器的一个I/O接口(PA0),因此电路连接简单,而且在外部5 V供电的条件下,温度测量精度高。本节点采用DS18B20外部电源供电方式,实现单点测温,也可以实现多点测温的功能,电路结构如图5所示。
图5 DS18B20多点测温电路图
但需要注意的是,当采用多点测温时,数字温度传感器供电方式一定要采用外部电源供电方式,不可以采用如图6所示的寄生电源供电方式,虽然寄生电源供电方式可以实现远距离温度测量,无需本地电源供电,但是当多个DS18B20传感器挂载在一个I/O接口线的时候,会导致I/O接口的驱动能力不足,严重影响数字温度传感器的温度测量精度,甚至会导致错误的测量结果。即使采用外部供电方式,多点测量温度时,I/O接口也不是无限制地挂载传感器,其数量最多不要超过7到8个,否则测温精度也会大大下降。
图6 DS18B20寄生电源供电方式
USB数据采集电路通过芯片CH340G实现USB转串口,该转换芯片需要外接12 MHz晶振为内部提供时钟,本电路选择5 V供电模式,引脚V3要外接0.1 μF去耦电容接地,在VCC引脚除了提供5 V供电外,还要外接去耦电容和电解电容到地,详细电路结构见图4。
在LoRa数据传输模块中,其内部SX1278芯片按照Semtech公司给出的参考电路,已经搭建完成,模块外只需对电源引脚部分做简单的滤波处理即可,模块的I/O接口引脚与微控制器GPIO引脚相连。
MCU控制电路主要搭建其最小系统,包括起振电路、复位电路、启动配置电路、电源电路,还有如图7所示的下载电路。这里采用JTAG程序下载方式,在VDDA(模拟供电)引脚加入C8电容,这样使电源输入更稳定,提高了使用ADC功能时采集信号的精度。详细电路结构如图4所示。
图7 JTAG下载电路
3 监测节点软件设计
该监测节点可以实现点对点传输,在组网时其地位是平等的,根据具体的用途可以实现采集发送节点和接收节点的相互转化。在软件功能设计上分为发送和接收两个功能,其软件流程图如图8和图9所示。
图8 发送节点软件流程
图9 接收节点软件流程
对于发送节点,首先进行节点初始化,包括MCU芯片各引脚、时钟的配置等,然后节点通过USB数据采集电路设备运行状态数据,或者通过DS18B20温度采集电路采集设备温度信息。当有发送需求时,响应发送中断,然后MCU控制电路通过SPI接口与LoRa数据传输模块进行通信,将采集的数据写入LoRa模块的FIFO数据存储区,并配置LoRa模块的发送模式,最后进行数据的发送。如果由于信道占用导致超时,或者接收节点接收数据错误导致无法回复ACK,发送节点将进入重发阶段,如果发送成功,即等到了接收节点的ACK,则继续等待发送数据的请求,等待下一阶段的数据传输。
对于接收节点,当其上电后,首先初始化节点,如果该接收节点是网络中的接力节点,则不需要采集设备的状态数据,上电以后就在一定的时间间隔内由既定程序唤醒,不断检测空中数据包的前导码,其他时间处于休眠状态,这样可以降低节点的功耗。当检测到空中数据包的前导码有效时,则发送接收数据的中断请求,如果该前导码无效则不接收该数据包,并继续检测前导码。当发送的接收数据中断请求被响应后,就会配置LoRa模块中接收模式的寄存器,然后判断该数据包负载部分的CRC校验字节是否正确,如果正确,则读入该数据,并且转换成待机模式,然后继续检测前导码,准备下一次数据的接收,如果数据包的CRC校验字节不正确,则丢弃数据包,不进行读入操作,直接进入待机模式,准备下一次数据的接收。
4 实验测试分析
实验测试场地选在大连交通大学沙河口校区,测试时间为2018年7月。采用双节点一对一通信模式,没有中继节点接力转发,考察节点数据传输质量与传输距离极限。发射节点位于电气信息学院三楼东侧302实验室,接收节点分别沿图10中标注的3条路线分别测试,图中终点位置为通信极限点。
其中接收节点在电气信息学院楼内的各个地点均能接收到采集数据,接收正确率为100%,说明其在室内传输性能非常不错,所以当该监测节点用于室内设备监测时,数据传输性能最佳。
室外传输场景比较复杂,正值炎夏,校园内两旁高树林立,这些都是影响无线信号传输的潜在因素。笔者选出实验路线1分析,经过大量反复实验,在配置传输条件时,设置带宽为125 kHz,扩频因子分别为7、8、9时,传输效果最好。如图10所示,当过双峰瀑布向西以后,通信质量开始下降,接收数据时延变长,直到图10中最后箭头所示位置以后,接收信息无法使用。笔者站在1号路线的心型处进行该测试,其测试统计结果如表2所列。
图10 实验测试路线图
表2 实验路线1心型位置数据接收测试统计结果
由此可见,在室外复杂的环境条件下,单节点+20 dBm的功率依然可以传输很远,而且接收数据正确率满足设备状态监测要求,在实际应用中可以在两节点间增加中继节点,这样就可以增强传输质量,综合分析测试结果达到了预期目标。