J I A N G S U U N I V E R S I T Y 蓝牙智能小车专业:测控技术与仪器班级:测控1301小组成员:何凯旋学号:1123 10 152016年 4月目录摘要 (1)第一章蓝牙智能小车简介 (2)第二章蓝牙智能小车机械结构 (3)第三章蓝牙智能小车电路 (5)3.1系统原理框图 (5)3.2 电机驱动模块 (5)3.3 信号检测模块 (6)3.3 主控电路模块 (6)第四章蓝牙智能小车软件结构 (8)4.1 主程序程序图 (9)4.2循迹流程图 (10)4.3 红外避障流程图 (12)4.4遇到的困难和解决办法 (15)第五章心得体会 (17)致谢 (17)摘要智能车辆作为现代社会的新产物,以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备,智能小车的研究和开发正成为广泛关注的焦点。
这次创新课程,我们小组主要对蓝牙智能小车进行设计,利用了循迹传感器实现了循迹功能,利用红外传感器实现了避障功能,并将循迹和避障功能结合起来,完成了小车循迹跑一周并避障。
关键词:蓝牙智能小车循迹传感器红外传感器循迹避障功能第一章蓝牙智能小车简介机器人可以分为三部分——传感器部分、控制器部分、执行器部分。
控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。
好比人的大脑。
执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。
对机器人小车来说,最基本的就是轮子。
这部分就好比人的四肢一样。
传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。
好比人的眼睛、耳朵等感觉器官。
无线部分:用蓝牙从机的TTL接口接收信号反馈给单片机,还可以通过电脑的无线局域网网卡来控制路由器的TTL 串口来控制单片机的状态。
由于蓝牙模块容易得到且接口方便,电压可以用+5V 控制,携带方便,便于在小车上安装。
电机驱动:电机驱动需要大电流,较高的电压,考虑到单片机的负载能力,用L298N驱动模块来驱动电机,单片机输出逻辑信号控制L298N模块输出正反向电压,由此控制电机的正反转。
第二章蓝牙智能小车机械结构智能小车的机械结构主要由四部分组成:电源系统、电机驱动、主板系统和系统板系统。
下图具体介绍了小车各部分结构。
轮胎舵机稳定电源车灯控制接口红外发射器电源显示灯寻迹传感器四个红外接收传感器下载成功显示灯单片机蜂鸣器充电状态显示灯以下是主要部件的主要功能和用途:一、循迹传感器:一般用来识别黑白线,小车沿着这条黑白线行走,就需要循迹传感器原理:循迹传感器通常采用红外的方式,红外管发射出来的红外光通过地面(白色)反射回来,在接收管理收到信号,一旦碰到黑线,那么红外光都被吸收,接收管没有接收到信号,从而得知传感器是否压线:从而调整小车运行方向。
二、单片机或者微处理器:主要承担将软件部分所编好的程序加载到小车中,使小车可以按照自己的思路做出相应的变化。
三、舵机:它由外壳、电路板、无核心马达、齿轮与位置检测器所构成。
其工作原理是由接收机发出讯号给舵机,经由电路板上的 IC判断转动方向,再驱动无核心马达开始转动透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。
位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。
四、红外传感器:基本原理是利用物体的反射性质。
因为在一定范围内,如果没有障碍物,发射出去的红外线,因为传播距离越远而逐渐减弱,最后消失。
而如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头。
传感器检测到这一信号就可以确认正前方有障碍物,并送给单片机,单片机通过输入内部的算法,协调小车两轮工作,从而完成躲避障碍物动作第三章蓝牙智能小车电路3.1系统原理框图小车是以STC12C5A60S2为主控制器。
开始由电脑或者手机发送蓝牙无线信号来启动并复位小车,由超声波传感器或红外光电传感器进行障碍检测,通过单片机控制小车行驶、显示、避障和调速。
智能车使用4WD驱动,以提高整车运动的平稳性;在智能车进驶过程中,采用双极式H型PWM脉宽调制技术实现快速、平稳地的调速;通过红外光电传感器实现自动避障,自动循迹等功能;最后通过蓝牙无线传输功能将智能车的行驶信息实时地传送给上位机,以实现实时监控功能。
当然也可通过蓝牙无线遥控来控制小车的行驶状态。
这就是本设计的总体设计思路。
3.2 电机驱动模块电机驱动一般采用桥式驱动,芯片内部集成了H桥式驱动电路,课通过单片机给与电路PWM信号来控制小车速度,起停等。
其驱动原理如图3-1所示。
图3-1 电机驱动原理图3.3 信号检测模块小车循迹原理是小车在有黑线的路面上行驶,由于黑线和白色地面对光线的反射系数不同,可根据接收到的反射光的强弱来判断黑线。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断向地面发射红外光,当红外遇到白色地面时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过比较强来采集高低电平,从而实现信号的检测。
避障的原理亦是如此。
信号检测原理如图3-2所示。
图3-2 信号检测原理图3.4 主控电路模块本模块主要是对采集信号进行分析,同时给出PWM波控制电机速度,起停,以及检测到障碍报警等作用。
其电路图如3-3所示。
图3-3 主控电路图第四章蓝牙智能小车软件结构在这次设计中,我们所用到的是LAD软件编程和串口助手。
LAD软件编程是一小众化的编程软件,利用它可以很好的对小车进行编程,该软件是一个简单有效的软件编程。
它里面包含条件选择模块,功能模块还有控制模块。
条件选择模块中包含单重选择、双重选择、循环、条件循环等,功能模块中包含定义变量、变量赋值、变量运算、调用模块、执行模块、程序注释、模拟信号采集及延时等,控制模块中包含很多:有速度控制、转向控制、数字输入/输出、串口发送/接收、红外发射及超声波模块等。
就是通过这些模块,让我们控制小车的循迹、避障、转向等,通过模块的调用和程序注释,使程序可读性更强,更方便理解和运用。
串口助手是一个可以根据小车的运动状态得到的串口数据的工具,这在控制小车的过程中帮了很大的忙。
开始使用传感器时,不知道传感器能否检测到信号,也不知道传感器的返回值,就可以利用串口助手来帮助我们看到串口的返回值,并且可以调试程序,发现程序的问题,直至成功利用传感器。
在本次智能小车设计中,我们让小车实现了循迹、避障等功能,其思路如以下流程图所示:4.1 主程序程序图主程序说明:主程序将寻迹和避障程序结合,在寻迹的过程中,如果发生了黑线上有障碍的情况,则进入避障程序,绕过障碍物。
4.2循迹流程图否是a1……a8>k 开始打开循迹开关检测返回值a1……a8检测到黑线 转向角度,控制速度结束寻迹程序:寻迹程序说明:首先打开寻迹传感器开关,然后将8个传感器的返回数值进行条件比较,当a1,a2,a3,a4,a5,a6,a7,a8大于给定的阈值的时候,则判断检测到了黑线,如果不满足大于阈值的条件的情况下,则为检测到了白色区域。
由于黑色寻迹线的区域的宽度为一厘米左右,那么就至少会有一个传感器,最多两个传感器检测到黑线,则判断每个传感器,最后再重新判断中间两个传感器的状态,然后得出最后的寻迹过程。
4.3 红外避障流程图开始打开红外开关接受返回值a否A=0?是转向和速度控制延时结束避障程序:避障程序说明:首先打开红外传感器开关,然后设定传感器返回数值,然后对传感器的数值进行判断,如果检测到前方出现障碍物,则返回数值为0,如果没有检测到障碍物,则返回数值为1。
由于我们的车检测到的距离比较短,因此我们设置了倒车的部分,以确保不会撞到障碍物,然后前进一段距离,通过障碍物。
4.4遇到的困难和解决办法在小车的前期制作过程中,我们首先研究了传感器的原理和使用方法,包括在网上查找资料,并且向老师提问等多个方面,了解寻迹传感器的工作方式及其软件实现。
但是蓝牙的下载方式相对比较麻烦,每次下载都会出现一定的问题,后来经过多次试验和实践总结出了蓝牙下载方式可能遇到的问题及解决方案:1、蓝牙适配器未连接:可能是蓝牙与电脑未连接,首先检查蓝牙是否接在电脑端口,如果已连接,则可以换电脑的其他端口尝试,因为可能会由于电脑的端口坏掉,最后就是检查是否安装了蓝牙驱动,驱动一般为自动安装;2、蓝牙小车无法连接:这个问题可能有多个原因(1)、小车电源未打开,这时要取消下载,打开小车的开关,待小车进入工作模式的情况下继续下载;(2)、小车的蓝牙接收端出现故障:这种可能性比较小,如果经过多次尝试,仍然不可以,则考虑使用有线下载方式或更换车模;(3)、可能是由于小车未进入工作时就进行了下载,这样是无法下载进入小车的程序的,推测单片机在初始化,无法进行下载工作。
(4)、检查串口助手等是否处于开启状态,其他端口处于占用状态,因为蓝牙的下载端口是单通道的,不能并用;(5)、有时候可以通过多次重新下载来最后实现下载。
程序下载成功后,就是进行传感器的调试和软件调试了:在调试过程中,寻迹传感器需要进行测量返回数值的检测,并且对返回数值进行分析。
这一步进行的还是比较顺利的,检测到寻迹传感器的白色的区域数值约为48左右,黑色线约为200左右,因此我们设定当检测到的变量大于阈值160的时候便检测到了黑色区域,但是在实际的车辆测试过程中,却发现小车在某些特殊的弯道会发生误判,并且冲出赛道,在不断的调试中找到了问题所在,原来地板之间的缝隙,返回数值也比较高,并且在160左右,然后我们加高了阈值,并且取得了较好的效果。
接下来就是对避障的功能调试了,本小车采用红外传感器进行避障功能的实现,红外传感器的原理是,当检测到前方一定距离有障碍的时候,返回数值0,没有障碍的时候,则返回数值1。
于是,我们首先测试了红外传感器是否可以使用,在软件中,我们设置了红外传感器的开关为常开,并且对返回数值进行串口发送,并且接收到返回数值。
然后我们对红外传感器进行了一定的配置,但是在实际操作过程中,小车会发生撞击障碍物的情况,这是因为我们检测到的障碍物距离车的距离太小,于是我们调节了车的速度,并且设置了倒车的过程,最终完成了避障功能,并且与小车的寻迹功能相结合。
在与其他组别交流过程中,我们发现,红外检测需要使用脉冲的形式完成,并且开关的延时时间加长,会发现红外检测的距离也会变远。
第五章心得体会致谢在学习中,老师严谨的治学态度、丰富渊博的知识、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模,老师们的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。