APP下载

基于LDC1000的智能循迹小车的设计与实现*

2018-12-24关志艳张振宇何茂荣杨晓蕾

山西电子技术 2018年6期
关键词:循迹铁丝小车

关志艳,张振宇,何茂荣,杨晓蕾

(山西大学商务学院信息学院,山西 太原 030031)

1 概述

依据2018年8月全国大学生电子设计大赛山西赛区题目—自动循迹小车,2015年、2016年的全国大学生电子大赛均有智能小车题目,区别在于循迹的依据不同,如依据黑线循迹等,刚刚结束的2018年全国大学生电子大赛是以铁丝为循迹依据。智能车控制是典型的软硬件技术的结合体,对于电子专业和物联网专业的学生而言,智能小车是一个很好的检验单片机、模拟电子、C语言等课程的实际开发例子,对于提高学生的实际动手能力有很大的促进作用[1]。

1.1 题目要求

设计制作一个自动循迹小车,由一根直径0.6~0.9 mm的细铁丝围成的跑道,小车能够识别铁丝并按时按方向跑完一圈,具体要求如下:

1) 在所规定区域小车所在的直线区任意指定一起点(终点),小车依据跑道上设置的铁丝标识,自动绕跑道跑完一圈。时间不得超过10 min。小车运行时必须保证轨迹位于铁丝垂直投影之下;

2) 实时显示小车行驶的距离和运行时间;

3) 在任意直线段铁丝上放置4个第五套人民币的1角硬币,硬币边缘紧贴铁丝,小车路过硬币时能够发现并发出声音提示。

1.2 整体框图

如图1所示,当LDC1000传感器探测到金属值实时传给单片机,多次测定弯道金属值变化范围,单片机判定金属值变化区间来给予电机驱动高低电平,进行左右转。随后,从单片机通过改变输出给驱动模块的PWM信号来对小车进行前进和转向速度进行控制。

图1 整体框图

2 方案比较、思路分析和模块选择

2.1 总体思路

总体思路:小车驱动部分采用左右电机驱动,利用万向轮的灵活性以及左右电机的转速来控制小车的左右转弯。利用LDC1000传感器来检测铁丝方向、硬币等,使小车不断按着铁丝路线进行前进,同时在LCD1602液晶显示器上进行显示行走距离与所用时间。

2.2 主控制器方案比较

方案一:选用STC89C52RC单片机。采用宏晶公司的STC89C52RC单片机作为主控制器,价格便宜,控制简单,为我们平时实验所熟用;对于单片机初学者,STC89C52RC虽然内部资源有限,但在短时间掌握其他型号单片机又不太可能[2]。

方案二:STM32单片机则是ST公司使用ARM公司的Cortex-M为核心生产的32bit系列的单片机,他的内部资源(寄存器和外设功能)较8051都要多的多,但是同学们现在的单片机掌握程度不易采用,且价格昂贵,难操作[2]。

综合考虑,自动循迹小车主控制器选方案一。

2.3 金属探测传感器模块选择

方案一:LDC1000可通过16位共振阻抗及24位电感值,在位置传感应用中实现亚微米级分辨率;提供非接触传感技术避免受油污尘土等非导电污染物的影响,可延长设备使用寿命;采用低成本传感器及传导目标,无需磁体[4]。

方案二:LDC1314是4通道12位的电感传感器,性能稳定,但是价格比LDC1000贵。

鉴于以上分析,选用方案一。

2.4 测速模块选择

方案一:选择主要芯片型号为SM100K红外对射计数器,其搭配D型孔码盘,红外对射计数器是否被遮挡光线,从而输出脉冲信号触发计数电路[5]。

方案二:采用测速发电机原理,但实现难度较大,需要将旋转机械能转换成电信号,采用电磁感应原理,对电机加以改动。

综合以上,选用方案一

2.5 电机选择

方案一:采用直流电机。直流电机转动力矩大,响应迅速,体积小,重量轻,具有优良的调速特性;调速平滑、方便、调整范围广;能满足各种不同的特殊运行要求,价格便宜[6]。

