曾宪阳1,杨红莉2,郑子超1
(1.南京工程学院 工业中心,江苏 南京 211167;2.南京工程学院 数理部,江苏 南京 211167)
摘要:智能小车稳定快速循迹一直是学者们研究的热门话题,能在直径0.8 mm左右的铁丝形成的轨迹上稳定快速循迹已成为研究的难点。选用STM32高速单片机作为控制核心,选用LDC1314结合四组电感线圈形成四路金属检测循迹传感器,根据传感器返回数据参数的不同即可识别区分金属丝与硬币,从而实现循迹与报警两种不同的任务。给出了快速循迹的算法思路。实验结果表明,设计的智能小车可以稳定快速循迹,在遇到硬币后能发出声光报警信号,并且小车能实时显示行驶速度、里程与时间。
关键词:智能小车;STM32单片机;LDC1314;金属丝;快速循迹
中图分类号:TP216+.1文献标识码:ADOI: 10.19358/j.issn.1674-7720.2016.24.029
引用格式:曾宪阳,杨红莉,郑子超. 金属丝循迹检测智能小车设计[J].微型机与应用,2016,35(24):101-104.
0引言
机器人循迹小车一直是国内近年来智能小车研究的热门课题,目前各大高等院校都在开展这方面的研究。每年的全国、省大学生电子设计竞赛以及机器人大赛等,都涉及了循迹机器人小车题型。该题型学生容易上手,控制思路明确,学生对此兴趣十分浓厚。其中机器人小车在金属丝围成的轨道上循迹是2016年新出现的研究方向,金属丝直径有0.8 mm左右,在金属丝轨道旁边还有1角硬币,要求小车在快速循迹的过程中能识别出硬币,并发出声光报警信号,同时小车不得冲出跑道。这就要求传感器不仅具有高灵敏度识别判断能力,并且控制系统还要具有较强的稳定性。基于此,本文设计了一套满足要求的金属丝智能机器人循迹小车,并且给出了一定的分析与论证。
1系统设计思路
选用STM32单片机组成最小系统电路作为主控制模块以提高控制速度;采用TI公司提供的高灵敏度传感器LDC1314来检测金属丝的位置;采用多个三极管形成H桥作为电机驱动电路;OLED液晶模块用来实时显示小车当前行驶的时间、里程、速度等信息[12],因此系统主要由控制核心模块、电机驱动模块、循迹模块、编码测速模块、按键显示模块、声光报警模块等几部分组成,系统框图如图1所示。
2硬件电路设计
2.1主控制系统模块设计
方案比较与选择:
方案一:选用目前较常用的51单片机作为控制核心进行控制。51单片机虽然比较常用,但控制速度较慢,且实际控制中对单片机片内资源要求较高,如PWM脉宽调制模块在51单片机内部并不具备,因此需要占用单片机定时器,这会造成资源短缺,所以舍弃该方案。
方案二:选用STM32F103系列单片机[35]进行控制。该方案使用时下较为流行的STM32单片机作为主控芯片,其片内集成了非常丰富的外设,非常利于资源开发,因此本方案采用STM32F103C8T6单片机作为主控芯片,设计的电路如图2所示。
2.2驱动电路模块设计
方案比较与选择:
方案一:选用L298N电机驱动模块。虽然L298N电机驱动模块比较常用,但是该方案在实践过程中发现,由于电机所需电流较大,因此L298N对电源电压的影响比较大,容易引起电源电压波动,造成其他模块的供电不稳定现象,还会引起单片机频繁复位,所以该方案不可取。
方案二:选用TB6612电机驱动模块。它是一款新型直流电机驱动器件,内部具有大电流MOSFETH桥结构,能独立控制2个直流电机的正反转,能同时提供两路足够的输出电流。它具有很高的集成度,在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件,无论在性能和体积上都占绝对优势,综合考虑选择使用该电机驱动模块。
2.3 金属丝检测电路模块设计[6-8]
方案比较与选择:
方案一:选用TI公司生产的LDC1000电路。LDC1000可用来检测金属物体,但该模块的局限性在于它为单通道器件,只能外接一个金属线圈作为传感器,要想完成循迹任务就显得力不从心,所以该方案被舍弃。
方案二:选用TI公司生产的LDC1314电路。该方案中,LDC1314同样是TI公司推出的金属检测感应线圈,相对于LDC1000来说,它具有4个检测通道,可同时外接4个感应线圈作为传感器,对于循迹来说,非常合适,能够达到循迹的目的。综合考虑选择LDC1314模块电路,设计的电路原理图如图3所示。
LDC1314通过电感线圈通入变化的电流形成变化的磁场,如果在该交变磁场中放入金属,产生的阻抗会改变该磁场数值的大小,通过检测磁场变化量的大小来判断金属是否存在,也可识别该金属的大小,从而区分铁丝与硬币。
2.4声光报警电路模块设计
选用有源蜂鸣器及发光二极管作为声光报警装置,考虑到I/O口驱动能力,单片机将以灌电流形式控制蜂鸣器发声,因此采用8550三极管作为驱动,设计的原理图如图4所示。当单片机I/O口为低电平时,蜂鸣器发声,发光二极管发光,高电平时,蜂鸣器停止发声,二极管熄灭。
2.5显示电路模块设计
显示模块选用OLED液晶显示器,可用来显示汉字、字符及图形,其体积小、重量轻、使用方便、功耗极低,采用3.3 V电压供电,便于与单片机I/O口电平匹配。其电路原理图如图5所示。
2.6计数模块电路设计[9 10]
计数模块用来实时检测小车行驶过程中的速度、里程。选用光电对管ITR9702作为传感器,结合码盘完成计数检测,由运放LM393组成比较器对检测到的波形进行整形,后经电容滤波得到脉冲信号,送给单片机计数引脚。单片机在一定的时间内通过检测脉冲信号的个数来计算小车行驶的速度,结合定时器计时即可算出小车行驶的里程,再通过显示屏实时显示出来,设计的计数测速模块电路如图6所示。
3软件程序设计
单片机软件系统要完成的任务主要包括初始化、传感器数据读取与处理、循迹控制、速度里程检测与计算、实时显示、声光报警等任务,由于传感器数据读取与处理、循迹控制任务为紧急任务,并且具有一定的周期性,因此将此任务放在定时器T0中断程序中执行,但须保证程序执行时间远远小于定时器的中断周期。考虑到数据读取与处理、循迹控制任务的执行总时间约为3 ms左右,因此定时器中断周期可选择为每隔6~8 ms中断一次。速度里程检测计算任务放在另一定时器中断中进行,实时显示及报警任务通过主程序循环调用执行,其中主程序流程图如图7所示。
4系统测试与分析
4.1硬件测试
首先使用示波器对LDC1314的起振及电感线圈的工作进行测试,LDC1314能够正常起振时方可进行下一步调试,如果不能正常工作,应当重新调整初始化参数,结合示波器观察,使其达到最佳工作效果。
4.2软件仿真测试
使用STLINK作为仿真器,当LDC1314在检测金属的有无、硬币的有无时,将检测到的数据进行对比,然后在软件中设置变化阈值,进行大概的区分判别,用以识别铁丝与硬币。
使用STLINK仿真器对电机输出的PWM波进行调试,查看PWM波变化范围是否满足需要,增减量是否符合常理,会不会出现大的波动。通过设置发现,当基础PWM(满PWM为1 000)分别设置为 220、300、400时,PWM的波动情况均符合控制要求。
4.3软硬件联调测试
通过以上测试获得LDC1314的变化阈值,将程序编译下载到单片机,手握小车,使用传感器检测铁丝和硬币,查看小车转动的变化逻辑,以及检测到硬币时蜂鸣器是否正常发声,如果不符合要求,需重新对阈值进行修改,直至满足要求为止。
4.4快速循迹算法设计与分析[11 13]
传感器与铁丝的位置情况主要有5种:4个线圈均未检测到铁丝、左边第一个线圈检测到铁丝、左边第二个线圈检测到铁丝、右边第一个线圈检测到铁丝、右边第二个线圈检测到铁丝。
如果4个线圈均未检测到铁丝,这种状态可能是左边第二个线圈刚刚偏离铁丝形成,也可能是左边第一个线圈刚刚偏离铁丝形成。如果是从左边第二个线圈偏离,那么说明是小车完全偏离了跑道,那么小车应当重复上次的运行状态。如果小车从左边第一个线圈偏离,那么说明此时铁丝正好位于两组传感器中间,这时小车可以加速行驶,加快直线循迹的速度。
如果小车在左边第二个线圈上偏离出去,此时小车应重复上一次的运行状态,并且需要做大角度转向。
如果小车正好处在左边第二个线圈上,那么一个轮子应作适当加速,另一个轮子应适当减速,进行状态校正。
如果小车在左边第一个线圈上偏离出去,那么可以认为小车属于正常状态,因此加速前进,在基础油门上,增加120个PWM占空比油门,这时可以保证极为稳定的循迹和较为快速前进。右边线圈与铁丝的位置状态分析与此类似。
图8为本文设计的循迹小车实物图,其中直径0.8 mm铁丝粘贴在黑胶带下面。
5结论
采用LDC1314四通道金属检测感应传感器对0.8 mm直径的铁丝形成的跑道进行了快速循迹,对几个模块的选型进行了比较与论证,分析了各个模块的工作原理,对循迹算法做了详细设计与分析,保证了循迹的可靠性,同时也提升了小车循迹的速度。最终结果表明,设计的循迹小车可以快速稳定地循迹,在检测到硬币时能发出报警声,而且小车在行驶过程中可实时显示行驶速度、里程与时间,满足设计要求。
参考文献
[1] 刘涛,吕勇,刘立双.智能车路径识别与控制性能提高方法研究及实现[J].电子技术应用,2016,42(1):54 57.
[2] 朱丹峰,葛主冉,林晓雷.基于 Android 平台的无线遥控智能小车[J].电子器件,2013,36(3):408 412.
[3] 王海,张李超,周伟光.基于STM32与PCAP01的激光切割头随动系统设计[J].电子技术应用,2016,42(6):52 55.
[4] 陈致远,朱叶承,周卓泉,等.一种基于STM32的智能家居控制系统[J].电子技术应用,2012,38(9):138 140.
[5] 何川,李智,王勇军.基于 STM32 的四旋翼飞行器的姿态最优估计研究[J].电子技术应用,2015,41(12):6164.[6] 李艳红,李自成,孙仕琪.基于STM32单片机的金属物体探测定位器系统的设计与实现[J].仪表技术与传感器,2016(4):63 66.
[7] 王丽君,马龙升,钟皇平,等.可自主移动的金属物体探测定位仪设计及开发[J].实验技术与管理,2015,32(5):107 114.
[8] 黄虎,汤惠.一种金属物体探测定位系统装置的设计[J].电子技术应用,2016,42(3):54 60.
[9] 康华光.电子技术基础[M].北京:高等教育出版社,2003.
[10] 单成祥.传感器的理论与设计基础及应用[M].北京:国防工业出版社,1999.
[11] 单以才,李奇林,秦剑华.基于红外传感器的自主循迹小车控制算法设计与实现[J].机床与液压,2010,38(14):79 82.
[12] 吕云芳,陈帅帅,郝兴森.基于C51高级语言程序控制的智能循迹小车设计与实现[J].实验室研究与探索,2015,34(3):143 145.
[13] 黄刚.实时修正偏移量的循迹机器人控制系统研究与实现[J].仪器仪表学报,2015,36(11):2538 2547.