




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目设计说明书设计课题:自动循迹的智能公交车系统 系 别 电气工程系 学生姓名 李文、李漠练、贺宇辉、邹林、陈恳、周杭 指导老师 完成日期 摘 要智能车辆是当今车辆工程领域的前沿,它体现的车辆工程,人工智能,自动控制,计算机等多个科学领域的理论交叉综合,是未来汽车发展的趋势。本设计以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.80.1cm,站台停靠标识线长为20cm。起点与终点之间公交车道总长约25m,公交站点B、C、D的位置在示意图位置附近任意放置。二、要求1基本要求 (1)电子公交站具有数据输入和显示功能,能在电子公交站上输入站台号以及本站与起始站间的距离。(2)公交车从起始站点A出发,沿着黑色引导线,经站点前下车提示、停靠动作后,自动驶到终点站C,行驶过程中不允许驶出公交车道,要求在1分钟内完成全程行驶;(3)公交车行驶到离站点100cm10cm处时(以公交站台标识线为基准),应提前发出下车提示声5s;(4)公交车驶入站台停靠时,其车身中心标识线与站台停靠标识线间误差应不超过10cm,站台停靠时间为5s;2发挥部分 (1)把5s下车提示声改为下车语音提示(如:“B站到了,旅客请下车”,播报的站名必须是B站或C站);(2)撤消C站(将站台移动到D点),要求公交车能在2分钟内从起始点A出发自动驶到D点(需要经过环行车道,不允许直接在十字路口右转弯),经过B站点时仍应有下车语音提示及停靠动作(公交车下车语音提示的距离及站台停靠的位置要求仍同基本部分的相关要求);(3)通过无线传输,公交站台上能实时显示驶向本站公交车的当前车速(单位米/秒)、到站时间(单位秒)及两者的距离(单位米),误差要求不超过5%;(4)其它。三、说明1站台可设置在公交线路上的任意位置;2公交车可用各类小车改装,其尺寸不限,但公交车必须标出中心标识线。四、评分标准设计报告项 目 满分 设计与总结报告:方案比较、设计与论证,理论分析与计算,电路图及有关设计文件,测试方法与仪器,测试数据及测试结果分析。 20 基本要求完成第(1)项10完成第(2)项15完成第(3)项15完成第(4)项10总分50发挥部分 完成第(1)项 10完成第(2)项 5完成第(3)项 25完成第(4)项10总分50第一章 方案论证、比较与选择1.1 总体方案 89S52单片机显示与输入模块语音模块测速模块循迹模块驱动模块显示模块8951单片机3个图1-1系统总体框图1.2驱动模块方案(1)电机驱动原理 直流调速控制的基本原理是按一个固定频率来接通和断开电源,并根据需要改变一个周期内接通和断开的时间比(占空比)来改变直流电机电驱上电压的“占空比”,从而改变平均电压,控制电机的转速。(2)方案的比较与选择方案一:采用分立元件驱动,即用三极管来驱动。这种方案的优点是成本低,但最大的缺点是稳定性差,在调试时比较耗时。在参加比赛制作小车时注重稳定性和时间性,故此方案不符合要求。方案二:采用专门电机驱动芯片L298N, L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压。可以直接通过单片机的O/I口提供信号,而且电路简单,使用起来比较方便。所以本设计采用方案二。1.2循迹模块方案方案一:线性CCD(电荷偶合器件摄像头)。优点是检测精度高、反应速度快,缺点是信号处理比较复杂,对摄像头记录的图像进行分割可识别困难。方案二:光电传感循迹。优点是原理简单、操作方便、信号处理速度快,缺点是分辨率低。通过分析,方案一实现困难,方案二能够满足测量需要,故选择方案二。1.3站台显示与输入模块方案方案一:数码管显示这种方案的优点是成本低,功耗小,无热量,耐冲击,长寿命,但最大的缺点是稳定性差,在调试时比较耗时显示内容少,需要加三极管驱动占用单片机资源比较多。方案二:采用1602液晶显示这种方案的优点是显示类容丰富,电路简单无须驱动,占用单片机资源少,所以本设计采用方案二1.4测速模块方案方案一:采用可见光发光二极管和光敏二极管6I$S+CR*L0r)Z 33186 Weg-J:Xf33186采用普通可见光发光管和光敏管组成的发射接收电路。其缺点在于易受到环境光源的影响。即便提高发光管亮度也难以抵抗外界光的干扰。方案二:采用反射式红外发射接收器电子园51单片机学习网9yIl Y zc1z电子园51单片机学习网v!I H_Z+cy采用反射式红外发射接收器。直接用直流电压对发射管进行供电,其优点是实现简单,对环境光源的抗干扰能力强,在要求不高时可以使用。根据设计要求选择方案二。第二章 单元模块硬件设计2.1 驱动模块设计2.1.1原理分析电机是整个小车的大脑,是整个小车运行的核心部分,起着控制小车所有运行状态的作用。通常选用单片机作为小车的核心控制单元,考虑到小车能够前进,停止,并且能灵活转弯,在左右两轮各置一个电动机进行驱动。当左轮电动机转速高于右轮时,小车向右转,反之则向左转。可以采用PWM调速法,即用单片机的I0P8和I0P9输出一系列频率相同的方波,再通过功率放大来驱动电机。占空比就可以改变加到电机上的平均电压,从而改变电机的转速。左右轮电动机转速的配合就能实现小车的前进,转向等功能。2.1.2 电路原理图2.2 循迹模块设计2.2.1电路原理这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。2.2.2电路原理图2.3语音模块设计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电路原理图第三章 软件设计8#include wenjian.h/#include sbit RS = P25; /寄存器选择输入 sbit RW = P26; /液晶读/写控制sbit EN = P27; /液晶使能控制/PSB=1; /串/并方式控制unsigned char data j, i=0;void delayus1(unsigned char cishu)unsigned char i;for(i=0;icishu;i+)_nop_();void delayms1(unsigned char time )unsigned int i,j;for(i=0;itime;i+)for(j=0;j150;j+);bit busy ()bit shuzhi;RS=0;RW=1;EN=1;delayus1(1);shuzhi=(bit)(P0&0x80);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(;qiweishu;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 = P23; /片选sbit ISD_MOSI = P22; /数据输入sbit ISD_SCLK = P24; /ISD4004 时钟sbit ISD_INT = P20; /溢出中断 /sbit ISD_RAC = P32; /行地址时钟sbit ISD_MISO = P21; /数据输出/=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); /发送上电指令,并延迟 50msvoid ISD_PowerDown(void); /发送掉电指令,并延迟 50msvoid ISD_Play(void); /发送放音指令,并延迟 50ms void ISD_SetPlay(uint add); /发送指定放音指令,并延迟 50msvoid 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;itime;i+)for(j=0;j124;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; /选中ISD4004Delay(2); ISD_SCLK = 0;Delay(2); for(i=0;i= 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; /选中ISD4004Delay(2); ISD_SCLK = 0;Delay(2); for(i=0;i 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.huchar code z_a = 株洲-T3路车;uchar code z_b = 车速 M/S;uchar code z_c = 站还有 秒;uchar code t_f=0123456789.ABCD;uchar led10;uint jishi,jishi_1;uchar sudu=0;uchar pan=2;uchar shijian=0;uint A_B=342,B_C=500;C_D=1100;/这是站与站的距离void che_su (uchar che,uint shi)/取值。che 为车速。 shi 为到下一站的时间led0 = t_fche/100%10;led1 = t_f10;led2 = t_fche/10%10;led3 = t_fche%10;led4 = t_fshi/100%10;led5 = t_fshi/10%10;led6 = t_fshi%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,11,0x99);lcdxianshi(led,7,4,0x9d);void main ()chushihua();/lcd初始化init ();/单片机初始化jiemian();/显示界面while (1)kongzhi();/检测i黑线做出判断void zhongduan () interrupt 1TH0=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;elseshijian=16;if(shijian=5)pofang(1); / 播放到站信号if(panduan=2)B_C=B_C-sudu;if(B_C=3)C_D=C_D-sudu;if(C_D=3&panduan5)/停车时 等待停留5秒break;if(panduan=0)/B站lcdxianshi(t_f,13,12,0x99);if(panduan=1)/C站lcdxianshi(t_f,14,13,0x99);if(panduan=2) /D站lcdxianshi(t_f,15,14,0x99);pofang(2);/播放声音P1=qianjin; Delayms(250);panduan+;第四章 系统测试4.1 测试内容(1)能否循迹(2)公交小车
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校团员管理办法
- 亳州老头乐管理办法
- 乡镇管残联管理办法
- 消火栓室内管理办法
- 高铁道岔管理办法
- 校园足球框管理办法
- 产品部项目管理办法
- 浙江省弃婴管理办法
- 牛屠宰管理办法内江
- 矿山开采区管理办法
- 第四单元平行与相交(单元测试)-2024-2025学年四年级上册数学青岛版
- 口腔诊所消防安全工作管理制度
- 渤海大学学生管理详细规定
- NB/T 11431-2023土地整治煤矸石回填技术规范
- (高级)烟草物理检验工职业鉴定理论考试题库-下(多选题)
- JGJ257-2012 索结构技术规程
- 战略投资部面试题目及答案
- TD/T 1058-2020 第三次全国国土调查县级数据库建设技术规范(正式版)
- 软件开发价格协议书
- ISO28000:2022供应链安全管理体系
- 乳腺癌保乳手术手术过程
评论
0/150
提交评论