找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9736|回复: 6
打印 上一主题 下一主题
收起左侧

基于超声波、红外和蓝牙的智能小车-STM32单片机课程设计

  [复制链接]
跳转到指定楼层
楼主

                             基于超声波、红外和蓝牙的智能小车



这是我大二下学期做的一个课程设计,欢迎大家指正。


摘要


  本次设计是实现自动避障、根据指定的轨迹行走和通过手机APP来进行蓝牙遥控小车等功能。选用STM32f103单片机作主控芯片,超声波模块的型号选用HY-SRF05,同过3个超声波模块,来检测小车周围的是否有障碍物,通过算法,进行智能避障。通过红外模块检测轨迹,进而使小车在指定的轨迹行走。电机驱动模块的型号是L293N ,通过STM32f103单片机发送相关的信号,来控制驱动,进而控制电机的转动,使小车能前进、后退、原地左转、原地右转、大左转和大右转。蓝牙模块的型号是HC-05,通过蓝牙模块,小车可以与小车取得信息交流,用户在手机端可以查看小车的相关信息和对小车进行控制。电源部分采用两节3.7V锂电池供电。采用C语言模块化编程,提高开发效率。经实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案正确、可行,各项指标稳定、可靠。
,
关键词   STM32f103单片机、自动避障、指定的轨迹行走、手机APP遥控
Abstract   This design isto realize the functions of automatic obstacle avoidance, walking according tothe specified trajectory, and carrying out bluetooth remote control car throughmobile APP. Choose STM32f103 microcontroller as main control chip, ultrasonicmodule model HY - SRF05, with three ultrasonic module, to detect the car aroundthe obstacles, the algorithm, the intelligent obstacle avoidance. The track isdetected by infrared module, so that the car can walk on the specified track.Motor driver module type is L293N, sent via STM32f103 microcontroller relatedsignal, to control the drive, and then control the motor rotation, can make thecar forward, backward, turn left in situ, first turn right, turn left and turnright. The model of the bluetooth module is hc-05. Through the bluetoothmodule, the car can get information exchange with the car, and users can checkrelevant information of the car and control the car on the mobile phone. Thepower supply is powered by two 3.7v lithium-ion batteries. Modular programmingin C language is adopted to improve development efficiency. Through thepractical acceptance test, the circuit structure of the intelligent car issimple, the debugging is convenient, the system reflects quickly and flexibly,the design scheme is correct and feasible, all the indicators are stable andreliable.
Key words   STM32f103 single-chip microcomputer,automatic obstacle avoidance, specified trajectory walking, mobile APP remotecontrol
目 录
目 录...................................................................................................................... IV
1.          前言.............................................................................................................. 1
1.1.      系统研究背景....................................................................................... 1
1.2.      系统研究的意义和目的....................................................................... 3
2.          系统概述...................................................................................................... 4
2.1.      系统的结构........................................................................................... 4
2.2.      系统的功能........................................................................................... 5
2.3.      开发环境............................................................................................... 5
3.          系统实现...................................................................................................... 9
3.1.      相关技术技术....................................................................................... 9
3.2.      硬件实现............................................................................................... 9
3.3.      软件实现............................................................................................. 15
4.          系统使用说明............................................................................................ 16
5.          总结............................................................................................................ 20
6.          参考文献.................................................................................................... 21


