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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

智能自动避障小车.docx

1、智能自动避障小车目 录第一部分摘要.2第二部分1. 设计任务.3 1.1 基本要求.32. 方案论证与比较.3 2.1 车架模块及比较.3 2.2 电源与稳压模块.3 2.3 主控模块.4 2.4 逻辑模块.4 2.5 探测模块.4 2.6 电机驱动模块.53. 系统电路设计.5 3.1 工作原理.5 3.2 总体设计.64. 系统硬件模块设计.6 4.1 电流电源及主控模块.6 4.2 逻辑模块.7 4.3 探测电路模块.7 4.4 电机驱动模块.75. 程序设计及调试.8 5.1 程序设计.86. 设计总结11第三部分1. 附录.13 1.1 所用全部硬件资源.131.2 组成员.132.

2、 参考资料.13第一部分摘 要在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。我们的自动避障小车就是基于这一系统开发而成的。 意义随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物,寻找目的地。 第三部分1. 设计任务 1.1 基本要求小车从

3、无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。并可通过两个独立按键对小车进行控速。根据火源的方向确定小车的行驶的方向。2. 方案论证与比较 2.1 车架模块及比较在设计车体框架时,我们有两套起始方案,自己制作和直接购买玩具电动车。 方案一:自己设计制作车架 自己制作小车底盘用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。但自己制作小车设计制作周期较长,且费用较高,因而我

4、们放弃这一方案。 方案二:购买玩具电动车 玩具电动车价格低廉,有完整的驱动、传动和控制单元,其中传动装置是我们所需的,缩短了开发周期。但玩具电动车采用普通直流电机驱动,带负载能力差,调速方面对程序要求较高。同时,玩具电动车转向依靠前轮电机带动前轮转向完成,精度低。 考虑到利用玩具电动小车做车架开发周期短,可留够充分的时间用于系统调试,且硬件上的不足我们有信心用优良的算法来弥补,故我们选择方案二。2.2 电源与稳压模块 方案一:采用交流电经直流稳压处理后供电 采用交流电提供直流稳压电源,电流驱动能力及电压稳定性最好,且负载对电源影响也最小。但由于需要电线对小车供电,极大影响了壁障小车行动的灵活性

5、及地形的适应能力。而且壁障小车极易把拖在地上的电线识别为障碍物,人为增加了不必要的障碍。故我们放弃了这一方案。 方案二:采用干电池组进行供电 采用四节干电池降压至5V后给单片机及其他逻辑单元供电,另取六节干电池为电机及光电开关供电。这样电机启动及制动时的短暂电压干扰不会影响到逻辑单元和单片机的工作。干电池用电池盒封装,体积和重量较小,同时玩具车底座可以安装四节干电池,正好可为单片机及其他逻辑单元供电。在稳压方面,起始时考虑使用7805芯片对6V的电池电压进行降压稳压。但考虑到这样使得7805芯片消耗大量能量,降低电池寿命;同时,由于光电开关、小车电机对于供电电压要求并不苛刻,故我们将6V电池电

6、压接一个二极管降压后直接给单片机及其他逻辑单元供电。而电机和光电开关的电源不做稳压处理。这样只需在小车主板上加两个调速按钮,根据电池电量选择合适功率即可,甚至于可直接在软件里设置自动换挡。 综合考虑,我们采用方案二。2.3 主控模块作为单片机原理与接口技术课程的course project,我们直接选用了课程主要介绍的,Atmel公司的AT89S52单片机作为主控模块。2.4 逻辑模块在探测模块和单片机中断接口之间、独立按键与单片机中断接口之间,需要经过电平的逻辑处理进行连接。主要涉及到一个三输入或非门和一个二输入与门。这两个逻辑关系我们直接选用74HC系列的集成芯片实现。 由于三输入或非门在

7、市场上很难购买到,我们采用了两个二输入或非门和一个二输入与门完成了三输入或非门。由于我们采用的74HC08(四二输入与门)、74HC02(四二输入或非门)均为四二输入的,各提供四个二输入与门和四个二输入或非门,我们用各用一片芯片即可实现所需逻辑功能。 2.5 探测模块方案一:使用超声波探测器 超声波探测器探测距离远,测距方便。但由于声波衍射现象较严重,且波包散面太大,易造成障碍物的错误判断。同时,超声波探测具有几厘米甚至几十厘米的盲区,这对于我们的避障小车是个致命的限制。故我们放弃了这一方案。 方案二:使用光电对管探测 光电对关价格低廉,性能稳定,但探测距离过近(一般不超过3cm),使得小车必

