蓝牙小车

更新时间:2024-05-27 07:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

作品名称

智能小车

院系:信息工程学院 设计人:周永喜、刘林兴 日期:6月12日

目 录

作品名称........................................................................................................................................... 1 目 录 .............................................................................................................................................. 2 功能介绍........................................................................................................................................... 3 一、系统组成图 .............................................................................................................................. 3

(1)自动循迹:..................................................................................................................... 3 (2)自动避障: ..................................................................................................................... 4 (3)遥控控制: ..................................................................................................................... 5 (4)电机驱动及电源部分: ................................................................................................. 5 二、各主要元器件简单介绍........................................................................................................... 7

(1)STC89C52单片机: ..................................................................................................... 7 (2)直流电机: ..................................................................................................................... 7 (3)三极管,电阻,LED灯若干。 ................................................................................. 7 三、各模块的简单介绍................................................................................................................... 8

(1)4路红外线探测模块: .................................................................................................. 8 (2)US-100超声波测距模块: ........................................................................................... 8 (3)ZK-07 嵌入式无线蓝牙数传模块:............................................................................ 8 (4)L298N 驱动模块: ....................................................................................................... 9 四、系统软件的设计 .................................................................................................................... 10 五、总结分析与结论 .................................................................................................................... 12 六、作品程序 ................................................................................................................................ 12

功能介绍

智能小车,该车是一款以51系列单片机为控制中心,具有自动行驶和遥控操控两种模式,能智能判断路况并能做出正确反映的小车。小车具有以下几个功能:①循迹功能,能寻找到黑色轨迹并按照黑色轨迹行驶;②自动避障功能,小车在行驶过程能识别前方是否有障碍物,并能准确无误地避开障碍物;③无线遥控功能,遥控器通过蓝牙连接,可在10米范围内遥控小车控制小车前后左右行驶,并可以在遥控器上切换小车为自动行驶状态或者遥控状态。

内容

一、系统组成图

图1:系统结构

(1)自动循迹:主要使用4路红外线探测系统,使用红外线发射和接收管等分

立元器件组成探头,并使用 LM339电压比较器(加入迟滞电路),防止临界输出抖动做为核心器件构成中控电路。并把探测到光信号转为电压信号传给单片机处理。

图2:发射部分 图3:接收部分 探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制小车行走的路迹。

四个红外传感器排成一排安装在小车底部,当光线照射到路面并反射,由于黑线和光亮地面的反射系数不同,根据接收到的反射光强度判断是否眼黑线前进。在一般情况下,当黑线位于中间的两个红外传感器之间,不管小车偏向哪一边,都能检测出小车的偏移方向。或者当小车偏向左边时,右边的传感器检测到黑线输出高电平给单片机,否则,输出高电平。这样小车就可以准确地循着黑线行驶。

(2)自动避障:小车避障模块由超声波US-100超声波测距模块和舵机两部分组

成,超声波测量距离障碍物的距离,舵机来控制超声波探头的360°旋转,并通过和单片机通信控制,从而达到全方位的避障控制。

超声波US-100超声波测距有两种触发测距模式,电平触发测距,和串口触发测距。我们采用的是电平触发测距模式。

电平触发测距工作原理:在US-100超声波测距模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。

电平触发测距的时序如图5.1 所示:

图4:US-100 测距时序图

图4表明:只需要在Trig/TX 管脚输入一个10US 以上的高电平,系统便可发出8 个40KHZ 的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX 管脚输出。在此模式下,模块将距离值转化为340m/s 时的时间值的2倍,通过Echo 端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。

注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s 即可。

(3)遥控控制:主要采用ZK-07 嵌入式无线蓝牙数传模块,ZK-07是新一代无线蓝牙数传模块,能够透明传输任何大小的数据,而用户无须编写复杂的设置与传输程序。同时具小体积, 宽电压。模块外部接口采用透明数据传输传输方式,能适应标准或非标准的用户协议,所收的数据就是所发的数据。在单片机和无线蓝牙的匹配波特率为9600bps,进行通信,传送直走后退左转右转和切换自动行驶模式或遥控模式指令。

图5:无线蓝牙原理图

图6:模块与终端设备的连接(UART/TTL电平)接线图

(4)电机驱动及电源部分:主要采用L298N 驱动模块,采用SMT 工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路3-16V 直流电机,并提供了5V 输出接口(输入最低只要6V),可以给5V 单片机电路系统供电(低纹波系数),支持3.3V MCUARM 控制,可以方便的控制直流电机速度和方向。

单片机连接ENA ENB控制便能端,插上为使能驱动,PWM 调速可去跳线帽,从ENA ENB 端输入,控制电机速度。利用两个L298N分别驱动智能小车的两个直流电机带动车轮转动,从而驱动小车行驶和控制方向。

图7:L298N原理图

图8:实物连接

二、各主要元器件简单介绍

(1)STC89C52单片机:STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核。

图9:单片机实物图

(2)直流电机:电气参数如下

图10:直流电机电气参数

图11:电机实物图

(3)三极管,电阻,LED灯若干。

三、各模块的简单介绍

(1)4路红外线探测模块:4路分别独立工作,工作时不受数量限制中控板与探头分开,安装位置不受限制模块高度≤4厘米,安全工作电压范围在4伏特至6伏特之间 4路全开工作电流30毫安至40毫安之间。

图12:红外探测实物图及参数

(2)US-100超声波测距模块:

1、US-100 超声波测距模块可实现0~4.5m 的非接触测距功能,拥有

2.4~5.5V 的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。

图133:US-100 超声波测距模块实物图