1. 前言1.1.     系统研究背景
随着机器人技术的发展,自主移动机器人以其活性和智能性等特点,在人们的生产、生活中的应用来越广泛。自主移动机器人通过各种传感器系统感知外界环境和自身状态, 在复杂的已知或者未知环境中自主移动并完成相应的任务。小车的智能避障模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。
智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。 智能小车可以理解为机器人的一种特例,它是一种能够通过编程手段完成特定任务的小型化机器人。与普遍意义上的机器人相比,智能小车制作成本低廉,电路结构简单,程序调试方便,具有很强的趣味性,为此其深受广大机器人爱好者以及高校学生的喜爱。全国大学生电子设计竞赛每年都设有智能小车类的题目,由此可见国家对高校机器人研究工作的重视程度。
蓝牙属于短距离内进行无线控制和收发的通信技术,伴随着科技的飞跃性发展,也让蓝牙找到了发展的空间,它可以代替和取代落后的数字化硬件设备之间繁琐的电缆连接。在蓝牙创造的初期,没有人预料到蓝牙会有如此大的潜力和前景,而现在的发展也是完全超出了我们的预期,因为蓝牙的安全性高,制造成本低廉和所消耗的功率也是同类产品中最低的,所以被很多人使用,越来越受到了广大消费者的欢迎,基于蓝牙技术的产品也在不断的更新和投入市场。
蓝牙技术是近年来出现的新技术是一种短距离无线通信和信息传输的新型通讯科技,它使数据线的硬件设备接收更方便快捷。它可以广泛应用于世界各地,是一个蓝牙设置一个通用的范围,频率调制技术的使用,以防止外部干扰和多一些。低成本,低功耗和小辐射,和加密设置,让蓝牙的安全性更高;应用范围广,这些特点使得蓝牙技术被广泛的应用在我们日常生活中的蓝牙也支持一对一和一对多传输的通信连接,和多个蓝牙成为微网,也有网络的特点。
在现在的智能时代,小车智能的控制,方便了人们的使用。

1.2.  系统研究的意义和目的
本设计的智能小车有自动避障、根据指定的轨迹行走和通过手机APP来进行蓝牙遥控小车等功能。同构小车的自动避障功能,为今后的智能自动驾驶做下基础,如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。根据指定的轨迹行走的功能,在现在的自动送快递的小车中得到应用,例如在学院中通多基站定位和设置黑白路线就能初步实现自动送快递了。
因为无线技术的广泛使用,我们在研究无线和有线通信技术的方法中了解到蓝牙系统的小区域性有很大的技术突破,在国际上也得到了广泛的采纳,在市场上也有很大的需求。这也使蓝牙技术的发展成为了趋势之一,蓝牙可以发送和接受语音和数据,满足了大多数人的需求,它也融合了其他相关产品的特点,也是这样技术变得更多样性。然而,蓝牙的安全性不足,而且在小区域范围内的一点对多点的通信受到了很大的限制,这些都是其本身需要改进和完善的
可以使人们更方便,更简单的控制小车。实现了无线控制小车,摆脱了有线控制的不方便,更智能。

2.  系统概述2.1.  系统的结构
本设计的系统主要由自动避障部分、轨迹行走部分和手机APP蓝牙控制部分组成的。中央控制用到STM32f03单片机,它的处理能力很强和稳定性很好,适合作为小车的控制芯片。
  
自动避障部分中,是由3个超声波模块、电机驱动L298和STM32f03单片机组成的,通过布置3个超声波模块在小车的前、左、右的方向,然后测出各个方向的相对距离,进而判断出各个方向的是否有障碍物,通过算法,让小车选择最好的路线来走。
轨迹行走部分中,是由2个红外模块、电机驱动L298和STM32f03单片机组成的,通过红外模块的放送管光的发送和接收管接收反射的光,进而判断出是否有黑线轨迹,从而知道大概的轨迹路线,通过算法,让小车可以按照轨迹来行走。
手机APP蓝牙控制部分,由蓝牙模块HC-06、电机驱动L298和STM32f03单片机组成的,用户通过在手机端下载一个APP(蓝牙串口助手),就可以在手机端进行对小车控制了,分别可以使小车能前进、后退、原地左转、原地右转、大左转和大右转。还可以选择相应的模式,例如自动避障模式、轨迹行走模式和手动控制模式。
2.2.  系统的功能
本设计的系统实现的功能有自动避障功能、轨迹行走功能和手机APP蓝牙控制功能。
自动避障功能:超声波传感器利用一对超声波发射与接收管,发射管发射出超声波,当检测方向遇到障碍物(反射面)时,接收管接收到反射波,判断前方是否有障碍物。通过超声波传感器来测出物体和旅行箱的距离,当检测到有物体离旅行箱的距离小于 10cm 时,和结合算法,来避开障碍物。
2.3.  开发环境
STM32F103xx增强型系列由意法半导体集团设计,使用高性能的 ARMCortex-M332 位的 RISC内核,工作频率为 72MHz,内置高速存储器 (高达 128K字节的闪存和 20K 字节的SRAM),丰富的增强 I/O 端口和联接到两条 APB总线的外设。所有型号的器件都包含 2 个 12 位的 ADC、3 个通用 16 位定时器和一个 PWM 定时器, 还包含标准和先进的通信接口: 多达 2 个 I2C和SPI、3 个 USART、一个 USB和一个 CAN。
STM32f03单片机的原理图:
              
