权利要求书1、基于神经网络模型BP 算法的嵌入式矿压检测方法,其特征在于:基于uC/OS 嵌入式技术,采用多路振弦式压力传感器检测待检测区域的压力大小,并采用内嵌uC/OS 操作系统的ARM7处理器对多路振弦式压力传感器进行实时监测,然后在ARM7处理器中采用神经网络BP 算法对振弦式压力传感器采集的待检测区域的压力数据进行温度补偿,包括以下步骤:(1)根据待检测区域的地域情况,采用多个振弦式压力传感器分别检测不同待检测区域的压力大小,同时每个振弦式压力传感器附近分别配置温度传感器进行温度测量;(2)在所述ARM7处理器中,内嵌uC/OS 操作系统,并在操作系统中创建多个系统任务,用来实时管理系统各个模块功能的实现,其中包括振弦式压力传感器与CPU 的通信任务;(3)在步骤(2)中所创建的振弦式压力传感器与CPU 的通信任务中,控制CPU 输出一个固定在某一频率范围内的脉冲信号,所述脉冲信号经过电流驱动放大电路,从而再进入激振电路产生一个能对振弦式压力传感器内部振弦起振的信号并输出至振弦式压力传感器;然后通过ARM7处理器对振弦式压力传感器起振并采集待检测区域压力后返回的脉冲信号进行频率测量,通过振弦式压力传感器返回的脉冲信号中振弦达到共振时的频率和参考频率,以计算出此时振弦式压力传感器所对应测量的待检测区域的压力大小,所述待检测区域的压力大小通过如下公式计算出来:)(20211f f K F -=,式中F 1为振弦式压力传感器中振弦的张力,即为待检测区域的压力大小,K 为振弦式压力传感器的灵敏系数,f 1为张力变化后的振弦式压力传感器振弦达到共振时的自振频率;f 0为振弦式压力传感器振弦的参考频率,一般产品提供此系数。
(4)采用温度传感器采集各自对应的振弦式压力传感器振弦周围区域的温度数据,在ARM7处理器中采用BP 算法建立神经网络模型,结合用神经网络模型对步骤(3)计算得到的待检测区域的压力数据以及各个温度传感器采集的温度数据进行学习,并根据神经网络模型找出待检测区域压力随温度的变化规律,最后对步骤(3)中计算得到的待检测区域的压力F1进行温度补偿,补偿公式如下:=F+Fa2,1其中F2为修正后的待检测区域的压力大小,F1为步骤(3)计算得到的待检测区域的压力,a为压力修正系数。
2、根据权利要求1所述的基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:所述温度传感器为单总线数字温度传感器,振弦式压力传感器的频率数据、温度传感器实时采集的数据分别送入ARM7处理器中进行处理并显示。
3、根据权利要求1所述的基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:所述ARM7处理器中采用内嵌的uC/OS操作系统进行多任务实时管理。
4、根据权利要求1所述的基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:所述ARM7处理器通过BP算法设计神经网络模型,由ARM7处理器采集得到的振弦式压力传感器的频率计算得到的待检测区域的压力值和温度传感器采集的温度值进行自动补偿算法计算,对待检测区域的压力大小进行实时补偿。
说明书基于神经网络模型BP算法的嵌入式矿压检测方法技术领域本发明涉及矿压检测方法领域,具体为一种基于神经网络模型BP算法的嵌入式矿压检测方法。
背景技术随着科学技术的不断提高,近年来煤矿的开采规模不断扩大,开采的深度不断加大,矿山压力所显现的灾害也愈加明显,如顶板冒落、冲击矿压、巷道变形等频繁发生,这些灾害都造成了重大损失,严重危害了生命安全并影响了煤矿生产。
对于矿山的各种压力进行实时监测,能有效的预防重大事故的发生,具有重大的意义。
如果能建立一个系统、全面的矿山压力实时监测系统,就可以对煤矿安全生产进行有效监控,并有效地预防和减少安全生产事故的发生。
矿山压力实时监测技术及设备的开发,是坍塌事故的重要防线和保障措施。
目前国内外都已经发展了人工智能化检测,如采用单片机控制的振弦式压力传感器的方法来检测,在仪器的测量精度和范围等方面有了较大的提高,但这类仪器的主要问题是易受干扰,实时性、检测精度不够好,以及单台设备的大量布点而导致整个监测系统的造价过高,限制了其应用范围。
发明内容本发明的目的是提供一种基于神经网络模型BP算法的嵌入式矿压检测方法,以解决现有技术检测方法易受干扰,实时性差,精度低的问题。
为了达到上述目的,本发明所采用的技术方案为:基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:基于uC/OS 嵌入式技术,采用多路振弦式压力传感器检测待检测区域的压力大小,并采用内嵌uC/OS操作系统的ARM7处理器对多路振弦式压力传感器进行实时监测,然后在ARM7处理器中采用神经网络BP算法对振弦式压力传感器采集的待检测区域的压力数据进行温度补偿,包括以下步骤:(1)根据待检测区域的地域情况,采用多个振弦式压力传感器分别检测不同待检测区域的压力大小,同时每个振弦式压力传感器附近分别配置温度传感器进行温度测量;(2)在所述ARM7处理器中,内嵌uC/OS 操作系统,并在操作系统中创建多个系统任务,用来实时管理系统各个模块功能的实现,其中包括振弦式压力传感器与CPU 的通信任务;(3)在步骤(2)中所创建的振弦式压力传感器与CPU 的通信任务中,控制CPU 输出一个固定在某一频率范围内的脉冲信号,所述脉冲信号经过电流驱动放大电路,从而再进入激振电路产生一个能对振弦式压力传感器内部振弦起振的信号并输出至振弦式压力传感器;然后通过ARM7处理器对振弦式压力传感器起振并采集待检测区域压力后返回的脉冲信号进行频率测量,通过振弦式压力传感器返回的脉冲信号中振弦达到共振时的频率和参考频率,以计算出此时振弦式压力传感器所对应测量的待检测区域的压力大小,所述待检测区域的压力大小通过如下公式计算出来:)(20211f f K F -=,式中F 1为振弦式压力传感器中振弦的张力,即为待检测区域的压力大小,K 为振弦式压力传感器的灵敏系数,f 1为张力变化后的振弦式压力传感器振弦达到共振时的自振频率;f 0为振弦式压力传感器振弦的参考频率,一般产品提供此系数。
(4)采用温度传感器采集各自对应的振弦式压力传感器振弦周围区域的温度数据,在ARM7处理器中采用BP 算法建立神经网络模型,结合用神经网络模型对步骤(3)计算得到的待检测区域的压力数据以及各个温度传感器采集的温度数据进行学习,并根据神经网络模型找出待检测区域压力随温度的变化规律,最后对步骤(3)中计算得到的待检测区域的压力F1进行温度补偿,补偿公式如下: a F F +=12,其中F 2为修正后的待检测区域的压力大小,F 1为步骤(3)计算得到的待检测区域的压力,a 为压力修正系数。
所述的基于神经网络模型BP 算法的嵌入式矿压检测方法,其特征在于:所述温度传感器为单总线数字温度传感器,振弦式压力传感器的频率数据、温度传感器实时采集的数据分别送入ARM7处理器中进行处理并显示。
所述的基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:所述ARM7处理器中采用内嵌的uC/OS操作系统进行多任务实时管理。
所述的基于神经网络模型BP算法的嵌入式矿压检测方法,其特征在于:所述ARM7处理器通过BP算法设计神经网络模型,把根据振弦式压力传感器的频率数据计算得到的待检测区域的压力值和温度传感器采集的温度值进行自动补偿算法计算,对待检测区域的压力大小进行实时补偿。
本发明首先根据根据待检测区域的地域情况,如综采工作面支架工作阻力监测、围岩顶板运移监测、锚杆锚索载荷监测和煤岩体应力监测等,选用不同的振弦式压力传感器;然后根据系统任务个数建立相应的进程,充分考虑到uC/OS 操作系统建立任务个数的饱和性的同时,扩大了检测范围;最后在建立的振弦式压力传感器与CPU的通信任务中,控制CPU输出一个固定在某一频率范围内的脉冲信号,并经过电流驱动放大电路,从而再进入激振电路,产生一个能对振弦式压力传感器内部振弦起振的信号,同时使用ARM7处理器对振弦式压力传感器返回的脉冲信号进行频率测量,根据振弦达到共振时的频率,通过公式计算出此时待检测区域的压力大小;然后ARM7处理器得到温度传感器采集的振弦附近的温度,再通过BP算法设计神经网络模型,把由ARM7处理器采集到的振弦式压力传感器频率数据计算得到的待检测区域的压力值和温度传感器采集的温度值进行自动补偿算法计算,对计算得到的待检测区域的压力大小进行实时补偿,更加保证了系统测量的准确度。
本发明从ARM7处理器检测压力值的软件结构进行考虑,充分发挥嵌入式实时操作系统以及通过BP算法设计神经网络模型的温度补偿算法的优点。
本发明方法简单易行,便于实现,设备安装简单,使用寿命长,同时ARM7处理器检测传感器的是频率信号,从根本上就可以消除干扰的影响;采用ARM 内嵌uC/OS操作系统进行多任务实时管理,通过BP算法设计神经网络模型对温度进行补偿,从而大大提高了测量的准确度。
附图说明图1为本发明所采用的检测装置系统框图。
图2为本发明矿压预测原理框图。
图3为本发明内嵌uC/OS操作系统的ARM7处理器建立神经网络模型的系统框图。
具体实施方式如图1所示。
本发明系统采用先进的支持实时仿真和嵌入式跟踪的32/16位的ARM7TDMI-STM CPU的处理器作为系统的核心处理器,一方面采集振弦式压力传感器和温度传感器的数据,通过内部的算法进行计算,得出补偿过的压力数据;另一方面将压力数据传送给计算机。
其中多路选择开关的作用是分时选择单个振弦式压力传感器,以保证系统资源的合理利用以及增多传感器个数以加大区域监测范围,井上监测主机采用以太网完成和本地检测辅助与本地数据库服务器的数据通讯;本地数据库服务器为远程客户终端提供WEB游览器服务,以方便实现管理人员随时随地及时了解当前压力监测数据。
1、嵌入式任务建立及资源分配使用uC/OS操作系统完成任务时,首先要建立任务,根据每个任务的使用堆栈内存情况以及优先级的高低从而建立相应的任务,合理的管理任务及分配资源是任务初始化的核心,如下所示:V oid task_init(){OSInit ();OSTaskCreate (Task0,(void *)0, &Task0Stk[Task0StkLengh - 1], 2);OSTaskCreate (Task1,(void *)0, &Task1Stk[Task1StkLengh - 1], 3);OSTaskCreate (Task2,(void *)0, &Task2Stk[Task2StkLengh - 1], 4);OSTaskCreate (Task3,(void *)0, &Task3Stk[Task3StkLengh - 1], 5);OSStart ();}根据实际情况需求,本发明创建的任务Task0是本发明通过多路选择开关选择振弦式压力传感器并开启计数器、定时器采用捕获模式测量频率大小,从而计算出采集的压力值,所以本发明选用最高优先级,且定义任务Task0StkLengh的堆栈长度为128;Task1是对数字温度传感器的采集,优先级低于Task0,由于任务量小从而定义任务Task1StkLengh的堆栈长度为64;Task2是针对Task0和Task任务采集的数据通过本任务设计BP算法的神经网络模型,对采集的数据进行预测和温度补偿,最终计算出高精度的压力数据,由于本模块是本发明核心部件且计算量大,从而本发明对Task2StkLengh 的堆栈长度为300;最后,通过Task3来管理网口数据的传输,此任务优先级最低,Task3StkLengh 的堆栈长度为200。