IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 课程设计:基于C52单片机的循迹小车 -> 正文阅读

[嵌入式]课程设计:基于C52单片机的循迹小车

?

目录

1.硬件设计

(1)电机驱动模块

?(2)红外避障与循迹模块

2.软件设计

(1)电机驱动模块

?(2)循迹检测模块

(3)PWM模块

1.硬件设计

(1)电机驱动模块

线路连接

J10-EN1接C52-P1.4? ? ? ? ? ? ? ? ? ? ? ? //EN1为左电机的使能端,只有当EN1为1时,左电机才能启动

J10-EN2接C52-P1.5????????????????????????//EN2为右电机的使能端,只有当EN2为1时,右电机才能启动

J10-IN1接C52-P1.2? ? ? ? ? ? ? ? ? ? ? ? ?//IN1控制左电机反转,当IN1为1时,左电机反转

J10-IN2接C52-P1.3????????????????????????//IN2控制左电机正转,当IN2为1时,左电机正转

J10-IN3接C52-P1.6????????????????????????//IN3控制左电机正转,当IN3为1时,左电机正转

J10-IN4接C52-P1.7????????????????????????//IN4控制左电机反转,当IN4为1时,左电机反转

电机驱动模块原理图

(2)红外避障与循迹模块

线路连接

J11-P3.2接C52-P3.2? ? ?

//P3.2为循迹右灯,当检测到黑色时为1,指示灯灭,未检测到黑色时为0,指示灯亮

J11-P3.3接C52-P3.3

//P3.3为循迹左灯,当检测到黑色时为1,指示灯灭,未检测到黑色时为0,指示灯亮

J11-P3.4接C52-P3.4

//P3.3为避障左灯,当检测到黑色时为1,指示灯灭,未检测到黑色时为0,指示灯亮

J11-P3.5接C52-P3.5

//P3.3为避障左灯,当检测到黑色时为1,指示灯灭,未检测到黑色时为0,指示灯亮

J11-VCC接电源

J11-GND接地

红外避障与循迹检测模块原理图

检测原理:红外线发射装置发射红外线,由于平面会反射红外线,红外线接收装置就会收到反射回来的红外线,此时指示灯亮,端口输出0;而检测装置下面有黑色时,黑色会吸收掉红外线,接受装置就接受不到红外线,指示灯灭,端口输出1.因此,当检测装置下面一定距离内没有反射物时,接受装置收不到返回的红外线,也会被认为是检测到了黑色。

2.软件设计

(1)电机驱动模块

首先定义端口,方便后续使用

通过控制左右电机的正反转来实现小车的前进,转弯,旋转等操作

例如:当左电机停止转动,右电机正转,即可实现小车左转的操作

? ? ? ? ? ?当左电机反转,右电机正转,即可实现小车逆时针旋转的操作

1.控制小车前进的函数fornt()

?2.控制小车左转的函数left()

3.控制小车右转的函数right()

4.控制小车逆时针旋转的函数ni()

5.控制小车顺时针旋转的函数shun()

?6.控制小车停止的函数stop()

?(2)循迹检测模块

首先定义端口,方便后续使用

通过红外线检测是否有黑色,从而驱动小车进行下一步运动

如果左灯为0,右灯为1,说明左边出了黑色轨道,此时应该右转,使小车回到轨道上;

如果左灯为1,右灯为0,说明右边出了黑色轨道,此时应该左转,使小车回到轨道上;

如果左灯为1,右灯为1,说明两边都在黑色轨道上,此时应该直行;

如果左灯为0,右灯为0,说明两边都出了黑线轨道,此时应该旋转,寻找轨道

??????根据红外线检测的结果执行相应的操作;

当小车左转时,将k赋值1,以防脱轨后寻轨,因为如果小车左转时脱轨,说明轨道在小车的左侧,此时逆时针寻轨能够最快速的找到轨道;

同理,小车右转时,将k赋值2,如果小车右转脱轨,说明轨道在小车右侧,此时顺时针寻轨能最快速找到轨道。

(3)PWM模块

最后,由于小车速度过快,经常脱轨之后就冲出了可寻轨的范围,所以这里采用PWM技术来调整小车的车速。

?首先是定时器的设置,这里只需要用到一个中断,不需要设置中断优先级,默认即可,定时器使用方式2,因为方式2有重装功能,计时最准确快捷。

设置占空比,此处time为全局变量,每进入一次中断函数,time就加一,而只有time=75时才会有相应操作,而time=100时又会停止相应操作,就是说,电机真正响应的时间,只有25%,速度也只有原来的25%,可以通过改变占空比来改变速度。这里占空比要尽可能大,使小车速度减慢,不然容易脱离可寻轨范围。

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-04 11:22:45  更:2021-08-04 11:23:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:24:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码