自动寻迹的智能公交车系统方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目设计说明书
设计课题:自动循迹的智能公交车系统
系别电气工程系
学生文、漠练、贺宇辉、
邹林、恳、周杭
指导老师
完成日期
摘要
智能车辆是当今车辆工程领域的前沿,它体现的车辆工程,人工智能,自动控制,计算机等多个科学领域的理论交叉综合,是未来汽车发展的趋势。

本设计以ATMEL公司的DIP-40封装的STC89S52单片机为核心,利用光敏电阻进行循迹,并检测小车是否越出轨道并且输入信息给单片机进行自动调整,回归轨道;用L298N驱动电机,控制小车的运行方向,行驶速度,以及自动停车;同时通过在小车底部安装的红外对管测试装置测试小车车轮的运转周期,从而判断小车的运行速度和运行距离;利用公交站牌按键和显示部分输入和显示公交小车所到的站点和与起始的距离;通过测试出的距离判断与站牌的距离然后自动减速,小车上的语音装置发出语音提示,并准确地在站牌位置停下。

本设计整个系统的电路结构清晰,可靠性强解且有较多的功能,实验测试结果满足设计要求。

目录
摘要.................................................... 前言...................................................
题目要求……………………………………………………………………………………………..
第一章方案论证、比较与选择...............................
1.1 总体方案............................................................
1.2驱动模块方案.........................................................
1.2循迹模块方案.........................................................
1.5显示与输入模块方案………………………………………………………………………
第二章单元模块硬件设计..................................
2.1驱动模块设计…………………………………………………………………….............. 2.2 循迹模块设计…………………………………………………………………………….
2.3语音模块设
计………………………………………………………………………………
2.4显示与输入模块设
计………………………………………………………………………
2.5测速模块设
计………………………………………………………………………………
第三章软件系统…………………………………………………............
第四章系统测试 .......................................... 第五章系统功能及指标参数.................................
4.1系统功能.............................................................
4.2 指标参数............................................................ 第五章总结 ............................................. 附录一原理图 ........................................... 附录二 PCB板.. (13)
附录三程序流程图 (14)
附录四元件清单 (19)
参考文献 (20)
前言
随着汽车工业的迅速发展,关于汽车的研究也越来越受到关注。

全国设计大赛和省设计大赛几乎每次都有这方面的题目,全国各高校也特别重视该课题的研究,可见其研究意义很大,本设计就是在这样的背景下提出的。

本课题是结合城市公交车的创新与优化的目的而提出的,具有很大的实际意义。

设计的自动循迹的公交车系统具有自动循迹,语音提示,输入显示,准确停靠站牌的功能。

根据题目的要求,确定了如下方案:在现装有电动机的小车的基础上,增加了自动循迹模块,通过光敏电阻对地面轨迹地判断反馈给单片机,再通过单片机对电动机的控制从而使小车能准确地在轨道上行走。

通过单光束放射采样光电传感器的测速装置测试车轮转动的周期从而算出小车的运行距离。

另外语音模块通过测试出的距离,在停靠站前发出语言提示。

在公交站牌上设置了输入和现实模块,显示小车到的站点和与起始的距离。

本设计采用了STC89S52单片机为控制核心,本设计与实际相结合,显示意义很大。

基于自动寻迹的智能公交车系统(C题)
【本科组】
一、任务
设计并制作一套用电池供电的智能公交车系统,包括一台能沿着黑色引导线自主行驶的公交车和两个电子公交站,公交车行驶线路如下图所示。

公交道路宽为60cm,公交道路用光滑平整的白纸制作,黑色小车引导线和状态标识线(可用电工胶带)宽度为1.8±0.1cm,站台停靠标识线长为20cm。

起点与终点之间公交车道总长约25m,公交站点B、C、D的位置在示意图位置附近任意放置。

公交车站台
二、要求
1.基本要求
(1)电子公交站具有数据输入和显示功能,能在电子公交站上输入站台号以及本站与起始站间的距离。