8、须制动迅速。而我们由于采用普通直流电机作为原动力,制动距离至少需要10cm。因此我们放弃了这一方案。 方案三:使用光电开关进行障碍物信息采集 使用三只E3F-DS30C4光电开关,分别探测正前方,前右侧,前左侧障碍物信息,在特殊地形(如障碍物密集地形)可将正前方的光电开关移置后方进行探测。E3F-DS30C4光电开关平均有效探测距离030cm可调,且抗外界背景光干扰能力强,可在日光下正常工作(理论上应避免日光和强光源的直接照射)。我们小车换档调速后的最大制动距离不超过30cm,一般在1020cm左右,因而探测距离满足我们的小车需求。 综上考虑,我们选用方案三2.6 电机驱动模块方案一:使用分立

9、原件搭建电机驱动电路 使用分立原件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立原件H桥电路工作性能不够稳定,较易出现硬件上的故障,故我们放弃了这一方案。 方案二:使用L298N芯片驱动电机 L298N是一个具有高电压大电流的全桥驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用比较方便。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,正好符合我们小车两个二相电机的驱动要求。 综合考虑,我们采用L298N芯片驱动小车电机。3. 系统电路设计 3.1 工作原理电池组供电

10、,提供+5V和+12V电源。程序控制小车,遇到障碍,远红外传感器发出信号,产生外部中断。单片机收到信号根据程序发出指令,小车运行进行前进,后退,左转,右转。 3.2 总体设计总体设计原理图如上。4. 系统硬件模块设计 4.1 电流电源及主控模块 直流电源降压 经过测量,一般四节新南孚电池串联带负载后可提供5.8V电压。经过二极管稳压至5.15.2V后给逻辑器件供电并给系统提供高电平标准。使用AT89S52的PA0PA3接电机驱动芯片L298N的IN1IN4,实现对电机驱动芯片的控制,进而控制电机的转动。 使用AT89S52的PB0PB2接经过电平转换的探测器信号线,实现对障碍物信息的采集。使用

11、AT89S52的PC0、PC1接受独立按键信号,实现对小车行进过程中速度的控制。由于我们小车电机电源没有经过稳压,随着电池电量的消耗,电机电池组的电压逐渐降低,因而小车速度会发生变化。我们就可以通过独立按键对速度进行提前设定,使得即使电池组电量变化,小车也能按预定速度行进。 使用AT89S52的PD2、PD3接收中断信息。在软件部分我们可以看到,随着程序的不断完善,最终我们的INT0,即PD2并没有使用。 使用引脚10为单片机供电,引脚31接地。 4.2 逻辑模块三个传感器信号线给出逻辑电平信号,当任何一个是高电平时,给INT0一个低电平信号。(如上一部分所述,最终我们用定时器中断代替了这个外

12、部中断,但作为硬件设计和焊接的一部分,我们还是给以阐释)。 两个独立按键分别控制提速和减速,没有按下时,信号线给出高电平。当任意一键按下时,信号线给出低电平,同时给出一个低电平给INT1。 4.3 探测模块光电开关发射出的红外线在经障碍物漫反射后会由光电开关再接收到,这会引起光电开关传回的电平的变化。若前方有障碍物,则光电开关传回低电平;若前方无障碍物,则光电开关传回的是高电平。有电平的变化可以实现对前方障碍物的探测。 4.4 电机驱动模块L298N芯片有两个电源引脚VDD引脚和VCC引脚。VDD引脚接+9V电源用来给电机供电,VCC引脚接+5V电源用来给芯片供电,并作为逻辑高电平标准。 L2

13、98N芯片通过一个有四个4148二极管组成的保护电路与电机相连,保护电路主要是用来在电机开启和关闭时泄流之用。 由于我们一直让转向电机以最大功率使能从而获得最大的扭矩,保证小车转向成功,而不需要控制转向电机的输出功率,所以ENA引脚(即转向电机使能引脚)直接接 +5 V,即让转向电机一直使能。 对于后置的驱动电机,我们不仅要控制其实现前进、后退和停止,还要能够控制其转速以解决由于电量不足而产生的小车变慢的问题。所以,我们将L298N芯片的ENB引脚与Mega16的PB3引脚(即OC0)连接,用来实现PWM调速。 L298N芯片的IN1和IN2引脚分别和Mega16的PA1和PA0引脚连接用来接

