竞赛小车文档格式.docx

上传人:b****6 文档编号:20072237 上传时间:2023-01-16 格式:DOCX 页数:32 大小:720.17KB
下载 相关 举报
竞赛小车文档格式.docx_第1页
第1页 / 共32页
竞赛小车文档格式.docx_第2页
第2页 / 共32页
竞赛小车文档格式.docx_第3页
第3页 / 共32页
竞赛小车文档格式.docx_第4页
第4页 / 共32页
竞赛小车文档格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

竞赛小车文档格式.docx

《竞赛小车文档格式.docx》由会员分享,可在线阅读,更多相关《竞赛小车文档格式.docx(32页珍藏版)》请在冰豆网上搜索。

竞赛小车文档格式.docx

本次设计是基于STC89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够避开赛道上的两块挡板,并在之后自主识别黑色引导线且根据黑线走向实现快速稳定的寻线行驶。

小车系统以STC89C52单片机为系统控制处理器;

采用红外传感器获取挡板和赛道上黑线的信息,来对小车的方向和速度进行控制。

此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。

1.2设计任务与要求

1)设计并制作一个避障循迹小车,其行驶路线示意图如下:

图1-1小车行驶路线示意图

2)机器人从起点出发,在绕过两个挡板障碍物之后,自动寻找在地上的黑线,并能跟随黑线的轨迹行走顺利地到达终点。

3)能显示机器人行驶的时间,里程,速度等其他功能。

4)机器人一旦启动后,不得人为干预其行驶,机器人须在8分钟内抵达终点,机器人冲进禁区,需重新从起点开始,时间累加,每支队伍有3次机会进行避障寻轨,取最短时间计入最终成绩,机器人长不小于15cm,宽不小于10cm

1.2设计方案论证

1.2.1单片机选择方案

方案一:

用可编程逻辑器件(PLD)实现。

这种方案与前一种相比,可靠性增加,同时可以很好的完成避障的功能。

但是循迹功能不能实现,而且这种方案只能选用数码管显示,显示的效果不够理想,无法很好的完成扩展功能的要求,系统的灵活性不够。

方案二:

采用STC89C52单片机作为系统的控制核心。

密码管理系统用I^2C总线AT24C02来实现,温度感应用DS18B20来采样温度,利用PWM控制电机转速。

由于使用了单片机,整个系统可编程,系统的灵活性大大增加了。

另外,本方案可以方便的实现其他功能的扩展。

经过以上的比较论证,选用方案二来完成项目设计的要求。

1.2.2避障的选择

方案一:

在避障模块中,选择超声波避障,优点是反应速度灵敏,距离远,受外界干扰小。

但题目所要求的距离是20cm,如果利用超声波传感器进行避障的话,由于空间小声波在小空间不同方向里会进行多次反射,左右前后的传感器之间互相干扰,使控制中心不能明确判断出那个方向遇到了障碍物,从而动作絮乱,不能实现要求。

方案二:

使用红外接收头和发射管(反射头能反射)配合,利用38K频率解决灵敏度问题。

38K调制和发射电路。

使用一个定时器的快速PWM模式产生38K调制信号,通过剩余的四个施密特触发器缓冲,推动8050三极管和红外发光管发射已经调制的红外线。

期中2个N148接单片机IO脚控制左右红外发光管轮流发射。

后面串接的可见光LED是为了方便用户调试而设置的,让用户知道当前是否在发射红外线。

通过调节PWM的占空比,调节红外发光管的亮度,从而实现调节感知障碍物距离的功能。

经过以上的比较论证,选用方案二:

使用红外接收头和发射管(反射头能反射)配合。

1.2.3显示模块的选择

使用多个数码管显示。

LED数码管是利用二极管发光显示数字和字母,具有亮度大、接口设计比较容易,价格相对较便宜等优点。

但是由于它工作电流较大、不能显示汉字,显示的信息量有限,若在此题目中应用就会受到很大的限制。

采用液晶显示。

液晶特别是具有字母显示功能的液晶显示器,来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,信息量丰富且直观易懂。

而且液晶显示有功耗低,体积小,重量轻,寿命长,不产生电磁辐射污染等优点。

经过比较论证,选用方案二:

1.2.4电机模块的选择

采用步进电机,由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。

但其输出力矩低,控制复杂,质量较重。

采用直流电机,其控制比较简单,可以通过调节方波占空比来实现PWM调速,缺点需外加传感器实现路程的计算。

基于以上分析,我们选用了方案二:

采用直流电机。

1.3设计原理

1.3.1避障原理

避障传感器我们选择光电漫反射开关,是当开关发射光束时,目标产生漫反射,发射器和接收器构成单个的标准部件,当光电开关有足够的组合光返回接收器时,开关状态发生变化,从而一起输出端电平的变化,继而利用电平进行障碍物判断。

1.3.2循迹原理

这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。

通常采取的方法是红外探测法。

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

如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

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

红外探测器探测距离有限。

1.3.3测速原理

这里我们采用光电码盘来测速,码盘圆周上有等分等宽的透光条码和遮光条码,通过采到的脉冲来进行转速与电信号的转换。