(2)公交车从起始站点A出发,沿着黑色引导线,经站点前下车提示、停靠动作后,自动驶到终点站C,行驶过程中不允许驶出公交车道,要求在1分钟
完成全程行驶;
(3)公交车行驶到离站点100cm±10cm处时(以公交站台标识线为基准),应提前发出下车提示声5s;
(4)公交车驶入站台停靠时,其车身中心标识线与站台停靠标识线间误差应不超过10cm,站台停靠时间为5s;
2.发挥部分
(1)把5s下车提示声改为下车语音提示(如:“B站到了,旅客请下车”,播报的站名必须是B站或C站);
(2)撤消C站(将站台移动到D点),要求公交车能在2分钟从起始点A出发自动驶到D点(需要经过环行车道,不允许直接在十字路口右转弯),经过B 站点时仍应有下车语音提示及停靠动作(公交车下车语音提示的距离及站台停靠的位置要求仍同基本部分的相关要求);
(3)通过无线传输,公交站台上能实时显示驶向本站公交车的当前车速(单位米/秒)、到站时间(单位秒)及两者的距离(单位米),误差要求不超过5%;
(4)其它。

三、说明
1.站台可设置在公交线路上的任意位置;
2.公交车可用各类小车改装,其尺寸不限,但公交车必须标出中心标识线。

四、评分标准
第一章 方案论证、比较与选择
1.1 总体方案
图1-1系统总体框图
1.2驱动模块方案
(1)电机驱动原理
直流调速控制的基本原理是按一个固定频率来接通和断开电源,并根据需要改变一个周期接通和断开的时间比(占空比)来改变直流电机电驱上电压
的“占空比”,从而改变平均电压,控制电机的转速。

(2)方案的比较与选择
方案一:采用分立元件驱动,即用三极管来驱动。

这种方案的优点是成本低,但最大的缺点是稳定性差,在调试时比较耗时。

在参加比赛制作小车时注重稳定性和时间性,故此方案不符合要求。

方案二:采用专门电机驱动芯片L298N, L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压。

可以直接通过单片机的O/I口提供信号,而且电路简单,使用起来比较方便。

所以本设计采用方案二。

1.2循迹模块方案
方案一:线性CCD(电荷偶合器件摄像头)。

优点是检测精度高、反应速度快,缺点是信号处理比较复杂,对摄像头记录的图像进行分割可识别困难。

方案二:光电传感循迹。

优点是原理简单、操作方便、信号处理速度快,缺点是分辨率低。

通过分析,方案一实现困难,方案二能够满足测量需要,故选择方案二。

1.3站台显示与输入模块方案
方案一:数码管显示这种方案的优点是成本低,功耗小,无热量,耐冲击,长寿命,但最大的缺点是稳定性差,在调试时比较耗时显示容少,需要加三极管驱动占用单片机资源比较多。

方案二:采用1602液晶显示这种方案的优点是显示类容丰富,电路简单无须驱动,占用单片机资源少,所以本设计采用方案二
1.4测速模块方案
方案一:采用可见光发光二极管和光敏二极管
采用普通可见光发光管和光敏管组成的发射-接收电路。

其缺点在于易受到环境光源的影响。

即便提高发光管亮度也难以抵抗外界光的干扰。

方案二:采用反射式红外发射-接收器
采用反射式红外发射-接收器。

直接用直流电压对发射管进行供电,其优点是实现简单,对环境光源的抗干扰能力强,在要求不高时可以使用。

根据设计要求选择方案二。

第二章单元模块硬件设计
2.1 驱动模块设计
2.1.1原理分析
电机是整个小车的大脑,是整个小车运行的核心部分,起着控制小车所有运行状态的作用。

通常选用单片机作为小车的核心控制单元,考虑到小车能够前进,停止,并且能灵活转弯,在左右两轮各置一个电动机进行驱动。

当左轮电动机转速高于右轮时,小车向右转,反之则向左转。

可以采用PWM调速法,即用单片机的I0P8和I0P9输出一系列频率相同的方波,再通过功率放大来驱动电机。

占空比就可以改变加到电机上的平均电压,从而改变电机的转速。

左右轮电动机转速的配合就能实现小车的前进,转向等功能。

2.1.2 电路原理图
2.2.1电路原理
这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。

红外探测器探测距离有限,一般最大不应超过15cm。

2.2.2电路原理图
2.3.1工作原理:
通过AT89C52单片机控制IS4004语音芯片在相应时间发出对应的语音提示,IS4004语音芯片原理不加以介绍,此模块电路原理如下图所示
2.3.2电路原理图:
2.4显示与输入模块设计
2.4.1设计原理
此模块由AT89S51单片机的最小系统与LCD1602与LCD12864显示电路组成,此模块用在公交站台与小车上,小车上通过LCD12864显示小车的车次、当前的车速与到下一站的距离。

