说明

这是我学习一段时间51之后自己动手做的,比较简陋。此篇作为总结和复习,如有问题,请评论指出。
下篇:51单片机学习之智能小车(2)

小车概述(功能,所用模块)

(1)蓝牙控制
通过手机上蓝牙串口调试助手,实现无线控制小车运动与用户信息交流。
所用模块: BT-06蓝牙模块
(2)红外循迹
通过红外循迹模块,检测轨迹,自动按预定轨迹运动。
所用模块:红外循迹模块
(3)超声波避障
通过超声波模块检测障碍物的距离,实现自动避障。

功能的实现

这里简单说明功能实现的原理,以及各个模块的使用。
1、基础功能的实现:
1.小车电机:
采用TT马达,工作电压为3-6V,6V供电时,空载输出电流为230ma。(这里数据对后来调试有较大的影响)

图示为电机实物图:


2.小车电机的驱动:
单片机IO口的驱动能力很弱,无法直接驱动电机,所以需要驱动模块驱动电机转动。

采用驱动模块为L298nmini,有四个输入引脚可独立驱动两个电机,相较于普通版本的L298n,少了使能端口,对电压的要求也降低了,方便了对电机电压的控制,使用方法大体相同。按照真值表通过PWM调速原理(可参考:PWM波调速原理及循迹小车调速方法)控制电机的转速,以及对电机的正反转进行控制,可使一侧电机反转,一侧电机正转,在原地改变方向,实现转弯。

图示为模块实物图:
此模块可工作电压范围为2V~10V,单路工作电流为1.5A,峰值电流可达2.5A,待机电流小于0.1uA。双H桥,可控制两个或四个电机(四个电机为两两并联)。在本项目中通过开发板集成的DC电源5V供电。

引脚定义,变量以及函数声明:

2、主要功能实现

1.蓝牙控制:

蓝牙模块BT-06,遵循蓝牙v3.0协议,支持多种波特率,收发灵敏,体积小,功耗低,对电压要求较低,等多种优点。(选择HC-05模块的比较多,用法大致相同,价钱贵了大概六块钱儿)

图示为模块实物图:

蓝牙模块的RXD引脚连接单片机TXD引脚(P3.1),TXD引脚连接单片机RXD引脚(P3.0)。VCC
可接3.3V或5V。与手机APP配合使用。出厂无配置的情况下模块的名字为BT-04-A,地址以及波特率也是可以自己配置的(我用的是默认,可恶的AT模式无论如何都进不去),模块上电后,LED指示灯连续闪烁代表未连接设备,长亮代表已成功连接设备,无线连接的距离大概在10到15米。

蓝牙模块需要与单片机波特率相同,蓝牙模块在无设置的默认情况下波特率为9600bps。因此单片机的波特率也要设置为同样的波特率。通常单片机的波特率由T1定时器产生,因超声波避障功能占用了T0、T1定时器,所以改为52单片机的T2定时器。(这里不再详细说明T2定时器的使用,查看数据手册或者具体参考:STC89C52单片机定时器2详细整理)

通过赋值T2CON寄存器,设置T2定时器为16位波特率产生器(自动重装),替代T1定时器产生波特率。通常T2MOD不需定义,在单片机<reg52.h>头文件中未定义。将初值存放在RCAP2H , RCAP2L。
图示为T2CON:

通过单片机串口中断的方法接收小车与手机之间通信的数据,通过查询方式判断接收到的数据,控制电机驱动的输出状态,达到控制小车的运动状态的目的。
以下为相关变量与函数的声明:

2.红外循迹

小车采用四路传感器,每一路单独工作,由驱动板统一供3.3电源,输出口连接单片IO口。经传感器采集地面轨迹数据后,由单片机判断是否在轨迹上。

当轨迹为黑线,吸收红外线能力更强,传感器接收不到或接收很少的反射的红外线,将向单片机返回高电平,反之,返回高电平。单片机的IO口应设置为准输入/输出模式(具体可查看数据手册),在每一次判断前,首先将IO口拉高初始化,才能正确判断传感器状态。(在调试过程中问题较大,在后面会说明)

图示为模块实物图(包括传感器以及驱动板):

传感器根据反射距离,返回连续电压值,再通过驱动板上的电压比较器才可输出高低电平。驱动板统一供电可减少电源的占用。

模块引脚定义,此模块与超声波模块结合使用:

单路循迹检测范围,0~10cm,检测角度35°,响应时间极短,约为几ms。在此模式下,小车转弯速度为最大速度的80%。

3.超声波避障

小车采用HC-SR04超声波测距模块,当单片机向模块控制端口(Trlg)发送超过10us的高电平时,模块就会自动发射8个40kHz的超声波信号,从障碍物反弹回的超声波会被接收端(Echo)接收,模块自动产生一个高电平信号,其高电平信号持续时间就为,超声波发射到接收所用的时间,通过公式:S = 340m/s(声速) * T /2,就可计算出到障碍物的距离。

