基于 STC89C51 智能小车设计
智能小车设计
智能小车的工作原理是以单片机为控制核心的一阶闭环控制系统。在实验室
条件下,在一张白纸上用黑色胶纸制出机器车预先设定的运行轨迹。本文设计采
用的前端传感器具有识别黑、白颜色的能力。因此,由前端光电传感器,单片机
和驱动单元共同作用,保证小车能够在预先设定的轨迹上行驶。本文设计智能小
车主要实现自动循迹的功能。
1. 传感器的分类与选择
实现寻迹小车的“视觉”功能有多种方式:
(1) 可使用 CCD 摄像头进行图象采集和识别方法,但是不适用在小体积系统
使用,并且还涉及图象采集、图象识别等领域。
(2)电容式接近传感器,基于检测对象表面靠近传感元件时的电容变化。
(3)超声波传感器,根据波从发射到接收的传播过程中所受到的影响来检测
物体的接近程度。
(4)红外反射式光电传感器,它包括一个可以发射红外光的固态发光二极管
和一个用作接收器的固态光敏二极管(或光敏三极管)。
为此作出以下几种方案:
方案一:采用发光二极管发光,用光敏二极管接收。
当发光二极管发出的可见光照射到黑带时,光线被黑带吸收,光敏二极管为
检测到信号,呈高阻抗,使输出端为低电平。当发光二极管发出的可见光照射到
地面时,它发出的可见光反射回来被光敏二极管检测到,其阻抗迅速降低,此时
输出端为高电平。但是由于光敏二极管受环境中可见光影响较大,电路的稳定性
很差。
方案二:采用光敏电阻接受可见光检测。
四组光敏电阻用于检测可见光信号。当光敏电阻检测到黑带时,输出端为
低电平,当光敏电阻没有检测到黑带时,输出端为高电平,信号返回给单片机,
通过单片机控制前轮的转向。光敏电阻易受环境影响,稳定性也很差。
方案三:利用红外线发射管发射红外线,红外线二极管进行接收。
采用四组红外光敏耦合三极管发射和接受红外信号,外面可见光对接收信
号的影响较小。接收的红外信号转换为电压信号经 LM324 进行比较,产生高电平
或低电平返回给 AT89S52。本设计采用方案三。
2. 电机的分类与选择
可以作为寻迹小车驱动单元的电机有如下两种:
(1)采用步进电机。步进电机的一个显著特点就是具有快速启停能力,如果
负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或反
转。另一个显著特点是转换精度高,正转反转控制灵活。
(2)采用普通直流电机。直流电动机具有优良的调速特性,调速平滑、方便,
调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、
制动和反转;能满足各种不同的特殊运行要求。
由于普通直流电机更易于购买,小车对于精度要求不是特别高,同时电路
和控制相对简单,所以本设计采用直流电机作为驱动单元。
在电机选择结束后,要对电机的驱动进行选择,电机驱动有两种方案:
方案一:采用分立元件的 H 桥驱动电路。
方案二:采用集成的 H 桥驱动电路芯片。
由于集成的 H 桥驱动电路芯片体积小,稳定性高,因此选用集成的驱动电
路芯片作为电机的驱动芯片,型号为 L298,L298 芯片有如下特点:
(1)内含二个H-Bridge 大电流双全桥式驱动器;
(2)可驱动46V、2A以下的步进电机;
(3)1.2A 峰值每通道输出电流;
(4)使用简易;
(5)温度过高保护;
(6)内置钳位二极管。
封装如图 1 所示:
图 1 L298 元件封装图
内置电路如图 2 所示:
图 2 L298 内置电路图
3 系统硬件设计
3.1 设计总体要求
设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨
迹,并沿着黑色车轨迹行驶。系统方案方框图如图 3 所示。
3.2 整体硬件设计框图的设计
图 3 系统方案框图
此设计的整体方案是:用 AT89C51 单片机做信号的采集和处理。在 AT89C51
芯片的 P0 口连接信号的采集;经过单片机的处理,然后在 P1 口输出处理后的信
号,送给驱动电路(驱动电动机的芯片)。整体设计框图如图 4 所示。
图 4 系统的总体架构图
3.2.1 最小系统设计
最小系统用的元器件有:电阻(100Ω和 8.2kΩ各一个)、晶振(12MHZ)、
瓷片电容(30pF,两个)、电解电容(10µF 一个)。单片机最小系统电路图如 5
所示。
图 5 最小系统示图
3.2.2 信号采集电路设计
此设计中,在 AT89C51 单片机中信号采集的管脚是:P0.0、P0.1、P0.2。采
集信号光电对管的器件是 TCRT5000,此元件采集的信号在经过比较器 LM324 的
处理,然后再传输到单片机中进行处理。信号采集电路如图 6 所示。
图 6 信号采集电路图
3.2.3 驱动电动机电路设计方案
由于电动机的工作电压为 12V,所以,此时必须经过驱动芯片,给电动机提
供工作电压。此设计中,用的是 L298 芯片,并且还需要用二极管保护电动机和
L298 芯片,此时,把采集的信号经过单片机的处理,输入到电动机驱动芯片的
IN1、IN2、IN3、IN4 引脚上,如果为高电平,则对应的输出引脚上输出为 Vs,
如果为低电平,则输出为 0V,此芯片的输出引脚为 OUT1、OUT2、OUT3、OUT4,
与输入引脚一一对应。例如:IN1 为高电平,则对应的 OUT1=Vs;IN1 为低电平,
则对应的 OUT1=0V。此设计中,由于电动机的工作电压为 12V,所以 Vs=12V,也
就是,Vs 引脚上接 12V 电压。驱动电动机电路如下图 7 所示。
图 7 驱动电机电路图
3.3 系统整体电路设计
系统设计整体电路如图 8 所示。
图 8 整体电路图
4 系统软件设计
小车通过光电传感器获得路径信息,通过 AT89C51 进行判断小车所处的状
态,通过控制 H 桥驱动芯片来控制前进电机前行及转向电机进行相应的动作。小
车的前行通过光电对管(TCTR5000)采集信号控制进行改变工作状态。
小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机 I/O 口,一
旦检测到某个 I/O 口有信号,即进入判断处理程序,先确定 3 个探测器中的哪一
个探测到了黑线,如果左面的光电传感器探测到黑线,即小车左半部分压到黑线,
车身向右偏出,此时应使小车向左转;如果是右面的光电传感器探测到了黑线,
即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。如果是右面
和右边的光电传感器探测到了白线,而中间的光电传感器探测到黑线,即车身端
正压住黑线,小车向没有偏出轨迹,则应使小车向前行。在经过了方向调整后,
小车再继续向前行走,并继续探测黑线重复上述动作。循迹流程图如下图 9 所示。