LCD1602用在公交站台上,主要用于显示当前站台与前一站的距离、站台号以及接受小车到来时发送的无线信号,无线信号主要显示小车的车速。

2.4.2电路原理图
2.5测速模块设计
2.5.1电路原理
用光电传感器的方法测量电机,在电机上装了一个与电机同大的四对黑白相间的圆圈让光电管进行检测,光线照射到轮子并反射,由于黑线和白线的反射系数不同,可根据接收到的反射光的强弱来判断传感器和黑线相对位置。

当轮子开始旋转的时候,光电管就会对黑白相间的圆圈进行检测产生高低脉冲让单片机进行计算计数。

2.5.2电路原理图
第三章软件设计
#include "wenjian.h"
//#include <main.h>
sbit RS = P2^5;
//寄存器选择输入
sbit RW = P2^6;
//液晶读/写控制
sbit EN = P2^7;
//液晶使能控制
//PSB=1; //串/并方
式控制
unsigned char data j,
i=0;
void delayus1(unsigned
char cishu)
{
unsigned char i;
for(i=0;i<cishu;i++
)
{
_nop_();
}
}
void delayms1(unsigned
char time )
{
unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<150;j++);
}
bit busy ()
{
bit shuzhi;
RS=0;
RW=1;
EN=1;
delayus1(1);
shuzhi=(bit)(P0&0x8
0);
EN=0;
return shuzhi;
}
void wcmd (unsigned char
cmd)
{
while (busy());
RS=0;
RW=0;
EN=0;
P0=cmd;
EN=1;
delayus1(2);
EN=0;
}
void wdat(unsigned char
dat)
{
while (busy());
RS=1;
RW=0;
delayus1(1);
EN=0;
P0=dat;
delayus1(1);
EN=1;
delayus1(2);
EN=0;
}
void chushihua()
{
//时间重要
wcmd(0x34); //
扩充指令操作
delayms1(10);
wcmd(0x30); //
基本指令操作
delayms1(1);
//wcmd(0x05);
//
//delayms(5);
wcmd(0x0c);
//显示开,关光标
delayms1(1);
// wcmd(0x06);
// delayms(5); //
写一个字符后地址指针自
动加1
wcmd(0x01); //
清除LCD的显示容
delayms1(1);
}
void lcdxianshi(unsigned
char *m,unsigned char
shu,unsigned char
qiwei,unsigned char
adress)
{
//unsigned char i=0;
wcmd(adress);//显示
地址
delayms1(1);
for(;qiwei<shu;qiwei++)
//显示数组里面的第几位
到第几位的数据
{
wdat(*(m+qiwei));
Delayms(2);
}
}
#include "wenjian.h"
//=======分段录音首地址
定义
======================
#define ISD_ADDS1 0x0000 //录音存放地址1
#define ISD_ADDS2 0x0200 //录音存放地址2
#define ISD_ADDS3 0x0400 //录音存放地址3`
#define ISD_ADDS4 0x0600 //录音存放地址4
#define ISD_ADDS5 0x0800 //录音存放地址5
//========ISD4004指令定

=======================
=
//=========ISD4004--c51
接口定义
=================
sbit ISD_SS = P2^3; //
片选
sbit ISD_MOSI = P2^2; //
数据输入
sbit ISD_SCLK = P2^4;
//ISD4004 时钟
sbit ISD_INT = P2^0; //
溢出中断
//sbit ISD_RAC = P3^2;
//行地址时钟
sbit ISD_MISO = P2^1; //
数据输出
//==========ISD4004函数
定义
===================*/
void ISD_SPI_Send8
( uchar isdx8 ); //spi 串
行发送子程序,8位数据,
从低到高
void
ISD_SPI_Send16( uint
isdx16 ); //spi 串行发送
子程序,16位数据.从低到

uint ISD_SPI_Radd(void);
//读取标行地址
void ISD_Stop(void);
//发送 stop 指令
void ISD_PowerUp(void);
//发送上电指令,并延迟
50ms
void ISD_PowerDown(void);
//发送掉电指令,并延迟
50ms
void ISD_Play(void);
//发送放音指令,并延迟
50ms
void ISD_SetPlay(uint
add); //发送指定放音
指令,并延迟 50ms
void ISD_Rec(void);
//发送录音指令,并延迟
50ms
void ISD_SetRec(uint
add); //发送指定录音
指令,并延迟 50ms
void PLAY_now(uchar
add_sect); //按指定地
址开始放音
//========延时函数
=======================
====
void Delayms(unsigned
int t); //延时t*1毫