图示为模块实物图:

利用51单片机片内定时器,周期性发射超声波信号与计时超声波模块在接收到回波后的高电平时间,相比利用软件延时的方法,更为精准灵活。

此模块配合红外循迹模块,当小车在轨迹运行时,小车自动判断前方障碍物的距离,若小于50cm则小车原地停止,等待障碍物(例如:人,其他小车等)经过。当判断距离大于50cm时,继续沿轨迹前进。
模块引脚定义,与变量,函数的声明:

超声波模块每30ms启动一次发送8个40kHz的超声波,最大检测距离为510cm,电机响应时间时间很短约为几十ms。

结语

代码部分在下篇会介绍。如有不足或者错误,还请指出。

51单片机学习之智能小车(1)相关推荐

  1. 【51单片机实例】智能小车(一)--------小车的前进、后退和停止

    51智能小车系列 智能小车(二)-------- 小车的红外遥控调速 智能小车(三)-------- 小车的红外循迹 文章目录 前言 一.硬件选择 1.1 小车底盘 1.2 电机 1.3 51单片机最 ...

  2. 基于51单片机的电动智能小车(完整论文)

    基于51单片机的电动智能小车(完整论文): 摘 要 80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评.这里介绍的是如何用80C51单片机来实现长春工业大学的毕业设计,该设计 ...

  3. 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用

       我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...

  4. c语言智能小车项目的感想,基于51单片机的遥控智能小车实作心得

    两年前学习51单片机时,买了51hei单片机开发板.现在正在学习基于STM32嵌入式系统的FAT32,UGUI和UCOSII操作系统.几乎很少去看51单片机开发板了.某天,宝贝突然说要我给她买一个遥控 ...

  5. 基于51单片机的蓝牙智能小车——《入门篇》

    我认为在制作小车前需要有心里准备,要充满自信.满怀激情,学会坚持,切忌三分钟热度,半途而废. 在上一篇文章中我已经提到了制作智能小车所需要的材料,如果大家已经准备好材料,或是想进一步了解智能小车的制作 ...

  6. 单片机c语言小车转圈,用51单片机编写的智能小车全程前进的C程序

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /**************************************************************************** ...

  7. 最简单DIY基于STM32单片机的WIFI智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇:最简单DIY基于STM32F ...

  8. 最简单DIY基于STM32单片机的蓝牙智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 文章目录 STM32库函数开发系列文 ...

  9. 基于51单片机的wifi智能led灯的毕业设计

    基于51单片机的wifi智能led灯的毕业设计 摘要 系统基于STC89C52RC单片机设计,拥有自动与手动两种模式,自动模式下可以过热释红外传感器检测是否有人,采用光敏电阻构成的电路检测环境光的强度 ...

最新文章

  1. ffmpeg php 抠像_PHP中使用ffmpeg截取视频图片笔记
  2. Double Strings
  3. linux 运行 chom,Hadoop安装-单节点/伪分布(2.7.3)
  4. 网络资产管理系统_固定资产管理系统的常用操作
  5. 京东健康股价创下新高 市值突破6000亿港元
  6. SQL从入门到入魔之select简单查询
  7. 性能测试:性能测试指标评估方法
  8. 阿里巴巴的页面不能被抓取吗_符合百度抓取的高质量内容(72小时秒收录)
  9. 基于先验LiDAR点云地图的单目VIO定位
  10. 报告节选2:桌面虚拟化需重视网络和存储
  11. Battle Zone 战争地带
  12. <Linux开发> -之-系统移植 uboot移植过程详细记录(第二部分)
  13. DM420步进电机驱动器
  14. 前端直传阿里云OSS
  15. 生态 | 协同办公软件发展任重道远——基于数据库领域视角
  16. app上架应用宝流程
  17. java基于springboot酒店客房预定管理系统ssm
  18. P1571 眼红的Medusa 题解
  19. Arcgis for JS实现台风运动路径与影像范围的显示
  20. autojs ui界面漂亮模板

热门文章

  1. 前嗅ForeSpider教程:采集360问答
  2. msysgit简单使用教程
  3. HTML5基础知识(全面)
  4. java 豆丁,Java实现类似豆丁百度文科的文档在线阅读
  5. ultraiso刻录系统盘,总是提示:空间不够
  6. Spring Boot集成第三方登录之微信登录
  7. 【PAT天梯赛练习集L2-1】紧急救援——SPFA
  8. 武汉新时标文化传媒有限公司短视频创作的对象法与情感需求法
  9. restTemplate接受文件流
  10. Mac新手使用技巧——键盘键位分布和快捷键