码盘与车轮同轴,置于光电对管之间,当车轮转动时,条码就可以交替的透光和遮光,从而产生一连串脉冲电压信号。

二系统硬件电路设计

2.1系统总体设计

图2-1系统硬件结构框图

2.2模块设计分析

2.2.1避障传感器模块

漫反射光电开关是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。

图2-2漫反射开关检测原理图

我们所选择的漫反射关电开关的检测距离可达30cm,其抗干扰的能力强,可进行可靠的避障。

2.2.2循迹传感器模块

反射式光电传感器是经常使用的传感器。

我们采用的红外发射接收管对价格便宜、体积小、使用方便、质量可靠、用途广泛。

在黑线检测的测试中,若检测到白色区域,发射管发射的红外线没有反射到接收管,测量接收管的电压为4.8V,若检测到黑色区域,接收管接受到发射管发射的红外线,所得电压也就随之发生变化,测的接收管的电压为0V,测试基本满足要求。

循迹模块如图2-3所示:

图2-3循迹模块图

正确选择检测方法和传感器件是决定循迹效果的重要因素,而且正确的器件安装方法也是循迹电路好坏的一个重要因素。

从简单、方便、可靠等角度出发,同时在底盘装设4个红外探测头,进行两级方向纠正控制,将大大提高其循迹的可靠性,具体位置分布如图2-4所示。

图2-4红外探头的分布图

图中四个光电传感器同在一个水平线上,其中2与3光电传感器位于靠近黑色轨迹左右边,来控制微小转弯,1和4位于远离黑线,用于检测道路分支、大角度转弯等,这是考虑到如果转弯角过大,小车即使刹车,也会由于惯性过大偏离轨道,由于加入了x2和y2这两个光电传感器,可以提前预知小车即将转弯的幅度,从而更好控制小车转弯,提高了小车循迹的可靠性。

2.2.3控制器模块

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

且具有PWM输出功能,更便于控制小车的车速及转向。

其基本模块最小系统电路如图2-5所示

图2-5

2.2.4电机驱动模块

驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。

以下为L298N的引脚图(图3-1)和输入输出关系表(表1)。

其中,系统电机驱动模块电路如图2-6:

图3-1L298N外部引脚表1L298N输入输出关系

图2-6电机驱动模块电路图

2.2.5电机模块

对于电机模块,我们考虑了两种方案,一种是步进电机,另外一种是直流电机。

下面对比一下两种电机的优缺点。

1)采用步进电机,由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。

2)采用直流电机,其控制比较简单,可以通过调节方波占空比来实现PWM调速,缺点需外加传感器实现路程的计算。

基于以上分析,我们选用了直流电机。

2.2.6显示模块

采用LCD1602作为显示器件,1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,板面能够同时显示16x02即32个字符。

(16列2行)。

上行可用于显示小车速度,下行可用于显示小车行驶过的路程。

LCD1602实物图如2-7:

图2-7LCD1602实物图

2.2.7电源模块

对于电源模块,我们采用双电源,把单片机的供电和驱动电路分开来,确保单片机控制部分和电机驱动的部分的电压不会互相影响。

这样有助于消除电机干扰,提高系统的稳定性。

2.2.8总结

综合利用以上各个模块可实现小车避障、循迹、显示速度、路程,记录道路信息等功能,我们采用物尽所用的原则,考虑到89c52的资源情况,基本上把mcu控制芯片的所有资源充分利用起来,资源分配如图2-8所示:

图2-8资源分配图

 

三系统的软件设计分析

3.1总程序框架图

图3-1总程序框架图

3.2红外循迹模块程序框架图

图3-2红外循迹模块程序框架图

四调试与测试

4.1调试过程中遇到的问题与解决

在小车调试的过程中,我们遇到了若干问题,诸如如何让小车走直线,如何让小车执行精确90度转弯,这是在避障部分所遇到的比较棘手的问题,而在循迹部分,虽能执行完任务,但却是以牺牲速度为代价的,所以在循迹部分,速度与准确性是一对矛盾,如何解决好这个矛盾,是我们所面临的最大问题。

基于以上的种种问题,我们提出种种解决方案。

对于避障所遇到的问题,如走直线,我们引入了反馈程序,通过两个车轮速度的差,调节占空比,来平衡两个轮的速度,从而实现走直线。

对于90度精确转弯,我们通过对码盘计路程,来实现比较精准的转弯,由于我们的码盘精度有限,故最后引人了2cm的误差,但在合理范围内。

在循迹方面,我们同调节探头位置,增加探头,优化程序等步骤,不断地改善循迹,从而使其速度良好,精确度有保障。

五小车实物图

图5-1小车实物图1

图5-2小车实物图2

六心得体会

此次单片机比赛让我们学到了很多东西,深深体会到学习的乐趣,也深刻的意思到团队合作的重要性,以及分工的重要性。

我们每一个组员认真的负责属于自己的部分,互相帮助,相互提高。

遇到困难,也从未气馁,而是认真分析,寻找途径,解决问题。

