北邮电子工艺实习报告迷宫车(4500字).docx
7页北邮电子工艺实习报告 迷宫车 (4500字)电子工艺实习实验报告院系:信息与通信工程学院姓名:班级:学号:老师:孙丹丹北京邮电大学实习报告一、任务要求此次实验共有三个部分焊接练习,基本交替闪烁电路焊接和小车的制作与调试学生要按照老师要求完成相关任务,并进行实验的验收二、目的此次实验旨在通过焊接小车与调试小车,锻炼学生的综合能力其中包括:焊接能力练习,代码编写,和综合调试等通过此次实验,学生应该掌握基本的焊接技术,电路调试技术和单片机开发的基本能力三、实验内容1.焊接1.1焊接的基本知识1.2焊接工具及其使用方法1.3焊接技巧及使用的焊接训练2.简单的发光二极管交替闪烁电路2.1电路原理2.2材料清单2.3焊接要求与实验心得一、焊接要求先将电路布局规划好,然后按照一定顺序将电路分块安装,再后固定原件,最后用搭焊的方法焊接导线连接原件二、焊接心得在进行这次焊接之前我们已经进行了两天的焊接训练,学习了基本的焊接方法和焊接技巧,所以在在进行焊接时并没有遇到什么困难但是焊接时由于把导线头留的过长,对整体焊接产生了一定影响,好在我们组成员合作较好,赶在上午下课之前完成了焊接和验收通过这次焊接,我意识到焊接练习与实际焊接电路的区别,并且初步收获了焊接电路的一些使用技巧。
实际效果图:正面:反面:3.迷宫小车的安装与调试3.1分部原理图3.2材料清单3.3方案设计传感器:方案一、利用超声波传感器利用超声波传感器来探测障碍物的有无和距离,并根据距离做出相应的规避动作优点:探测精准,且可以设定不同的探测距离缺点:价格较高,编程较复杂方案二、利用红外线传感器利用红外线接收头来测定障碍的有无优点:方法简单,易于分析缺点:精度偏低方案选择:比较以上方案,我们从各个方面考虑,红外线可满足基本的测量要求且价格便宜,易于分析,所以选定使用红外线传感器3.4迷宫算法部分:目前主流的算法共有四种:1.靠左或者靠右算法一直沿左墙壁(右墙壁)走,左边(右边)有墙时一直沿左边墙壁(右墙壁)前进,当左边(右边)没有墙时左(右)转,然后继续靠左边墙壁(右墙壁)运行该算法用于最简单的迷宫走法如图所示,其中虚线表示小车前进的路线弊端分析:按照该算法,小车在走第二遍迷宫的时候,可以一次性的走出迷宫,但是这条道路不一定是最短的道路;如果迷宫本身存在“孤岛”,那么小车很有可能走不出迷宫如图:孤岛示意图2.靠前算法一直沿着前方道路前行(前方没有任何障碍时一直前进),当前边没有墙时判断左边,左边没墙左转,左边有墙则判断右边。
然后重复该循环该算法使用于最简单的迷宫走法此为优先左转,若先判断右边障碍则为优先右转算法流程:弊端分析:该算法只适用于简单迷宫,且控制不容易操作3.洪水(泛洪)算法使用256B额外内存,会大幅提高性能该算法比一般迷宫算法的有效率高20~50倍同时可以在内存中建立一个区域,与实际中的迷宫格数一一对应在实际使用时算法并不太复杂该额外内存区域称为“浪头”,它将体现在内存区域的实际状况中如图9所示当迷宫被淹没的时候,一个波浪的前头从目标格向外扩展在内存区域中这种单元格是惟一需要处理的,当浪头到达开始的单元格子,机器人已经被淹没通常来说,开始的单元格可以是任何一个格子但是为了方便起见,把开始点设在迷宫的第一个单元格,终点任意反过来也可以把出口放在第一个单元格,把开始点设在中间或希望的位置一旦到达了起点即搜索完成,最短的路径可以使机器老鼠移动到周围的格子中数值比较小的那个格子去,依次类推机器老鼠就能走到终点算法分析:该算法理论上可以走任何迷宫,且具有记忆学习功能在第二次行走时可走最短路线但是该算法对单片机要求较高,且对转向控制具有较高要求4.辅路算法在内存中建立一个区域与实际中的迷宫格数一一对应,并将所有走过的路进行记忆,如果发现前方是死胡同或走过的路就转回前一个岔道口;在行走过程中遇岔道口默认靠左。
因为有了记忆功能,就可以走第二遍算法分析:运用该算法可以走复杂的迷宫,不存在走不出来的问题对单片机和编程的难度大大增高,不适合本次实验的要求方案确定:综合比较以上算法,我们发现靠左(靠右)算法可以满足本次实验要求,且对控制要求较低,所以我们选用靠左(靠右)算法3.5迷宫车控制系统的综合确定设计方案迷宫车由墙壁传感器、单片机控制板、动力系统组成控制电路主要由电机驱动电路,单片机接口电路,电源电路和传感器电路组成控制框图如图所示1)选用三个红外线传感器,通过发光二极管发出红外线,若有障碍物在前方,红外线会被反射回来,被感光三极管接收,单片机程序对信号进行比较处理,按设定的动作要求向后轮的两个电机发出控制命令,控制小车行进2)电机驱动电路采用90C52单片机,通过L298N芯片来控制两个驱动电机动作90C52根据红外传感器对外界进行探测后反馈回来的信号,选用靠右算法,判定迷宫车行进方向,分别向左右两个驱动电机发出控制指令,该信号经L298N芯片驱动后,直接控制相应电机动作,使迷宫车按既定动作进行前进、后退、转向软件设计(靠右)算法思路:转向控制现在通用的转向控制思路有两种:1.一步到位2.逐步积累到相应角度。
两种方法各有利弊在本次实验中,一步到位的弊端在于对精度要求较高,不易调节,易撞墙;好处是转向速度快,启动快采用积累的方法可以降低对精度的要求,且撞墙几率小;但是这种方法转向较慢,速度上处于劣势在此次实验中,我们对两种方法对进行了相应测试,经过比较各个方面的优缺点,我们最终选择一步到位的方法虽然最后由于电量原因,小车多次撞墙,时间大大增加;但小车都成功走出迷宫,结果在可接受的范围内外壳装饰此次实验,根据要求所有小车必须在有外观的情况下走出迷宫通过观察小车外形及实际行走情况,我们确定的最终方案首先,在小车上方固定一块与电路板同样大小的平面然后在这个平面上就可以很方便地铺装各种装饰,这种方法灵活度大,且固定牢靠小车行走代码:stop()//停止qianjin()//前进{{IN1=0;IN1=0;IN2=0;IN2=1;IN3=0;IN3=1;IN4=0;IN4=0;}}houtui()//后退{IN1=1;IN2=0;IN3=0;IN4=1;}zuozhuan()//左转{IN1=0;IN2=1;IN3=0;IN4=1;}*************************************延时代码:voidDelay_ms(uintxms)//延时程序{uinti,j;for(i=xms;i>0;i--)for(j=115;j>0;j--);}光电检测程序:while(1){qianjin();if(you==1){qianjin();Delay_ms(200);stop();Delay_ms(5);youzhuan();youzhuan()//右转{IN1=1;IN2=0;IN3=1;IN4=0;//Delay_ms(60);}round()//后转{IN1=1;IN2=0;IN3=1;IN4=0;//Delay_ms(120);}*************************************Delay_ms(200);stop();Delay_ms(5);qianjin();Delay_ms(380);}else{if(zhong==1){qianjin();}else{if(zuo==0){zuozhuan();Delay_ms(200);stop();Delay_ms(10);//qianjin();//Delay_ms(50);}else{qianjin();Delay_ms(200);stop();Delay_ms(10);zuozhuan();Delay_ms(190);}}stop();Delay_ms(10);qianjin();Delay_ms(410);}}3.6系统运行调试问题及解决方法:1.小车的外壳及轮子是纯手工安装的,精度不是很高,小车在行驶过程中不能一直走直线,很容易发生擦墙事故,影响小车走迷宫。
我们使用两种方法来解决问题第一种方法是在落后的轮子上缠绕胶带;第二种方法是通过更改小车的行走代码2.小车经常出现转弯角度不够或者转过了的情况,需要通过多次长期的现场调试,调整delay的参数进行效准有时电量不足或者刚更换的新电池也会影响到小车的转弯角度,需要仔细观察控制小车的电量,及时更换电池3.在调试的过程中,发现当前方有障碍时,由于电池放置位置使小车前面太重的原因,小车总是出现“点头”的现象,为克服这种现象,在小车的后面增加了装饰物,在增加小车美观度的同时尽量使全车的重量趋于平衡实验心得:在这次实验中,代码的编写和调试主要由我完成,电路的焊接和外包装的设计制作由我和韩晨阳同学共同完成焊接时并没有多大障碍,焊错一个原件之后,简单处理一下便解决了问题;不过由于焊盘太小,实际焊接时经常出现短路的情况,对于这种情况我们把洛铁头磨尖解决了问题理论代码编写在此次实验中也并不难,这主要是由于赛道简单,所遇情况较少决定的;而且此次实验大家采用的大都是相对简单的靠左或者靠右算法也可共同思考此次实验的难点是调试部分调试过程中传感器的调试,直线行走的调试,和转弯角度的调试都是十分麻烦的而且由于所用器材有限,并不能采用控制步数或者转弯距离等方式控制角度,也不能利用反馈调节直线,使机器调整十分费心。
而且由于电量变化的原因,所有的参数必须时刻调整最后,我们调出了较成功的代码虽然最后由于电量不足出现一些问题,但我们仍旧对我们的付出与收获感到满足通过这次实验我感觉收获了很多东西首先,我认识到合作的重要性,此次实验中很多部分都需要两个人同时动手,两个人的交流至关重要其次,我的耐心得到了增强在本次实验中,代码调试比较费时在做这部分时,一个平和的心态很重要,在多次调试均不成功的情况下必须调整心态,静下心继续工作最后,在别的同学那收益颇丰代码编写时,我们想出来很多种代码,及各种情况的处理解决方法;借鉴别人的思路可以帮助自己写出更加高效的代码在这,我还想对实验课提出一些建议增加元器件的种类数,我认为较多的原件种类可以给我们更多的训练,解决问题也会更好小车焊接图:小车完整代码:#include

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


