ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:397.83KB ,
资源ID:6666428      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6666428.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能循迹避障小车报告书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能循迹避障小车报告书.docx

1、智能循迹避障小车报告书电子科协竞赛项目报告书参赛作品:基于51单片机的智能寻迹避障小车小 组 成 员: 盛博专 业 班 级: 电信1205班报告提交日期: 2013年 4 月12日 目录1设计要求与功能 31.1设计基本要求.32 硬件设计 .32.1主控系统及所需主要元件.32.2机械系统.4 2.3电机驱动模块.52.4 循迹模块 62.5避障模块 62.6电源模块 7 2.7报警模块.7 2.8远程操控模块.83 软件设计 8 3.1主程序及框图.8 3.2电机驱动程序.9 3.3循迹程序.9 3.4避障程序.10 3.5报警及远程操控程序.104调试过程.115总结.11附录总C程序

2、11一设计要求与功能 设计并制作一个能自动循迹壁障的智能小车。可沿不规则黑色轨迹行驶,遇到障碍可自动绕行,遇到黑色停止线自动停止,轨迹、通道、障碍现场如图。 1基本要求(1)小车启动沿着轨迹行驶,遇到终点线停车;(2)小车遇到行驶轨迹范围内的障碍物应自动绕行,脱离轨迹后能自动寻找轨迹并形式到终点。 2发挥部分(1)增加声、光报警功能,增加无线遥控启动、停止功能;(2)利用Protel或者Alitum Designer等软件进行PCB设计。 二 硬件设计2.1主控系统及所需主要元件主控系统由STC89C52单片机负责,通过接收并分析信号模块传输过来的信号对各模块下达指令,使各模块能持续并稳定地共

3、同工作,形成有机的整体,从而实现小车的各种功能。所需主要元件:STC89C52单片机,减速电机,红外对管等。各口功能:P0.0-P0.2是红外传感器信号输入口;P0.3-P0.6是四路红外对管信号输入口;P1.0-P1.1是无线信号输入口;P2.0-P2.7是四路减速电机控制信号输出口。智能寻迹避障小车用单片机来设计制作完成,由于其功能的实现主要是通过软件编程来完成的,所以采用单片机STC89C52,它是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和512 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性

4、存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可以提供许多较复杂系统控制应用场合。下图为其I/O口引脚图:STC89C52管脚图2.2机械系统 机械系统由专门的双层小车底盘及四路减速电机构成。小车底盘由亚克力材料制作,易改造且较轻便。电机是小车专用的减速电机,操作简单灵活。小车和电机是一套的,组装十分方便。小车底盘图片2.3 电机驱动模块 采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图1)。用单片机控制达林顿管使之工作在占空比可调的开

5、关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。现市面上有很多此种芯片,因时间和个人能力有限,我直接选用了带有L298N芯片的驱动模块(如图2)。图1 图2图中置于散热片内部的就是L298N芯片。此种驱动板还带有5V稳压输出,可以为其他模块供电。2.4循迹模块 采用四路红外对管对轨道黑线进行检测。中间两路紧靠其宽度基本等于黑线宽度起主要循迹作用,旁边两路较分散当小车有较大偏离时起到回到轨道的作用。当遇到停车线时四路同时输入信号控制小车刹停。单个红

6、外对管如图一所示,由于时间和个人能力有限我直接选用了设计好的四路红外检测模块(图二),其能实现较好的循迹功能。 图一 图二2.5避障模块采用三支红外传感器(如图)以60度的张角置于小车前部,可以对小车前方较大范围进行探测。该红外传感器简单易操作,灵敏度高,探测距离远,可以给小车在遇到障碍物时调整提供充足时间。单支红外传感器2.6 电源模块 由于小车较重且采用四轮驱动,所以需要较大的驱动电压,理论上驱动端子的供电范围是5V35V,因此我采用将三节18650锂电池串联的方式给驱动电路供电,其最大电压可达12.6V。循迹避障及远程操控模块也分别从两个L298N驱动板上的5V稳压输出取电。为了防止驱动