STM32f03单片机的实物图:

STM32 微处理器基于 ARM 核,所以很多基于 ARM 嵌入式开发环境都可用于 STM32开发平台。开发工具都可用于 STM32 开发。选择合适的开发环境可以加快开发进度,节省开发成本。本章将先对 STM32 常用的开发工具 Keil MDK 和 IAR EWARM 进行简单介绍,然后结合 STM32_SK 仿真评估板和 STM32F103C 的开发板讲解 STM32 片上资源使用,最后给出一个基于 STM32 的数据采集器的应用实例。
5.1 Keil MDK 介绍
Keil 是德国知名软件公司 Keil(现已并入 ARM 公司)开发的微控制器软件开发平台,是目前 ARM 内核单片机开发的主流工具。 Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境uVision )将这些功能组合在一起。 uVision 当前最高版本是 uVision3, 它的界面和常用的微软 VC++ 的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发 ARM 应用的工程师,都对它十分喜欢。
5.1.1 开发过程及集成开发环境简介
1. Keil 的软件开发周期使用 Keil 来开发嵌入式软件, 开发周期和其他的平台软件开发周期是差不多的, 大致有
以下几个步骤:
1. 创建一个工程,选择一块目标芯片,并且做一些必要的工程配置。
2. 编写 C 或者汇编源文件。
3. 编译应用程序。
4. 修改源程序中的错误。
5. 联机调试。
         
3.  系统实现3.1. 相关技术技术
超声波自动避障技术,红外轨迹行走技术,蓝牙通讯技术,驱动电机技术。
3.2.  硬件实现
超声波模块
采用HY-SRF05 超声波模块传感器,超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射点距障碍物的距离 s,即:s=340m/s× t / 2。这就是时间差测距法。
基本工作原理:本模块使用方法,一个控制口发一个 10US 以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量。
超声波原理如图所示:
     
超声波的实物图:
           
红外模块
传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,此时模块的输出端为低电平,指示二极管被点亮。于是,在有黑色轨迹的白色跑道上,装有寻迹传感器模块小车就能自己按照轨迹来向前走,这样的小车就叫循迹小车。
红外模块原理图:
         
红外模块实物图:

HC-06蓝牙模块
其TX接单片机的RX,RX接单片机的TX,VCC接5V(或3.3V),GND接单片机的地。HC-06蓝牙模块是通过一款手机APP(蓝牙串口助手)作为中间媒介,在蓝牙串口助手发送相关的数据到串口,串口再把相关信息送到蓝牙模块,蓝牙模块再把相关信号送到单片机中。


L298N电机驱动模块,
该该电机可以驱动2路直流电机,使能端ENA,ENB,为高电频有效,
通过单片机的输入信号给IN1和IN2来控制左轮,输入信号给IN3和IN4来控制右轮。IN1和IN2,分别给0,1  :正转
  IN1和IN2,分别给1,0  :反转
IN1和IN2,分别给1, 1 :停止
IN1和IN2,分别给0,0  :停止
IN3和IN4,分别给0,1  :正转
IN3和IN4,分别给1,0  :反转
IN3和IN4,分别给1, 1 :停止
IN3和IN4,分别给0,0  :停止
L298N的主要引脚功能如下:
+5V:芯片电压5V;
VCC:电机电压,最大可接50V;
GND:共地接法;
Output1—Output2:输出端,接电机1;
Output3—Output4:输出端,接电机2;
EN1、EN2:高电平有效,EN1、EN2分别为 IN1和IN2、IN3和IN4的使能端;
Input1~ Input4:输入端,输入端电平和输出端电平是对应的;

3.3.  软件实现