方案二:采用步进电机。步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器[6]。

综上所述,采用方案一

2.6 显示模块选择

方案一:采用LCD1602液晶显示。LCD1602液晶是我们在上单片机课程中要求学生必须掌握的一种输出设备,它可以显示32个字符,对于本参赛题目要显示的内容能够完全显示[5]。

方案二:采用LED数码管动态扫描,LED数码管价格适中,但显示的位数有限。

因此,综合考虑选用方案一。

3 系统硬件设计

3.1 左右LDC1000探测铁丝模块

该循迹小车用了两个LDC1000与主单片机连接来进行方向判断,LDC1000的原理就是电磁感应,其只需要外接一个PCB线圈或者自制线圈就可以实现非接触式电磁检测。在PCB线圈或者自制线圈中加上交变电流,线圈周围就会产生交变磁场。如果有金属物体进入磁场,将会在金属的表面产生涡流。所以当有金属物体接近时,就会使传感器的数值发生变化,对这一变化进行判断便可得知小车是否在正确的轨道上。

经过实验测定,在线圈上并联100Pf电容,再将并联出来的线连接到LDC1000的INA和INB引脚上,左LDC1000的MISO、MOSI、CSN和SCK分别与主单片机的P2.0、P2.1、P1.6和P1.7连接;右LDC1000的MISO、MOSI、CSN和SCK分别与主单片机的P3.0、P3.1、P2.2和P3.2连接,如图2所示。

图2 LDC1000引脚

3.2 测速模块

SM100K测速传感器是一款宽电压、高分辨率、短响应速度、开关量输出的测速模组,配合黑色码盘可以测量电机转速。在小车上,有两路轮子是没有加装齿轮的,通过使用D型孔码盘可以测速,如图4所示;使用20线的码盘,小车车轮直径为6.68 cm,小车车轮转动带动码盘转动,每次码盘空隙经过传感器就会输出低电平,就会有一个下降沿,传感器的OUT引脚连接主单片机的外部中断1,每个下降沿就会触发单片机的外部中断,通过对外部中断1次数计数,每20次就是一圈,从而可以计算车轮转动的圈数,进而计算出行驶距离。

3.3 电机模块

电机驱动芯片选择L293D。L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区。L293D通过内部逻辑生成使能信号。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。

3.4 整体硬件

图3 整体电路

4 系统软件设计

本小车编程主要采用C51语言来编译程序。循迹小车最重要的功能是循迹,图4是小车循迹的主要程序流程图。

5 测试方案与测试结果

5.1 测试仪器

一根直径0.6~0.9 mm的细铁丝围成的跑道,LCD1602液晶显示器,自动小车。

5.2 测试方法

通过小车行驶路线,来观察LCD1602液晶显示器上的各类数值。

5.3 测试结果

表1 LDC1000测试结果数据表

表2 循迹小车测量数据结果

图4 循迹程序流程

6 问题分析与总结

问题分析:LDC1000检测的数据不稳定,应该与线圈离地面位置、数据线接口处、电容焊接处、金属丝摆放位置等有关系,需要尽可能地固定住;红外

对射计数器测距时使用的格码盘,可以处理剩一个小格,减小计算压力。

总结:从测试结果来看,该小车系统实现了题目基本部分的要求,PWM技术能够极大地提高电动机的驱动效率,通过传感器接收模块解决了小车严格按照轨迹运行的问题,而传感器也能够精确测量小车与硬币之间的距离。从运行情况看,采用本系统设计制作的自动寻迹小车,系统可靠性较高,运行稳定,达到了设计要求;但是自动循迹的功能还需要进一步完善,使得系统更趋于智能化、人性化的特点。

猜你喜欢

循迹铁丝小车
基于DFT算法的电力巡检无人机循迹检测系统设计
大车拉小车
铁丝有多长
自制小车来比赛
铁丝的幽默世界
浅谈基于机器视觉和姿态检测的循迹智能车
刘老师想开小车
两轮自平衡小车的设计与实现
两长两短
智能差分循迹小车设计