2、主要技术参数 电气参数 工作电压 静态电流 工作温度 输出方式 感应角度 探测距离 探测精度 UART 模式下串口配置 US-100超声波测距模块 DC 2.4V~5.5V 2mA -20~+70 度 电平或UART(跳线帽选择) 小于15 度 2cm-450cm 0.3cm+1% 波特率9600,起始位1 位,停止位1 位,数据位8 位,无奇偶校验,无流控制。

(3)ZK-07 嵌入式无线蓝牙数传模块:ZK-07是新一代无线蓝牙数传模块,能够透明传输任何大小的数据,同时具小体积, 宽电压。模块外部接口采用透明

数据传输传输方式,能适应标准或非标准的用户协议,所收的数据就是所发的数据。同时蓝牙从机设备能方便与蓝牙适配器。

图14:ZK-07无线蓝牙数传模块实物图

蓝牙模块串行通信格式:8 位数据位、1 位停止位、无奇偶校验的通信格式即通常所说的8 N 1 通信格式

(4)L298N 驱动模块:本L298N 驱动模块,采用ST 公司原装全新的L298N 芯片,采用SMT 工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路3-16V 直流电机,并提供了5V 输出接口

图15:L298N 驱动模块实物图及结构

四、系统软件的设计 开始 是 左侧检测到黑 线? 否 是 右侧检测到黑线? 否 是 前进右转 两侧没检测到 黑线? 否 是 两侧都检测到黑线? 刹车 否 结束 图16:循迹程序流程图

前进左转 前进

开始

PWM初始化 定时器初始化 定时器计数初始化 定时器时间到发送一个触发信号 收到回波信号 Y N 计算避障物距离 小于40cm Y N PWM软件自增 驱动动电机加速 小于30cm Y N 驱动电机转向 驱动电机减速 PWM软件自减 图17:避障程序流程图

五、总结分析与结论

在这次设计和制作这个智能遥控寻迹避障小车的过程中,我们经历了许多,既有成功的快乐,也有失败的困惑。在这短短的一个月里,我们学会了许多从课本和课堂上学不到的东西。在制作过程中我们能逐步学习到:光电传感器、无线电遥控电路、电机驱动电路等相关电子知识。

在循迹部分称考虑采用发①光二极管+光敏电阻或者采用②红外光电对管(4路红外线探测系统)。

经讨论分析发现:①该方案发光二极管+光敏电阻缺点明显:易受冻外界光源的干扰,有时甚至检测不到黑线,主要是因为可见光的反射效果跟地表的平坦程度,地表材料的反射情况对检测效果产生直接影响。而且外界的可见光对设备的影响很大。②采用红外光电对管,由于只需分辨黑白,红外光电对管有一个管发射红外线一个于接收红外线,当红外线照射到黑线上时不会发射回来,当红外线照射到白色的地方就会返回,光电对管发射的同时也能接收红外信号,整个检测设备简单,稳定性高,速度快。缺点是检测距离短,但在小车基本适用,成本低。综上分析采用红外光电对管方案。

六、作品程序

/*======主函数======*/ void main(void) {

Init_all(); //定时器和串口中断初始化函数 function=0; //功能选择变量 push_val = 14; //舵机归中

K1=1; K2=1; K3=1; //关闭电源控制口 while(1) /*无限循环*/ { if(flag_REC==1) //数据接收完成标志位 { flag_REC=0; //标志位清零 if(buff[0]=='O'&&buff[1]=='N') //第一个字节为O,第二个字节为N,第三个字节为控制码 { switch(buff[2]) { case Remote_control: //蓝牙遥控模式 K1=1; K2=1; //关闭所有电源

function=0; push_val_left = 10; //PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 push_val_right = 10; //PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 stoprun(); //停止 break; case Go_black_line: //走黑线模式 K1=1; K2=0; //开启寻迹电源 function=1; push_val_left = 10; //PWM 调节参数1-10 1为最慢,10是最快 这个值可以改变其速度 push_val_right = 10; //PWM 调节参数1-10 1为最慢,10是最快 这个值可以改变其速度 stoprun(); //停止 break; case Obs_avo: //超声波避障模式 K1=0; //开启避障电源 K2=1; function=2; stoprun(); //停止 break; case LED: //车灯控制 K3=~K3; } if( function==0 ) { switch(buff[2]) { case up : // 前进 run(); break; case down: // 后退 backrun(); break; case left: // 左转 leftrun();

改改 break; case right: // 右转 rightrun(); break; case stop: // 停止 stoprun(); break; } } } } if( function==1 ) //走黑线模式 { tracing(); //调用小车走黑线函数 } if( function==2 ) //超声波避障模式 { if(timer>=1000) //100MS检测启动检测一次 { timer=0; StartModule(); //启动检测 Conut(); //计算距离 // if( Left_1_led==0 || Right_2_led==0 ) //传感器检测到前方有障碍物 // { // ZYX(); //调用小车方向控制函数 // }

if(S<20) //距离小于20CM { stoprun(); //小车停止 COMM(); //调用小车方向控制函数 } if(S>=20 && S<50) //距离在20cm到40cm之间,往前走 { //以中等速度前进

push_val_left = 5; //PWM 调节参数1-10 1为最慢,10是最快这个值可以改变其速度

改 push_val_right = 5; //PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 run(); //小车前进 } else if(S>=50) //距离大于,40CM往前走 { //以最快速度前进

push_val_left = 10; //PWM 调节参数1-10 1为最慢,10是最快 改这个值可以改变其速度 push_val_right = 10; //PWM 调节参数1-10 这个值可以改变其速度 run(); //小车前进 } } } } }

1为最慢,10是最快改

本文来源:https://www.bwwdw.com/article/xqg7.html

Top