袁丽艳
(山东电子职业技术学院,济南 250200)
目前的建筑、交通施工前期的地质勘探技术中,利用勘探钻机钻孔取样方法确定地下岩芯信息,在未来相当长的时期内仍是不可替代的技术手段。小型钻机的实时深度测量信息是一个重要数据,但是限于成本等问题,目前小型钻机一直都没有配置此项功能,该类钻机基本没有配套的信息化设备。而数据后期编录、勘探过程记录等都需要这一数据,真正需要的时候钻探过程中的钻探深度等信息完全依靠人工记录,这样做一方面勘探过程中的人力和物力成本较高、信息滞后,另一方面后期数据记录、整理工作量繁杂且容易出现错误,不利于地质勘探信息化工作的开展。
利用超声波技术、移动互联通信等技术,结合全球定位系统技术(GPS),研制地质勘探钻机钻探实时深度测量系统,在此基础上建立基于物联网技术的工程勘察智慧云系统,可为地质勘探工作提供良好的技术支撑,实现工程勘探工作由传统方式向信息化方式转变,可以有效降低地质勘探过程的人力、物力成本,减轻地质勘探工作者的劳动强度,提高地质勘探工作的效率。
本系统面向建筑、交通施工地质勘探钻机信息化的需求,以STM32处理器为核心,提供了钻机钻孔实时深度测量与数据保存、上传的新型解决方案。通过深度测量系统实时测量钻杆在地面部分的长度,根据录入的杆号自动计算出钻探深度并通过现场LED屏幕实时显示。设计出了友好的人机界面,通过键盘本地录入或者通过客户端远程录入杆号及杆号对应的长度,通过键盘添加钻探所使用的钻杆并进行保存。钻探深度通过GPRS实时传输到云服务器,并设计了网络异常时的降档处理措施,即当网络异常时暂时把数据保存至本地TF卡中,等网络恢复正常时再重传。系统总体网络拓扑结构如图1所示。
图1 系统总体网络拓扑结构
本系统设计参数如表1所示。
表1 系统设计参数
系统基于STM32处理器设计嵌入式主机,通过蓝牙模块和超声波测距模块通信。超声波测距模块的发射换能器发射一定个数的脉冲信号,超声波接收换能器接收反射回波信号,并对其进行放大、滤波、整形处理,处理结果通过蓝牙通信的传输到接收主机上,主机计算出钻探深度并在四位LED数码管显示屏上实时显示。系统另外配置一个12864的LCD显示屏用来提供系统设置等人机交互接口,无操作时显示当前日期和时间(获取实时时钟芯片数据)。测量数据通过GPRS模块以TCP/IP协议传送到云端服务器,并提供本地TF卡数据存储功能。系统硬件结构示意图如图2所示。
图2 系统硬件结构示意图
根据任务要求,结合实际应用以及技术指标,本系统设计采用了ST公司的STM32F103VET6作为主控芯片。它具有低功耗、低成本和高性能等特点,提供了时钟、复位和电源管理等功能。该款芯片为100引脚,512 kFLASH和64 kSRAM,LQFP 封装 以及32位Cortex内核 ,CPU 工作频率72 MHz,工作电压2.0~3.6 V,这里我们采用了+3.3 V电压供电。芯片上共有五对VSS和VDD,管脚均匀分布在芯片四周,可以为芯片提供最好的电源质量,降低电源阻抗,保证高速数字电路可靠工作。本系统电路在电源引脚附近设置了去耦电容,以避免电流变化引起的电源电压波动传递到其他电源引脚,起到电源滤波的作用。在实际的系统功能编程中,ST官方提供了大量安全有效无误的固件库函数,加快了开发和设计的速度,提高了开发的效率。主控模块基本电路如图3所示。
图3 主控模块电路图
对于单片机来说,复位电路是系统中不可缺少的一部分,复位操作就是把单片机正在运行的状态恢复到起始状态。STM32的F1系列的单片机,支持系统复位,上电复位和备份区域复位3种方式。本系统设计了按键复位电路,当按键被按下时,NRST引脚与地连接,产生一个低电平信号,NRST引脚被拉低,从而实现系统复位。此电路采用10 kΩ电阻和0.1 μF电容,复位脉冲时间为:
t=1.1*RC=1.1×10 kΩ×0.1 μF=1 100 μs
(1)
计算结果表明,该复位电路满足STM32F103VET6的复位要求。
STM32系列单片机工作时需要接入一个主频和一个时钟频率,其中主频4~16 MHz居多,本系统采用常用的8 MHz晶振,提供时钟频率的是32.768 kHz晶振。
本系统的超声测距模块为独立收发一体式模块HC-SR04,基于ATMEL公司的AVR Mega16单片机设计了数据采集和蓝牙通信电路,采集并处理数据,处理的结果通过蓝牙传输到主机,有主机完成GPRS传输和TF卡存储。
测量方案的正确选择是本系统正常工作的前提。本系统采用测量钻机头离地面的高度间接测量钻探深度。在测量出高度之后,通过读取主机上设置好的安装钻杆的长度数值,两者相加即可得到钻探深度。因此,本系统深度测量方法转变成为距离测量方法。目前常用的测距方案有红外测距、激光测距、超声测距等。红外测距精度较高,但本装置使用场景为野外,太阳光对红外测距的影响非常大,阳光强烈时能使红外测距彻底失灵。激光测距测量距离远、测距速度快、性能可靠、精度高,在矿山开采、港口等领域具有广泛的应用,但是价格较高,从装置产品化经济性方面考虑也不宜采用。超声波测距测量精度不及红外和激光,但能满足本系统要求(钻孔深度测距误差在±5 cm即可);测量距离也较短,但其不受光线影响,而且成本较低,安全性高,从综合因素考虑,超声波传感器最适合本系统的要求。
本系统距离测量采用发送和接收在同一端的方式,可以选用市场上成熟的发射超声头和接收超声头做在一起的集成模块。超声波发射头发射超声波后,单片机开始开始计时,遇到地面后反射回来,超声波接收头收到反射回来的声波后就立即停止计时,然后根据声波在空气中的传播速度,即可计算得出声波传输的距离。因为超声波是行走了往返两个路程,所以实际距离为超声波总传输距离的二分之一。本系统设计的超声波测距模块电路原理图如图4所示。
图4 超声波测距模块原理图
模块具有单独的处理器(STC11单片机),完成超声波的增强发射、接收放大等工作。测距时,单片机发送一段40 kHz波形给MAX232芯片,MAX232对40 kHz的信号进行电平转换,以放大超声波功率,达到较远的测量距离。接收电路以TL074为四路低噪声输入运算放大器为主,对接收到的超声波电压信号进行信号放大、滤波、电压比较等。主机通过蓝牙发送开始测距命令给测距模块,超声波测距模块内部将发出8个40 kHz周期的电平并检测回波信号,如若有回波信号被检测出则输出回响信号,回响信号的脉冲宽度与所测的距离成比例。
GPRS通信电路负责将数据通过TCP/IP协议上传到云端服务器,本系统选用SIM900A作为通信模块。SIM900A是一个双频(EGSM 900 MHz和DCS 1 800 MHz)的GSM/GPRS模块。SIM900A模块提供UART通信接口,制作电路板时将其TXD、RXD两个引脚与单片机的UART的TXD、RXD两个引脚交叉连,即可实现单片机和SIM900A之间的数据双向传递。SIM900A 模块另一端与SIM卡通信,其中的5个引脚连接SIM卡的5个对应针脚(电源、地、复位、时钟、输入输出信号)。SIM900A GPRS通信电路如图5所示。
图5 SIM900A GPRS通信电路
在电路中,SIM900A模块的TXD、RXD 两个引脚连接到单片机的PA9、PA10这两个引脚,该两个引脚可以工作在UART串行通信模式。
当钻机进行工作时,深度测量模块需要将测量结果实时反馈到主机上,虽然有线传输速度快,稳定性和可靠性强,但由于钻机结构杂乱,工作时钻头钻杆位置不固定,不方便使用有线通信,因此本系统选用了蓝牙通信作为深度测量模块和主机之间的无线通信方式。基于HC-05的蓝牙模块电路原理图如图6所示。
图6 蓝牙模块
该模块可以直接连接各种单片机,它的供电电压为3.3~3.6 V,跟本设计的供电电压吻合,而且它可以通过AT指令集配置模块,采用CSR主流蓝牙芯片,蓝牙V2.0协议标准。配对以后当全双工串口使用,无需了解任何蓝牙协议,方便使用。
本系统TF SD卡作为本地存储器。TF SD卡具有容量大、读写速度快和使用方便等特点,同时它的体积很小,便于电路板小型化设计。本次设计的存储模块电路如图7所示。
图7 存储模块电路
TF SD卡通过SDIO口与单片机芯片连接。SDIO是安全数字输入/输出接口,完全兼容多媒体卡系统规范版本4.2,完全支持CE-ATA功能,数据传输可达48 MHz。SD数据传输支持单块和多块读写,它们分别对应不同的操作命令,多块写入还需要使用命令来停止整个写入操作。数据写入前需要检测SD卡忙状态,因为SD卡在接收到数据后编程到存储区过程需要一定操作时间。SD卡忙状态通过把D0线拉低表示。数据块读操作与之类似,只是无需忙状态检测。但是单块写传输速度较慢,对于大量存储数据,无法满足要求,所以文章采用了传输速度更快的多块写操作。多块写操作可以看成是对单块写操作的程序优化,通过节省主函数循环调用子函数及单块写操作每次初始应答的时间,提高了数据写入速度。使用4数据线传输时,每次传输4 bit数据,每根数据线都必须有起始位、终止位以及CRC位,CRC位每根数据线都要分别检查,并把检查结果汇总然后在数据传输完后通过D0线反馈给主机。SD卡数据存储的工作流程如图8所示。
图8 SD卡存储工作流程图
地质勘探钻机钻探数据管理与在线监测系统基于B/S架构,在Maven工程项目中采用Spring、MyBatis、Shiro框架下的开发平台Renren-security开发了服务器后台程序。采用Token令牌的单线程通信方式,和MySQL数据库进行数据交换,搭配Vue框架设计的实现人机交互的Web浏览器操作界面。系统通过HTTP协议、TCP协议实现信息交互,使用IDEA开发工具、Node.js模型以及Vue.js框架完成了开发,采用了接口和类的编写方式,实行Java封装,极大地优化了编译过程,减少了工作量,同时实现了丰富的功能。系统具有良好可扩展性,可复用性强,功能完善、界面简约大方、便于用户前台查询和管理员后台管理维护。钻探数据管理与在线监测系统数据流向示意图如图9所示。
图9 钻探数据管理与在线监测系统数据流向示意图
使用JavaWebb技术实现系统的B/S架构,Web服务器布置Servlet,完成HTTP协议信息交互。基于JavaBean实习部分服务器后台程序,基于JSP实现Web服务器前台动态交互。应用服务器程序采用C++语言编写了TCP通信程序,通过数据驱动接口将数据存储到MySQL数据库。
本文搭建了实验系统用于验证系统深度测量和数据传输的准确度。
根据前文介绍的测量原理,实际深度测量的直接测量数据时测量仪安装位置距离地面的高度。为验证测量准确度,实验环境布设为钻孔周边为平整地面。钻机作业过程中,钻机旁边放置一个高2.5米的梯子,验证人员在梯子上用长卷尺测量测量仪离地面高度,与测量主机读数进行比较。共进行了200次实验对比,随机选取20次测量结果列于表2中。
为减少人工测量因测量人员读数严谨性造成的不准确,这200次实验对比是由20个测量人员完成,每个测量人员测量10次。表2中的20组数据为每个测量人员选取了一组数据列出来,由测量对比结果可以看到,系统测量误差小于等于1.4 cm,符合系统设计指标。
表2 选取20组测距结果对比 cm
另外,为了测试数据传输的准确程度,在测量深度准确度的同时,远程数据平台也记录了实时测量结果,与本地结果进行对比。选取与表1同样的本地系统数据,与远程采集数据对比列于表3中。
表3 选取20组传输结果对比 cm
由表3可见,传输数据准确率为100%,优于设计标准,有力的保障了测量数据的可靠传递和存储。
本文介绍了一种具有GPRS通信功能的地质勘探钻机实时孔深测量系统的设计方案。系统采用了STM32系列微处理器芯片STM32F103VET6作为主控单元,数据存储选用了金士顿64Gclass10高速SDHC卡,通过USB接口技术实现数据的存储,通过TCP/IP协议完成了与云服务器之间的数据传输,并开发了基于B/S架构的地质勘探钻机钻探数据管理与在线监测系统,实现了对地质勘探钻机工作信息的数据采集、存储与管理。系统在建筑工地进行了试验验证,数据正确率高,系统工作稳定,但工作现场泥水较多,如何做好系统样机的防护设计,达到真正实用的程度,尚需进一步研究[1-11]。