7、板电流的频繁转换对单片机造成影响以及考虑到方便的问题,单片机由一个移动电源单独供电。2.7报警模块 采用单片机上附带的无缘蜂鸣器作为报警模块,当探测到前方有障碍物时小车会停止运行并发出五声警报,之后小车进行相应调整。蜂鸣器图形如图所示。2.8远程操控模块 采用315M/433M无线接收模块(带解码)(图一)和无线发射遥控器(图二)实现远程操控小车启动、停止的功能,其操作简单也较稳定。 图一 图二三 软件设计3.1主程序及框图 N Y Y N Y N N Y主程序部分:void main()loop:if(wstart!=0) /远程启动开关 while(1) while(1) if(wstop

8、!=0) goto loop; /远程停止开关 if(!(I1=1&I2=1&I3=1) break; xunji(); bizhang(); else stop();3.2电机驱动程序void go() /前进P2=0x99; void back() /后退P2=0x66;void left() /左转P2=0x55;void right() /右转P2=0xaa;void stop() /停车P2=0x0;void qstop() /刹车P2=0xff;3.3循迹程序void xunji() if(I4=1&I5=1&I6=1&I7=1) qstop();delay(100);while(

9、1)qstop(); else if(I5=1&I6=0) left();delay(30);stop(); else if(I5=0&I6=1) right();delay(30);stop(); else go();delay(100);stop();delay(80);3.4避障程序void bizhang()qstop();baojing();right();delay(300);stop();delay(300); 障碍物go();delay(600);stop();delay(300);left();delay(300);stop();delay(300);go();delay(3

10、00);stop();delay(300);left();delay(200);qstop();delay(300);3.5报警程序void baojing() uint i; for(i=5;i0;i-) spk=0; delay(300); delay(100); spk=1; delay(300); delay(100); spk=1;4.调试过程 小车的调试过程还比较顺利,第一次由于车速过快多次冲出跑道,在经过几次修改测试后解决了这个问题,小车较好地实现了预期的循迹避障功能,只是速度降低了。我发现这个问题其实还有一个原因。因为我所做的小车是四轮驱动的,而且载重又比较重,虽然动力好,但在

11、遇到角度较大的轨道时灵活性不够转弯较吃力。如果是一个万向轮和两个驱动轮组成的小车系统在转弯时会有更好的表现,但四轮也有其优势,如果软件优化到位的话应该效果会更好。在调试的过程中也发现了一些小问题,例如单片机电路板因没有和小车固定好经常滑落,电池也因接触不良偶尔断电,好在最终都能解决,不影响小车的整体性能。5.总结 经过近一个月的努力,我最终完成了小车的设计与制作,小车也基本达到了预期的要求与功能。说实话,对于我这样一个开始时几乎没有接触任何专业知识的人来说独立制作出这种小车是很困难的。在确定了制作目标后,我便不断地在网上和图书馆搜集各种相关的资料,拼命吸取其中的知识。有些零件模块起初不知道怎么

12、用问别人还被人取笑是菜鸟.一切都是从无到有积累起来的。通过这次竞赛,我学到了很多书本上没有的知识,也锻炼了自己独立思考和动手的能力,也培养了我绝不向困难屈服的精神,总之受益匪浅。这次竞赛还有一些小小的遗憾,例如还没有来得及学习有关protel制图和proteus仿真软件的知识,因此几个重要模块的电路板不是我亲自设计制作的。单片机的软件也没有来得及优化到位,元件布局也略显粗糙. 总之,由于个人水平有限,作品中可能会存在诸多问题及可提高的地方,在此诚挚地欢迎老师和同学们的批评和指正。附录总C程序#include#define uint unsigned intsbit I1=P00;sbit I2

13、=P01;sbit I3=P02;sbit I4=P03;sbit I5=P04;sbit I6=P05;sbit I7=P06;sbit wstart=P10;sbit wstop=P11;sbit spk=P15;void delay(uint z) /延时函数uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void go()P2=0x99;void back()P2=0x66;void left()P2=0x55;void right()P2=0xaa;void stop()P2=0x0;void qstop()P2=0xff;void xunji()

14、 if(I4=1&I5=1&I6=1&I7=1) qstop();delay(100);while(1)qstop(); else if(I5=1&I6=0) left();delay(30);stop(); else if(I5=0&I6=1) right();delay(30);stop(); else go();delay(100);stop();delay(80);void baojing()uint i; for(i=5;i0;i-) spk=0; delay(300); delay(100); spk=1; delay(300); delay(100); spk=1;void bi

15、zhang()qstop();baojing();right();delay(300);stop();delay(300);go();delay(600);stop();delay(300);left();delay(300);stop();delay(300);go();delay(300);stop();delay(300);left();delay(200);qstop();delay(300);void main()loop:if(wstart!=0) /远程启动开关 while(1) while(1) if(wstop!=0) goto loop; /远程停止开关 if(!(I1=1&I2=1&I3=1) break; xunji(); bizhang(); else stop();

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

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