一种基于MSP430单片机磁导航传感器的设计
2018-10-20杜林玉卫蒙马凯
杜林玉,卫蒙,马凯
(西安石油大学电子工程学院,陕西 西安 710065)
关键字: AGV; 磁带导航;磁导航传感器;线圈一维矩阵;偏差数据
AGV是一种新型、高效、准确、灵活、快速、智能的物流搬运手段,具有无需人工参与、单次负载量大、可随着生产工艺流程的调整而及时调整相应的搬运路线等特点,能够大大提高企业的生产柔性和竞争力,在制造行业、电子行业、汽车行业、物流行业、烟草行业等领域得到了广泛应用,目前导航方式以磁带导航、激光导航、惯性导航等为主[1-2]。其中激光导航方式建设成本高、系统维护较复杂、对环境的要求较高;惯性导航定位准确性高,灵活性强,但其制造成本较高,导引精度和可靠性依赖于陀螺仪的使用寿命。本设计采用磁带导航方式,是在路面上贴磁条,通过磁带感应信号实现导引,其定位准确、导航灵活性好、成本低、精度高[3]。
磁带导航传感器可以提供232、485、CAN等总线形式的数据接口,也可提供直接对应比特的0C门输出并口,其中并口方式具有简单高速等优点,但是并口要求AGV控制器必须提供足够多的IO口。目前,针对控制器输入口资源缺乏的情况可以利用并串转换电路的方法解决,本设计的方案是通过传感器自身的控制器采集感应矩阵数据并经过运算处理直接向AGV控制器提供偏移数据,AGV小车控制器直接根据它做出纠偏动作[4]。这样简化了AGV小车控制器的算法。
磁导航传感器感应部分有采用霍尔传感器、磁阻传感器等,其中霍尔传感器组成一维阵列将外部的磁场变化直接转换成电压形式,采用并口输出,要实现更佳的检测精度需要更多的霍尔传感器和I/O口,并且霍尔传感器使用过程中会产生温度漂移,对传感器的稳定性有一定的影响[5]。本文介绍的磁导航传感器只需要AGV控制系统提供2个I/0口,并且至少可以检测5 mm的横向偏移。本文将从原理,硬件组成、下位机的算法设计三个方面来介绍该磁导航传感器。
1 磁导航传感器的原理
磁信号导航作为AGV主要使用的一种导航技术,具有信号源稳定,导航精度高、功耗低、响应速度快等特点。由于磁信号导航AGV的信号源主要是磁信号源,磁信号传感器检测到磁信号对当前的AGV的状态进行判断,并计算出AGV的坐标,比较实际轨迹个期望轨迹的偏差。判断是往左还是往右偏移。磁带导航中磁条或磁钉正上方对应的磁场强度更强,当其感应到磁场强度最大的点是传感器的中点时,就证明AGV没有偏移,其他情况都说明AGV小车发生了偏移[6]。
传感器感应外磁场的模块是由28个电感线圈间隔5 mm按行排列组成。当穿过线圈的磁通量发生变化,线圈周围磁感应强度和磁场强度发生变化,进而导致了线圈磁芯材料磁导率发生变化,产生了公式(1)的可逆磁导率,磁导率与电感值成正比[7],又已知LC振荡原理中,电感值与振荡频率成反比关系,见公式(2)。
根据LC振荡原理,将感应模块感应到的磁场强弱转换成最终正弦波频率的大小,传感器控制器经过运算分析通过模拟量输出表示AGV小车的相对于磁条或磁钉的偏移量。数字量输出表示传感器感应到了磁带或者磁钉的静磁场。
2 磁导航传感器硬件设计
2.1 系统总体框图
磁导航传感器系统框图如图1所示,由线圈感应阵列模块、信号处理模块、超低功耗的MSP430系列的微处理器、采用RS485的数字通信方式构成微处理器和PC之间的通信模块。
图1 磁导航传感器系统框图Fig.1 Block diagram of magnetic navigation sensor system
2.2 线圈感应阵列
线圈阵列中每个线圈以5 mm的间距排成一行,线圈感应阵列感应由磁条或磁钉产生的弱磁场,其中线圈的选取和线圈排列的方式直接决定了传感器的稳定性和精度。通过比较市面上的磁芯材料,其中铁镍合金其有较高的磁导率、低矫顽力、低损耗等特性,在中高频频段时,铁镍合金的磁性能更稳定,损耗更小,由于线圈一维阵列依次排列非常紧凑,要求线圈体积小,设计一种工字形线圈,其中磁芯材料选取0.2 mm的铁镍合金带材,比市面上可买到的工字形磁芯体积更小、性能更优,为提高磁导航传感器的稳定性和感应精度打下了坚实的基础。
2.3 信号处理模块
信号处理模块包括振荡电路、滤波电路、信号放大电路、自动增益电路等,目的在于将变化的电感量转换成正弦波的频率值以供传感器的控制器运算和处理,其中振荡电路如图2 所示,结合计算公式(2)可知电感和频率成正比,通过测量频率值的大小来观察由外磁场强度变化引起的线圈电感值的变化。
在磁钉或者磁条形成的磁场中,利用LC电路的振荡频率的变化依据实验对应关系获得磁场的相对位置。通过实验确定最佳的起振频率和满足起振条件的各原件的参数范围和变化规律。通过研究增量电感与外界环境磁场变化的关系,获得频率和幅值按一定规律变化的正弦波,用于处理和分析。LC振荡电路主要有三点电容式、三点电感式等电路,这里选择三点电容反馈式振荡电路。振荡电路如图2所示,主要参数有Q29、C1、C2、Q1。
2.4 磁导航传感器的控制器模块
图2 振荡电路Fig.2 Oscillating circuit
TI公司的低功耗MSP430单片机的CPU采用16位精简指令系统,集成有16位寄存器和常数发生器可实现最佳的性能,提高了指令执行的速率和效率,增强了单片机的实时处理能力;另外丰富的寄存器资源和内部存储空间,使CPU可以实时保留更多的有效数据。MSP430单片机不仅可以应用于许多传统的单片机应用领域,如仪器仪表、自动控制、消费品领域,更适合用于一些电池供电的低功耗产品,如能量表、手持式设备、智能传感器等[8-10]。
2.5 通信模块
通信模块采用RS485串口通信[11-12],在磁导航传感器出厂前和使用时故障检查时使用,传感器的两个关键数据,一个是初始频率,一个是模拟量输出。由于每个传感器感应阵列模块线圈参数会存在不一致性,故而实际的每个传感器阵列的初始频率是不同的,为了减少误差,通信规约里设置频率校准命令,得到并保存阵列中每个线圈所振荡的初始频率值以供下位机软件分析[13-14];模拟量输出是直观反映小车的偏移的关键量,所以对传感器的数模转换模块进行校准至关重要,通过最小二乘法等算法校准至输出电压误差在千分之一左右;通讯规约中的运行状态检查命令可以在传感器使用过程中实时检查传感器的运行状态,用于传感器的故障分析等。通信模块相当于传感器的监控模块。
3 下位机软件设计
磁导航传感器使用MSP430系列微处理器,软件选用底层汇编语言,软件设计需要考虑两点问题[15]:一是测量精度,要求传感器至少达到5 mm的检测精度;二是在满足测量精度要求的前提下降低反应时间,提高灵敏度。
数据处理软件设计分为两步介绍。第一步,将磁导航传感器感应模块和信号处理模块得到的标准方波进行测频法测量,采用TB0捕获中断测频,并且为适应不同频率波段的测量,添加了频率分频器。待测量频率为中高频,通过对频率的分频,可以测量到更小的频率变化,经过实验选用十六分频的测频方法比较合适。这样提高了测频精度;第二步,将采集到的频率值进行运算和分析,设计算法得出准确的小车偏移量。利用单片机的DA模块输出代表AGV小车偏移的模拟量。输出对应的数字量表示有无静磁场。
3.1 数据采集软件设计
由于在数据采样时,传感器会受到外界磁场等的干扰,数据会出现不必要的波动。采用多次测量求取平均值的方法获取阵列中每个点的采样值。但是多次测量考虑到中断数量增多,反应时间会延长。在频率的分频和频率的采样方案两方面得到最优的采样方案。频率的分频虽然可以可以测量到更小的频率变化量,但是分频后的正弦波周期随着分频倍数越大更长,也延长我们的数据采样时间,根据设计需要,大量实验得出采用是十六分频和就奇偶测量可以满足要求。下边介绍三种备选采集数据方案:
通常情况下均采用各个阵列点依次采样的方法,但有大部分的采样周期是不必要的,为了减少采样时间,设计出了奇偶测量和隔三测量。奇偶测量,顾名思义就是每次采样不是奇数点采样就是偶数点采样,比第一种方案节省了一半的时间。设计中采用奇偶采样方案。隔三测量按照1、4、7、10、13......的采样点进行采样,下一次采样为2、5、8、11......由此递推,每次采样结束后找到最大值的采样点,选取采样点周边6个点进行精准测量得到最值点,此方案理论上比前两个方案更加简便。但需要大量的实验验证。
3.2 传感器输出软件设计
传感器输出的模拟量对应小车的偏移量,模拟量和偏移量曲线图如图3所示AGV小车控制器可以根据模拟量进行简单算法得到小车偏移量并作出相应的纠偏动作。
图3 输出曲线图Fig.3 Output curve
传感器控制器采集到感应阵列的频率数据后,先与校准频率比较,频率差的大小与感应磁场的大小成正比,磁条/磁中心的磁场强度最大,引起的正弦波频率的变化也越大。通过寻找频率变化的最值点来寻找磁钉/磁条的N级点。得到AGV小车的偏移量,其中Y0指数字量输出。Y0低电平表示传感器感应到了静磁场。图4为传感器输出流程图。
图4 传感器输出流程图Fig.4 Sensor output flow chart
4 结论
经过大量的实验,验证了磁导航传感器的感应偏差的能力,基本符合要求的感应精度和反应时间,当传感器感应到偏移时,传感器输出模拟量和数字量表示偏移量,AGV小车控制器仅需采样两个I/0口的数据便可获取小车自身垂直于运行方向的偏移量,进而根据偏移量进行纠偏任务。既避免了传感器并口输出对I/0口的占用,也避免了串口输出导致的低采样效率。