14、收主控芯片输出的转向电机的动作指令,并通过OUT1和OUT2来控制转向电机的正转与反转,最终功能的实现表现在小车的左转与右转。 L298N芯片的IN3和IN4引脚分别与Mega16的PA3和PA2引脚连接用来接收主控芯片输出的驱动电机的动作指令,并通过OUT3和OUT4来控制驱动电机的正转与反转,最终功能的实现表现在小车的前进、后退、停止。5. 程序设计及调试 5.1 程序设计#include#include#define uint unsigned int #define uchar unsigned charsbit GD1=P10; /光电1sbit GD2=P11; /光电2sbit

15、GD3=P12; /光电3sbit GL=P00; /驱动左转 低电平有效sbit GR=P01; /驱动右转sbit GO=P02; /驱动前进sbit BACK=P03; /驱动后退sbit PWM=P04; /PWM调速uint q=5;/延时/延时用m取15最合适 void YANSHI(uint m) uint n=1000; while(-m) while(-n); / /初始化/void chushi(void) / EA=1; /总中断开启 IT0=0; /下降沿触发方式 ET0=1; /定时中断0 EX0=1; /外部中断0开启 PWM=1; TH0=0xfc; TL0=0x

16、18; GL=1; GR=1; GO=0; BACK=1; TR0=0; /左转void ZUO(void) GL=0; GR=1; GO=0; BACK=1; YANSHI(4); /右转void YOU(void) GL=1; GR=0; GO=0; BACK=1; YANSHI(4); /前进void QIAN(void) GL=1; GR=1; GO=0; BACK=1; YANSHI(4); /后退void HOU(void) GL=1; GR=1; GO=1; BACK=0; YANSHI(4); /*定时器t0中断服务函数*/void timer0(void) interrupt

17、 1 using 1 /选用定时器0工作方式为1 if(q!=0) q-; TH0=0xff; TL0=0xff; PWM=PWM; TH0=0xff; TL0=0xff; /外部中断0void extern0(void) interrupt 0 using 1 /下面7种情况 TR0=1; if(GD1=1) /左感遇障(电光1) YOU(); /向右转 QIAN(); if(GD2=1) /中感遇障(电光2) HOU(); QIAN(); /后退向右转 if(GD3=1) /右感遇障(电光3) ZUO(); QIAN(); /向左转 if(GD1=1&GD2=1) HOU(); YOU()

18、; if(GD2=1&GD3=1) HOU(); ZUO(); if(GD1=1&GD2=1&GD3=1) HOU(); HOU(); YOU(); TR0=0; /void main() chushi(); while(1) QIAN(); YANSHI(4); 6. 设计总结三个臭皮匠赛过一个诸葛亮,相信团队的力量,要虚心请教,不耻下问。在这个设计过程中,让我们学到了很多东西,比方说在人力方面的分工协作,时间的分配。在实际设计过程中,重视理论结合实际,先从网络上收集各方面的资料,在各方面的准备工作都到位的情况下,再去进行实际的设备组装。设计前的的准备工作很重要,要仔细认真的选好所需的原件,

19、在电路的焊接过程中要注意原件不要焊错,最重要的是后面的调试。很多电子产品都不可能一次性成功,这就要求我们在调试过程中要注意很多的问题,要知道预测问题,发现问题并解决问题。例如我们在这个设计的调试的过程中遇到相当多的问题,结果大都是程序的问题,也有些是原件的焊接问题,结果导致我们直接就烧坏了三个晶振电容。最终在我们的共同努力下给解决了。最后我觉得孔子一句话可以总结:学而时习之,不亦乐乎!第三部分1. 附录 1.1 所用全部硬件资源1.简版JTAG仿真器(程序的下载和仿真) 2.遥控电动玩具车 3.E3F-DS30C4光电开关3只 4.AT89S52单片机1片 5.L298N电机驱动芯片1片 6.74LS27芯片1片 7.8050NPN三极管3只,4148二极管8只 8.实验电路板1只 9.5K1电阻5只,10K电阻2只 10.独立按键2只 11. 40引脚底座1只 12.南孚电池6节,6V电池2节13.502粘合剂1瓶1.2 组成员 组长:陈庆平, 组员:黄鹏飞、胡盛祥2. 参考资料 单片机基础第三版 XX网络资源

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

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