历需要小车运动25个来回,小车车轮需转113.75圈,在2min内完成遍历,轮子转一圈的时间T=0.95s,由此可知,轮子的角速度为:
??2?T,得??6.63rads,并由此推知:
???R2,得??23.2cms。
由上理论推算可知,小车的速度必须在23.2cm/s以内。若要缩短小车遍历的时间一种方法是加快小车速度,但这样会降低检测定位的准确度;另一种方法是增加线圈直径,这样需设定LDC1000寄存器RP-MIN和RP-MAX的值,确保准确检测。
3.2 探测器检测控制算法
探测器区分金属对象主要是靠探测到金属物体的时间差来达到效果。如图3-1所示。小车在运行过程中会对运行过程中碰到的金属物体进行计数,与此同时,在碰到金属物体时也会进行计时。小车从一边边框运行到另一边边框的时间一般会比较长,在这期间遇到的金属对象都认为是要寻找的目标,微控器就会下命令使小车停止,并进行声光报警;小车运行的时间正常(即大约等于从一个边框到另一个边框的时间)时,微控器就认为是到达边框,执行两个电机差速反转命令,小车就会继续向另一边边框运行,直到找到金属对象。
5
4 硬件与软件设计
4.1 硬件设计
该金属物体探测定位器由MSP430G2553作为主控器,由LDC1000采集数据,作为控制小车运动方式的依据,达到找到金属对象的目的。LDC1000支持SPI的扩展通信模式,通过保持LDC1000片选信号有效的方式,可实现对多个寄存器的访问。LDC1000与MCU的硬件原理图如图4-1所示,采用了四线制SPI连接方式,MSP430G2553通过SPI连接(SDI、SDO、SCLK、CSB)实现对LDC1000的控制,以及数据的读取。SDI为SPI数据输出口,SDO为SPI数据输入口,SCLK为SPI时钟信号输入口,CSB为从设备使能信号输入端(即片选信号输入端),INTB为中断接口,TBCLK为频率计数端口。
图4-1 金属物体探测定位器原理图
4.2 软件设计
4.2.1 主程序流程图
该系统的主要完成的任务是使自主运动探测器在金属框外以任意位置、任意方向进入金属框。紧接着就是进行检测,探测器从底边运动到对边,在这期间进行计时,如果检测到金属间隔的时间等于设定的时间,则改变探测器运动的方向继续进行检测;如果检测到金属间隔的时间小于设定的时间,即认为探测到目标,下一步就是进行精确定位。每次探测器改变运动方向之前都需要向右偏转一个小的角度,以达到探测器向右移动的目的。一般在探测器在运行过程中突然检测到目标停止,由于惯性的存在,会有一小段距离的过冲,这时就需要用软件进行修正这段过冲,从而实现精确定位。实现精确定位后,再执行最后一段程序——声光报警,整个程序运行结束。主程序流程图如图4-2所示。
6
图4-2 主程序流程图
4.2.2 检测程序流程图
检测程序主要是实现对于四种金属的检测,当RP值大于6000,并且两次检测到金属的间隔时间小于设定值时认为检测到的不是边线,则探测器停止。若是边线,则改变探测器运动方向。流程图如图4-3所示。
图4-3 检测程序流程图
7
4.2.3 进入金属框程序流程图
将探测器以任意位置放在探头进入区,探测器先向前走一小段距离,若检测到边线,则向后退调整探测器位置,进入金属框内,接着向左转测定角度,再向右转摆正车身,向左转找到底线,沿着底线走到左底角,向右转90o为检测做好准备。具体流程图如图4-4所示。
图4-4 进入金属框程序流程图
8
5 测试方案与测试结果
5.1 测试方案
整个系统的测试主要分为三部分,一是运行时间,二是定位时的精确度,三是探测到不同对象时的RP值。
运行时间的测试:当探测器进入金属框摆正位置后,开始计时,直到检测到金属对象计时结束。进行10次检测,并记录数据。
定位精确度的测试:指针定位后,测试指针指的位置到准确位置的距离,在三种对象上分别进行10次测量,并记录数据。
探测到不同对象RP值的测试:将探头靠近不同的金属对象,记录对象周围的RP值和完全检测到金属的RP值。
5.2 测试结果
首先对运行时间进行测试,测试结果如表5-1所示。
表5-1 运行时间测试结果
测试次数 测试时间/min 1 2 3 4 5 6 7 8 9 10 对定位精度进行测试,测试结果如表5-2所示。
表5-2 定位精度测试结果
次数 种类 误差值/mm 一角硬币 一元硬币 自制铁圈 1 2 3 4 5 6 7 8 9 10 对不同对象的RP值进行测试,测试结果如表5-3所示。
表5-3 RP值测试结果
种类 次数 RP值 1 2 3 4 5 6 7 8 9 10 一角硬币 一元硬币 自制铁圈
9