基于磁场检测的通用车辆铁路平板的辅助定位系统
2020-09-24王继超冷育明王喜刚
王继超, 冷育明, 王喜刚
(31696部队技术室, 辽宁 锦州, 121000)
当前,军用装备远距离输送主要依靠铁路平板,由于履带装备宽度都超过现有铁路平板的标准宽度,指挥员在指挥履带装备上铁路平板时,难于判断准确的宽度,导致定位慢、定位难。白天装载时定位难、安全风险高,夜间基本无法完成定位和铁路装载。这一问题大大制约了部队战斗力的生成,严重影响了实战化训练。
随着传感器技术和人工智能的发展,车辆智能行驶和精确定位成为了重要的研究课题[1]。笔者借鉴智能车按轨迹行驶的控制策略,通过读取传感器检测到的车辆偏差值,显示在平板电脑上,辅助驾驶员判断读取车辆偏差量,从而修正方向。
1 系统原理与结构
铁路平板中心线布设一条导线,车头和车尾安装电磁传感器;通过电磁传感器检测通有交流信号的导线周围产生的稳定电磁信号,并通过LC选频电路进行滤波放大[2],选取有用信号,滤除多余信号,使得单片机的内部AD能够直接识别该信号并将模拟信号转换成数字信号。通过计算,单片机通过串口转Wifi模块将解算得到的偏差量以无线方式发送到Android软件客户端显示并报警[3]。以信号检测与传输延迟量小,位置检测偏差度不超过10 mm。软件客户端设计直观形象,以及结构简单,运行可靠,易于维护的系统设计原则。
1.1 电磁感应原理
根据毕奥-萨伐尔定律可知, 在长直导线中通以稳定的直流电,导线周围会感生出电磁场,其分布特点是以导线穿过圆心的一系列同心圆。磁场强度随着圆的半径增大而减小。
当铁路平板中心的导线通入按正弦规律变化的交流电时,导线周围就会产生变化的磁场[4]。在车头和车尾分别安装一组电磁传感线圈,根据电磁感应原理,线圈中会感应出与距离相对应的感应电动势[5]。感应线圈中的感应电动势ε与它距离导线的不同水平距离x之间的关系如图1所示。
图1 感应电动势ε与距离x之间的关系Fig. 1 Relationship between electromotive force ε and distance x
根据麦克斯韦电磁场理论,铁路平板中心线通过的交变电流会在导线在周围感生出交变的电磁场。将线圈放置于该交变电磁场中,就能在线圈中感应出感应电动势。
根据法拉第电磁感应定律,感应电动势
(1)
式中:n——线圈匝数;
Φ——磁通量;
t——时间。
文中选择了电感为10 mH,电容为6.8 nF的LC选频电路,将传感器放置于车头前方10 cm处,距离导线的高度可以调节,调节范围为5~15 cm,则感应电动势为
(2)
式中:l——传感器与导线水平距离;
θ——传感器与导线的夹角;
h——传感器与导线高度。
1.2 偏差测量原理
车辆行进过程中偏离中心导线的值,可通过式(2)反推出来。为了提高测量精度,判断出车辆偏差的方向,在实际运用中,采用了多个电磁传感器组成阵列,不同位置的传感器,感应出的电动势大小和方向也不同。
车辆与铁路平板中心线的位置关系如图2所示。车头前方为传感器阵列。每两个电感为一组相互垂直,共五组,一字排列。
图2 车辆与铁路平板中心线的位置关系Fig. 2 Indication of position relationship between rolling stock and center line of railway flat plate
假设车体偏移中心导线的夹角为α,水平偏离中心线的值为d。设每组线圈中,前端线圈的感应电动势εq,后端线圈的感应电动势为εh,车体偏移中心导线的夹角为α,可由1号线圈所感应的电动势计算得出
(3)
在排列上,2和3号线圈同导线成45°夹角,用以判断α值的正负,即车头偏离的方向。哪个线圈感应到的电动势大,就以哪个线圈作为判断方向的依据。以2号大于3号为例,当εq/εh>1时,α处于第二象限,车头偏左;当εq/εh<1时,α处于第一象限,车头偏右。3 号线圈的判断方法与2号线圈相反。
车头偏离导线的水平距离,可由1号线圈的感应电动势计算得
(4)
4号和5号线圈用来判断d值符号,左负右正。
1.3 系统结构
系统控制器模块采用AVR单片机,它能够定时采集分布在车头和车尾的电磁传感器阵列检测到的位置误差信号,利用自身的A/D转换功能,将模拟信号转化为数字信号进行运算处理[6]。系统电源模块将车辆电瓶电压调整到系统需要的电压,供各个模块使用。通信模块采用串口转Wifi模块实现无线通讯。人机交互模块采用Andriod客户端接收单片机发来的信号并显示。系统结构如图3所示。为实现精确定位,在车头和车尾分别布设4组电磁传感器,传感器成一字型对称分布在导线两侧。
图3 系统整体结构原理Fig. 3 Principle of overall structure of system
2 硬件设计
2.1 滤波放大器模块
电磁传感器模块共由三部分组成,LC选频电路、信号放大电路以及滤波电路,如图4所示。由于铁路平板中心线架设的导线中通过的是20 kHz的变化电压,经过计算,选择10 mH工字电感和6.8 HF的校正电容作为LC选频电路的器件。文中选择了0PA2350作为放大电路的运放芯片,对LC选频网络的输出电压信号进行放大。0PA2350具有38 MHz的通频带宽,轨到轧的输入输出特性,低电压偏移特性,完全能够满足系统信号处理中的小信号放大应用。
图4 滤波放大电路Fig. 4 Filter amplifier circuit
2.2 控制器模块
系统控制器采用ATmega16 单片机。AVR单片机拥有八路A/D转换接口,能够同时采集八路信号进行模数转换[7]。采用外部晶振时钟,确保通信的实时性。ATmega16具有丰富的I/O接口,驱动能力强。与串口转WiFi模块相连可以实现无线数传,也可以直接通过串口同其他设备相连进行通信。其核心电路如图5所示。文中综合考虑了通信的实时性和设备布线安装的便捷性,采用了串口转WiFi模块与安卓客户端实现通讯[8]。
图5 单片机最小系统Fig. 5 Minimum system of single chip microcomputer
2.3 电源模块
电源模块采用车辆装备自身的电瓶来供电,通过降压得到7.2 V的电压输出,如图6所示。根据不同的模块供电需求,主控板上还需要3.3 V电源和5.0 V电源[9],其中单片机和传感器对供电电压的要求较高,因此,采用了低压差线性稳压器件TPS7333作为单片机和传感器的供电电源。其他电路采用AMS1117为各模块提供所需的3.3 V和5.0 V电源[10]。
图6 电源模块Fig. 6 Power module
2.4 人机交互模块
通过开发基于Android系统的APP安装在平板电脑上,能够实时接收单片机串口转WiFi发送来的数据并显示出来[11]。APP的设计上既有图形的表示,也有数据的显示,同时提供偏差量过大报警,能够直观显示出车辆装备的车头和车尾的偏差量。
3 系统软件
3.1 单片机程序设计
系统主程序流程图如图7所示。加电后主程序初始化I/O端口,初始化串口、定时器、AD转化。而后打开串口接收中断使能,判断检查各路电磁传感器传来的数据并进行AD转换和相应的计算[12]。最后将计算出来的四路偏差值通过串口转WiFi发送到Android软件客户端显示。
图7 单片机主程序流程Fig. 7 SCM main program flow
3.2 卡尔曼滤波器
经滤波放大电路出来的电压信号,被送入单片机AD转换通道,电压信号已被硬件电路滤波,仍然存在一些纹波。信号进入单片机AD转换通道后转变为0~4 095的数值,数据波动较大,需要加入软件滤波及归一化处理。
卡尔曼滤波算法能够对输入的有噪声的测量数据进行处理,求取真实信号[13]。
采用定时器来对数据进行周期性的采集,每进一次中断采集一次数据,并进行卡尔曼滤波。具体的C程序实现如下:
for( num=0; num<6;num++)
{
Ap[num] = Last AP[num] + AQ[num];
AK[num] = App[num]/(App[num]+AR[num]);
Kalman ACC[num]=
LastACC[num]+AK[num]*(ADValue[num]-Last ACC[num]);
Last ACC[num] = Kalman ACC[num];
Last AP[num] = (1-AK[num])*App[num];
LastAK[num]=AK[num];
}
六个通道各自的五组数据,采用冒泡排序的方法,取中间的三组算得平均值,作为一个数据。调用周期为1 ms。具体实现:
for(j=0;j<5;j++)///采样五次
{
Kalman_Filter();
for(i=0;i<6;i++)
{
ADValue_temp[i][j] = KalmanACC[i];
}
}
for(i=0;i<6;i++) ////冒泡排序
{
for(j=0;j<4;j++)
{
for(k=0;k<4-k;k++)
{
if(ADValue_temp[i][k]>ADValue_temp[i][k+1])
{
temp = ADValue _temp[i][k];
ADValue_temp[i]k]=ADValue_temp[i][k+1];
ADValue _temp[i][k+1]=temp;
}
}
}
}
for(i=0;i<6;i++)
{
ADSum[i]=ADValue_temp[i][2]+ADValue_temp[i][3]+ ADValue_temp[i][4];
ADtemp[i]= ADSum[i]/3;
}
3.3 Android客户端软件
主界面比较简洁直观,中间是模拟铁路平板图形和平板中心线,显示车辆前后安装传感器的位置A和B,如图8所示。四个数据显示框,分别显示WiFi接收到的表示车辆四个轮胎偏离中心线的数值,其上面的指示灯可作为报警提示,当偏离量超过1 cm时,报警灯点亮。
图8 Android软件客户端界面Fig. 8 Android software client interface
使用基于TCP协议的socket通信[14]。串口WIFI模块配置成TCP Service模式,然后Android软件连接串口WIFI模块的热点,客户端作为TCP client连接。连接成功后可以相互发送数据,如图9所示。
图9 软件客户端通信流程Fig. 9 Software client communication flow
打开平板电脑上的WiFi功能,搜索单片机串口转WiFi模块热点。打开设计好的APP,输入IP地址和端口号,即可登录单片机串口转Wifi模块的服务器[15]。因此AndroidManifest.xml文件中要添加Wifi权限。
修改MainActivity.java,给socket套接字进行初始化,socket = new Socket(IP, port),完成socket连接服务器[16]。新建线程,用dataInputStream.read()接收数据,并通过handler机制更新四个EditText控件的文本内容为最新的传感器数据。
4 系统测试与验证
系统测试环境分为在实验室进行和模拟铁路平板的平坦道路上进行。实验室测试主要对电磁传感器按照预定的方式进行排列分布,放置在车头前方10 cm处,距离地面高度可以调节,调节范围是5~15 cm。分别对不同的高度下,对比分析了传感器的测量精度[17]。表1给出了系统测试的主要参数。
表1 系统测试的主要参数Table 1 Main parameters from system test
测试过程中,通过改变传感器距离地面的高度,发现传感器架设的高低直接影响其检测偏差的精度,传感器距离地面越近,检测的电磁信号越稳定,位置误差越小。因此,在条件允许的情况下,尽量使传感器接近于导线。
模拟铁路平板的平坦道路测试主要利用实车进行安装调试,道路宽度3 m,长度20 m,道路中央布设一条通以20 kHz的交变电流直导线。车辆装备选用解放CA1121J运输车,在车头和车尾中央分别安装一组传感器模块。结合实装,为提高检测精度,将传感器架设在距离地面5 cm的高度。
实车安装测试主要对单片机同Andriod客户端通信情况进行测试。对比分析串口转Wifi模块、串口-串口两种通信方式的通信效果。通过测试发现,两种通信方式都能够实时将偏差信号传输到位,差别不大,都能够满足文中所设计的系统要求。因此,为减少布线难度,提高便携性,采用无线通讯的方式。
5 结束语
提出了以电感线圈为传感器的车辆装备铁路平板辅助定位装置,给出了电磁传感器的对称直线型分布方式,最大限度地提高了磁场检测的精度。控制系统选用了AVR单片机ATmega16,将采集到的信号经滤波电路滤波之后,送入单片机进行模数转换。虽然在数据传送上稍有延迟,但经过测试发现,由于车辆上平板时速度较慢,基本不影响定位精度。人机交互选用基于Android的手机客户端,驾驶员可以将手机固定在驾驶室,打开软件就能直观的显示出车头和车尾偏离中心线的数据。
基于磁场感应的铁路平板辅助定位装置,能够安全、直观、有效的保证通用装备上下铁路平板的需求,不但能够提高定位速度和精度,还能辅助装备在夜间铁路装载,解决了通用装备铁路输送的快速性和隐蔽性问题。