系统测试
小车能实现了自动避障功能、轨迹行走功能和手机APP蓝牙控制功能,能实现基本功能,成功地用蓝牙控制小车。测试了一段时间,单片机工作稳定,蓝牙稳定的控制,小车较好的按照控制方向行走。
4.  系统使用说明
1.       为小车装上两节锂电池,来供电。
2.      打开总开关,在手机端,打开一个蓝牙通讯助手(在手机应用商店可以找到下载),连接上此小车的蓝牙(HC-06)。
3.     选择小车模式,有自动避障模式、轨迹行走模式和手机APP蓝牙控制模式,如图所示:

4.      选择了控制模式,然后就可以在手机端按相应的前进,后退,左转,右转,停止等,如图:

解析:前进,后退,左转,右转,停止,都对应着程序中相应的信息,如图;
当手机端发送 0x02 给蓝牙模块,就会执行 forward()函数; 小车会向前走
当手机端发送 0x08 给蓝牙模块,就会执行 back();函数;,小车会向后走
当手机端发送 0x01 给蓝牙模块,就会执行 left();函数;,小车会向左走
当手机端发送 0x03 给蓝牙模块,就会执行 right()函数;,小车会向右走
当手机端发送 0x05 给蓝牙模块,就会执行stop()函数;,小车会停止
具体的编辑如图:
file:///C:/Users/pu/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg
5.     选择了轨迹行走模式,小车会按照黑色的轨迹来行走的。

轨迹行走模式展示图2:

最后这是小车的整体模型;


5.  总结
本设计采用的是STM32f103单片机,这主要是因为该单片机的稳定性比较好和执行指令的速度很快。还可以采用其它系列的单片机。电机驱动采用L293N ,稳定电压,充足地向直流电机供电和稳定控制;电源部分采用两节3.7V锂电池供电,电压稳定,电流充足,还可以循环充电,节能环保。采用C语言模块化编程,提高开发效率.蓝牙控制功能.用按键或遥控器来控制小车,简单方便经过自己不断的搜索努力以及老师的耐心指导和热情帮助,本设计已经基本完成。
过这次课程设计,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学两年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这两个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。
由于自身水平有限,设计中一定存在很多不足之处,敬请各位批评指正.

6.  参考文献
1.      C语言程序设计:清华大学出版社 作者:谭浩强
2.      杜春雷.ARM体系结构与编程.清华大学出版社,2003
3.      周立功等.ARM嵌入式系统实验教程[M].北京:北京航空航天大学出版社,2005.1.
4.      罗忠辉,黄世庆.提高超声测距精度的方法[J].机械设计与制造.2005,1:109
5.      吴斌方,刘民,熊海斌.超声波测距传感器的研制[M].湖北工学院学报.2004,19(6):2628
6.      符艳辉. 基于单片机控制的超声波测距仪的设计
7.      刘迎春 叶湘滨编著《传感器原理设计与应用》[M].国防科技大学出版社 2004
8.      .Kim EJ, Yangida Y,Haruyama T, etal.Immunosensing.system for a-fetoprotein coupled with adisposable amperometric glucose oxidase sensor & actuators B, 2001.
9.      罗茜文:蓝牙技术联盟未来将大力推广低功耗、高速率蓝牙技术 移动通信 2008-10-30
10.    徐小涛、熊华、高泳洪、田铖:蓝牙技术标准的最新发展 电信工程技术与标准 化 2008/09


评分

参与人数 2黑币 +54 收起 理由
王垒 + 4 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:308590 发表于 2018-10-17 00:37 | 只看该作者
感谢大家的支持
回复

使用道具 举报

板凳
ID:500602 发表于 2019-4-8 17:00 | 只看该作者
楼主可以发一份程序吗?QQ邮箱:573401057@qq.com 非常感谢!
回复

使用道具 举报

地板
ID:638383 发表于 2019-12-11 14:06 来自手机 | 只看该作者
求楼主程序。
回复

使用道具 举报

5#
ID:661893 发表于 2019-12-16 19:24 来自手机 | 只看该作者
求楼主程序。
回复

使用道具 举报

6#
ID:667121 发表于 2019-12-18 12:15 | 只看该作者
很给力!
回复

使用道具 举报

7#
ID:676153 发表于 2020-2-28 14:48 | 只看该作者
求楼主的程序,超小白很喜欢做这样的车,只是参考一下我的QQ邮箱517137233@qq.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表