智能循迹小车实验报告记录
- 格式:doc
- 大小:298.00 KB
- 文档页数:10
智能循迹小车实验报告记录
————————————————————————————————作者:————————————————————————————————日期:
简单电子系统设计报告
---------智能循迹小车
学号201009130102
年级10
学院理学院
专业电子信息科学与技术姓名马洪岳
指导教师刘怀强
摘要
本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位。
本设计采用单片机STC89C51作为小车检测、控制、时间显示核心,以实验室给定的车架为车体,两直流机为主驱动,附加相应的电源电路下载电路,显示电路构成整体电路。自动寻迹的功能采用红外传感器,通过检测高低电平将信号送给单片机,由单片机通过控制驱动芯片L298N驱动电动小车的电机,实现小车的动作。
关键词:STC89C51单片机;L298N;红外传感器;寻迹
一、设计目的
通过设计进一步掌握51单片机的应用,特别是在控制系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
二、设计要求
该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制,绕跑到行驶一周。
三、软硬件设计
硬件电路的设计
1、最小系统:
小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下:
(1)、电源电路:给单片机提供5V电源。
(2)、复位电路:在电压达到正常值时给单片机一个复位信号。
图1 单片机最小系统原理图
2、电源电路设计:
模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用5V电源。考虑到电源为电池组,额定电压为4.5V,实际充满电后电压则为4-4.5V,所以单片机及传感器模块采用最小系统模块稳压后的5V电源供电,舵机及电机直接由电池供电。
3、传感器电路:
光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。
图2 赛道检测原理图:
4、电机驱动电路:
电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动
电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。
L298N的逻辑功能:
表1 SHARP GP2D12实物图
L298N 电路原理图:
由于一片L298N 可以直接驱动两个电机,但是为了加大驱动力,我们采用两路并联的方式来驱动电机。
34
IN15IN27IN310IN412ENA 6ENB 11GND 1GND 15GND 8
VS S 4
VC C
9
OUT12OUT23OUT313OUT414U1
L298N A
-
+
MG1MOTOR RIGHT
A
-
+
MG2
MOTOR LEFT
D14007
D54007
D34007
D44007
D24007
D74007
D84007
D64007
123456
J1
单片机引脚
P3.1P3.3P3.5P3.7P4.2P4.4
IN15IN27IN310IN412ENA 6ENB 11GND 1GND 15GND 8
VS S 4
VC C
9
OUT12OUT23OUT313OUT414U2
L298N
+12V
+12V
+12V
+12V
+5V
+5V
小 车 电 机 驱 动
IN15IN27IN310IN412ENA 6ENB 11GND 1GND 15GND 8
VS S
4
VC C
9
OUT12OUT23OUT313OUT4
14
U3
L298N
A
-
+
灭火风扇
灭 火 风 扇 驱 动
123
J2
CON3
P5.7
GND +5V
图3.3 L298N 电路图
整体设计图
软件系统的实现
4.1 主程序流程图
开
系统
左侧检
右侧检
结
小车循迹规则:
若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。
小车程序:
#include
#define unchar unsigned char
#define uint unsigned int
sbit ss1=P2^0;//左边
sbit ss2=P2^1;//右边
void main()
{
P0=0x05;//直行
if(ss1==0)