经过此次,大家都收获了不少知识,这是对我们的极大鼓励。

参考文献

[1]李建忠.单片机原理及应用.西安电子科技大学出版2006.02

[2]李朝青.单片机原理及接口技术.北京航空航天大学出版2006.03

[3]余发山.单片机原理及及应用技术.中国矿业大学出版社2003.12

[4]杨凌霄.微型计算机原理及应用.中国矿业大学出版社2004.08

[5]何立民.单片机应用技术选编.北京航空航天大学出版社2000.08

[6]丁立军.基于超声波传感器与红外传感器的移动机器人感测系统研制

[7]周杏鹏.传感器与检测技术清华大学出版社2009.10

附录一(元件清单)

主要电子元件名称

数量

集成非门74ls04

2片

超声波发射器和接收器

2对

电阻20K、22k、4.7k、200K、10k

若干

电容330P、1u、23.3u

单片机stc89c52

1片

液晶1602

电机驱动芯片L298N

直流电机

2个

红外发射接收对管

4对

集成运放L339N

4片

I2C总线芯片24c02

稳压电源芯片LM805

稳压电源芯片lm317

附录二(程序清单)

#include<

reg52.h>

intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

#definezhengzhuanaint0=bint0=1;

aint1=bint1=0;

#definefanzhuanaint0=bint0=0;

aint1=bint1=1;

#definestopaint0=bint0=aint1=bint1=1;

#defineyouzhuanbint1=1;

aint0=1;

aint1=0;

bint0=1;

#definezuozhuanbint1=0;

aint1=1;

sbitrs=P2^6;

sbite=P2^7;

sbitpwma=P1^0;

sbitpwmb=P1^1;

sbitaint0=P1^2;

sbitaint1=P1^3;

sbitbint0=P1^4;

sbitbint1=P1^5;

sbithw5=P2^4;

sbithw4=P2^3;

sbithw3=P2^2;

sbithw2=P2^1;

sbithw1=P2^0;

sbitguangdian1=P2^5;

sbitguangdian2=P1^6;

sbitguangdian3=P1^7;

ucharcodenumber[]="

0123456789"

;

//10位,包括空格

ucharcount,tcount,tiaojie,zkba,zkbb,bjzkb,temp,qian5,qian3,qian2,hwbl4,hwbl1,hwbl3,hwbl2,hwbl5,num,in,out;

uinti,distance,path1,path2,speed;

longway,way2;

voiddelay(uintx);

voidinit();

voidwrite_com(ucharcom);

voidwrite_dat(uchardat);

voidlcd_display();

voidzhixiantiaozheng();

voidzhuanwantiaozheng();

voidzhijiaotiaozheng();

voidjiance();

voidzhixian();

voidzhuanwan();

voidzhijiao();

voidbizhang();

voidting();

voidzuo_zhizhuan();

voidyou_zhizhuan();

voidrun();

voidback();

voiddiyizuo_zhizhuan();

voiddiyiyou_zhizhuan();

voiddierzuo_zhizhuan();

voiddieryou_zhizhuan();

voidjiehe();

voidjieherun();

voidxunji_zuoguai();

voidxunji_youguai();

voidmain()

{

init();

bizhang();

jiehe();

while

(1)

jiance();

}

voiddiyiyou_zhizhuan()

{

path1=0;

//zuozhuan;

//zhengzhuan

pwma=pwmb=0;

while(path1<

=14)

pwma=0;

pwmb=0;

pwma=1;

pwma=1;

/*if(guangdian2==0)

{

delay

(1);

if(guangdian2==0)break;

}*/

}

path1=0;

voiddieryou_zhizhuan()

=16)

voiddierzuo_zhizhuan()

path2=0;

//zhengzhuan

while(path2<

=20)

pwmb=1;

pwma=0;

if(guangdian3==0)

if(guangdian3==0)break;

}

path2=0;

voiddiyizuo_zhizhuan()

=12)

}

voiddelay(uintx)

{

uinta,b;

for(a=x;

a>

0;

a--)

for(b=250;

b>

b--);

voidinit()

TMOD=0x51;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

IT0=1;

IT1=1;

EX0=1;

EX1=1;

EA=1;

TR0=1;

e=0;

delay

(1);

write_com(0x38);

write_com(0x0c);

//开显示,设置光标不闪烁

write_com(0x06);

//光标移动设置

write_com(0x01);

//清屏

write_com(0x80);

write_dat('

v'

);

:

'

write_com(0x80+7);

//换写入位置

c'

m'

/'

s'

write_com(0xc0);

//换行开始显示路程

write_com(0xc0+8);

speed=distance=way=way2=bjzkb=num=in=out=0;

lcd_display();

tiaojie=1;

delay(500);

}

voidwrite_com(ucharcom)

rs=0;

e=1;

P0=com;

voidwrite_dat(uchardat)

rs=1;

P0=dat;

voidlcd_display()

{

write_com(0x80+3);

write_dat(number[speed/100]);

write_dat(number[(speed/10)%10]);

write_dat(number[speed%10]);

write_com(0xc0+3);

//换行开始显

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1