void Delay(unsigned char
time);
void Delayms(unsigned
int time)
{
uchar i,j;
for(i=0;i<time;i++)
for(j=0;j<124;j++);
}
void Delay(uchar ti_me) //延时n微秒
{
while(ti_me!=0)
{
ti_me--;
}
}
/********************** ***********************
*********************
名称:PLAY_now(uchar
add_sect)
功能:按指定地址段开始播

指令:
调用:无
返回:无
/**********************
***********************
********************/
void PLAY_now(uchar
add_sect)
{
ISD_PowerUp(); //ISD 上

Delayms(30);
switch (add_sect) //发
送 setplay 指令,从
0x0000 地址开始放
{
case 1:
ISD_SetPlay(ISD_ADDS1);
break; //发送地址的
SetRec 指令
case 2:
ISD_SetPlay(ISD_ADDS2);
break; //发送地址的
SetRec 指令
case 3:
ISD_SetPlay(ISD_ADDS3);
break; //发送地址的
SetRec 指令
case 4:
ISD_SetPlay(ISD_ADDS4);
break; //发送地址的
SetRec 指令
case 5:
ISD_SetPlay(ISD_ADDS5);
break; //发送地址的
SetRec 指令
}
Delayms(1);
ISD_Play(); //发送放音
指令
}
/**********************
*********************** *********************
名称:
ISD_SPI_Send8(uchar
isdx)
功能:spi 串行发送子程
序,8 位数据
指令:
调用:无
返回:无
/********************** *********************** *********************/
void
ISD_SPI_Send8( uchar
isdx8 )
{
uchar i;
ISD_SS = 0; //
选中ISD4004
Delay(2);
ISD_SCLK = 0;
Delay(2);
for(i=0;i<8;i++)
//先发低位再发高位,依次
发送。

{
if ((isdx8 & 0x01)
== 1) //发送最低位
ISD_MOSI =
1;
else
ISD_MOSI =
0;
isdx8 >>= 1;
//右移一位
ISD_SCLK =
1;
Delay(2);
//时钟下降沿发送
ISD_SCLK =
0;
Delay(2);
}
}
/**********************
***********************
*********************
名称:
ISD_SPI_Send16(uint
isdx16)
功能:spi 串行发送子程
序,16位数据
指令:
调用:无
返回:无
/**********************
***********************
*********************/
void
ISD_SPI_Send16( uint
isdx16 )
{
uchar i;
ISD_SS = 0; //选中
ISD4004
Delay(2);
ISD_SCLK = 0;
Delay(2);
for(i=0;i<16;i++)
//先发低位再发高位,依次
发送。

{
if
((isdx16&0x0001)==1) //
发送最低位
ISD_MOSI = 1;
else
ISD_MOSI = 0;
isdx16 = isdx16 >> 1;
//右移一位
;
ISD_SCLK=1;
Delay(2); //时钟下降
沿发送
ISD_SCLK=0;
Delay(2);
}
}
/**********************
***********************
*********************
名称:ISD_Stop(void)
功能:发送 stop 指令
指令:
ISD_SPI_Send8(uchar
isdx8);
调用:无
返回:无
/**********************
***********************
*********************/
void ISD_Stop(void)
{
Delay(10);
ISD_SPI_Send8(0x30)
;
ISD_SS = 1;
Delayms(50);
//关闭片选
}
/**********************
***********************
*********************
名称:ISD_PowerUp(void)
功能:发送上电指令,并延
迟 50ms
指令:
ISD_SPI_Send8(uchar
isdx8);
调用:无
返回:无
/**********************
***********************
*********************/
void ISD_PowerUp(void)
{
Delay(10); ISD_SS = 0;
ISD_SPI_Send8(0x20)
;
ISD_SS = 1;
Delayms(50);
}
/******************************************************************
名称:
ISD_PowerDown(void)
功能:发送掉电指令,并延
迟 50ms
指令:
ISD_SPI_Send8(uchar
isdx8); 调用:无
返回:无
/******************************************************************/
void ISD_PowerDown(void)
{
Delay(10);
ISD_SPI_Send8(0x10)
;
ISD_SS = 1;
Delayms(50);
}
/*********************************************
********************* 名称:ISD_Play(void)
功能:发送play 指令,并延迟 50ms 指令:
ISD_SPI_Send8(uchar
isdx8);
调用:无
返回:无
/******************************************************************/
void ISD_Play(void)
{
ISD_SPI_Send8(0xf0)
;
ISD_SS = 1;
}
/*********************************************
*********************
名称:ISD_SetPlay(uint
add) 功能:发送setplay 指令,
并延迟 50ms
指令:
ISD_SPI_Send8(uchar
isdx8);
ISD_SPI_Send16(uint
isdx16);
调用:无
返回:无
/********************** *********************** *********************/
void ISD_SetPlay(uint
add)
{
Delayms(1);
ISD_SPI_Send16(add);
//发送放音起始地

Delay(2);
ISD_SPI_Send8(0xe0); //发送 setplay 指令字节
Delay(2);
ISD_SS = 1;
}
//********************* ***************
//检查芯片是否溢出(读
OVF,并返回 OVF 值) //*********************
***************
void pofang(unsigned
char ci)
{
PLAY_now(ci);
while(ISD_INT==1);
//等待一段放音完毕的
EOM 中断信号
ISD_Stop(); //放音完
毕,发送 stop 指令
ISD_PowerDown();
}
//=====================
===================
#include "wenjian.h"
uchar code z_a[] = {"株
洲----T3路车"};
uchar code z_b[] = {"车
速 M/S"};
uchar code z_c[] = {"→
站还有秒"};
uchar code
t_f[]={"0123456789.ABCD
"};
uchar led[10];
uint jishi,jishi_1;
uchar sudu=0;
uchar pan=2;
uchar shijian=0;
uint
A_B=342,B_C=500;C_D=110
0;//这是站与站的距离
void che_su (uchar
che,uint shi)//取值。

che
为车速。

shi 为到下一站
的时间
{
led[0] =
t_f[che/100%10];
led[1] = t_f[10];
led[2] =
t_f[che/10%10];
led[3] =
t_f[che%10];
led[4] =
t_f[shi/100%10];
led[5] =
t_f[shi/10%10];
led[6] =
t_f[shi%10];
}
void init ()//初始化
{
EA=1;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
TH0=0x3c;
TL0=0xb0;
TH1=0x00;
TL1=0x00;
TMOD=0x51;
}
void jiemian ()// 显示文
字初始界面
{
lcdxianshi(z_a,14,0
,0x81);
lcdxianshi(z_b,14,0
,0x88);
lcdxianshi(z_c,16,0
,0x98);
che_su
(sudu,shijian);
lcdxianshi(led,4,0,
0x8a);
lcdxianshi(t_f,12,1
1,0x99);
lcdxianshi(led,7,4,
0x9d);
}
void main ()
{
chushihua();//lcd初
始化
init ();//单片机初始

jiemian();//显示界

while (1)
{
kongzhi();//检
测i黑线做出判断
}
}
void zhongduan ()
interrupt 1
{
TH0=0x3c;
TL0=0xb0;
jishi++;
if(pan==1)
{
jishi_1++;
if(jishi_1==100)
{
jishi_1=0;
pan=0;
}
}
if(jishi==20)//一秒刷新数据,列如,速度,距

{
jishi=0;
sudu=(TH1*256+TL1)*
2;//红外对管中断次数
sudu=sudu+7;
TH1=0x00;
TL1=0x00;
if(panduan==1) //
判断进入了什么站,根据相
应的参数进行处理
{
A_B=A_B-sudu;
if(A_B<=10)
A_B=0;
if(sudu!=0)
shijian=A_B/sudu;
else
shijian=16;
if(shijian==5)
pofang(1); // 播放到
站信号
}
if(panduan==2)
{
B_C=B_C-sudu;
if(B_C<=10)
B_C=0;
if(sudu!=0)
shijian=B_C/sudu;
else
shijian=20;
}
if(panduan>=3)
{ C_D=C_D-sudu;
if(C_D<=10)
C_D=0;
if(sudu!=0) shijian=C_D/sudu;
else
shijian=36;
if(shijian==6)
pofang(3);//播放到站信号
}
che_su
(sudu,shijian);
lcdxianshi(led,7,4,
0x9d);
lcdxianshi(led,4,0,
0x8a);//动态显示刷新数

}
}
void zhongduan1()
interrupt 3//红外对管中
断次数通过中断次数来测
出车速
{
TH1=0x00;
TL1=0x00;
}
#include "wenjian.h"
#define qianjin 0x66;
//前进
#define zuozhuan
0x55;//左转
#define youzhuan
0xaa;//右转
#define tingzhi
0x00;//停车
sbit P_1=P3^7;//判断引脚
sbit P_2=P3^6;
sbit P_3=P3^5;
sbit P_4=P3^4;
sbit P_5=P3^3;
uchar panduan=0;
void kongzhi () //控制
车子方向的判断
{
if((P_1==0)&&(P_2== 0)&&(P_4==0)&&(P_5==0))
{
P1=qianjin;
}
if(((P_1==1)||(P_2= =1))&&((P_4==0)&&(P_5==
0)))
{
P1=youzhuan;
}
if(((P_1==0)&&(P_2= =0))&&((P_4==1)||(P_5==
1)))
{
P1=zuozhuan;
}
if((P_1==1)&&(P_2== 1)&&(P_4==1)&&(P_5==1))
{
pan=1;
while(1)
{
EA=1;
P1=tingzhi;
if(pan==0)
break;
if(panduan>=3&&pand
uan<5)//停车时等待停留
5秒
break;
}
if(panduan==0)//B站
{
lcdxianshi(t_f,13,1
2,0x99);
}
if(panduan==1)//C站
{
lcdxianshi(t_f,14,1
3,0x99);
}
if(panduan==2)
//D站
{
lcdxianshi(t_f,15,1
4,0x99);
pofang(2);//播
放声音
}
P1=qianjin;
Delayms(250);
panduan++;
}
}
第四章系统测试
4.1 测试容
(1)能否循迹
(2)公交小车能否在到站前5秒发出语音提示并及时停靠站点(3)停站时间
(4)停站距离与实际距离的误差(列表)
(5)车站显示的小车起始距离与实际距离误差(列表)
4.2 测试结果
(1).小车能实现循迹功能
(2)公交小车队大约在站前5秒发出语音提示并能准确停靠站(3).停站时间约五秒,达到设计要求。

(5)
第五章系统功能及指标参数
5.1系统功能
设计并制作了一套用电池供电的智能公交车系统,在60CM宽的模拟的道路上能沿着黑色引导线自主行驶的公交车和两个电子公交站,小车到站停5S,小车语音报站,能通过液晶实时显示小车的车速和离下一站的距离。

站台能显示本站名称和离起始站的距离,车到站有提示。

5.2指标参数
小车循迹:
无线传输距离:
小车行进实际速度与测试速度:
小车跑完全程速度:
站点停靠车身中心标识线与站台停靠标识线间误差:
第六章总结
我们小组本次的设计题目是《自动循迹的公交车系统》,是一个富有创意且实际应用性强的项目。

设计的过程中我们遇到了很多新的问题,通过请教老师、同学和自己的学习,我们不但解决了问题还学到了很多的知识,而且从中培养了一个团队的意识,真是受益非浅。

同时,这也是一次能力锻炼的好机会,组员间通过相互配合,取长补短,把一个复杂的问题逐一化简,最终完成了这次项目的基本要求,而且还增加了一些附加的功能,使得项目更加完善。

本设计以循迹为最基本的要求,通过模块化得设计,使设计的基本骨架非常的清晰,也更加便于成员的分工,设计清晰、稳步地完成了制作和测试。

但本次设计的制作也出现了不足的地方,比如,在制作PCB板时没有考虑焊盘大小,以至于后来焊接电路时比较困难;在测速模块中,事先没有考虑到设计的可靠性,换了几种方案,耽误了一部分时间。

但在错误中,我们认识到了自己的不足,为以后的项目制作提供了丰富的经验。

附录一原理图
附录二 PCB板
程序流程图
附录五元件清单
元件名称型号数量备注Ln298 2
STC89C52 2
AT89S51 2
红外对管 3
液晶12864 1
液晶1602 3
电池组 4
语音芯片ISD4004 1
电平比较器10
集成运放NE5532。

相关文档
最新文档