北邮电子工艺实习报告 迷宫车.docx
- 文档编号:23486472
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:24
- 大小:1.12MB
北邮电子工艺实习报告 迷宫车.docx
《北邮电子工艺实习报告 迷宫车.docx》由会员分享,可在线阅读,更多相关《北邮电子工艺实习报告 迷宫车.docx(24页珍藏版)》请在冰豆网上搜索。
北邮电子工艺实习报告迷宫车
电子工艺实习实验报告
院系:
信息与通信工程学院
:
班级:
学号:
老师:
孙丹丹
北京邮电大学实习报告
实习名称
电子工艺实习
学院
信息与通信工程学院
学生姓名
班级
学号
实习时间
2015/7/6-2015/7/16
实习地点
主楼710
实
习
容
1.了解和掌握常用电子器件的类别、型号、规格、性能及简单测量等电子工艺知识和技能(7.6-7.7)
2.掌握手工焊接的工艺和技术(7.6-7.7)
3.了解发光二级管交替闪烁电路(7.8)
4.初步了解单片机相关知识及其开发环境(7.8-7.9)
5.了解迷宫机器人的基本原理和焊接;进一步熟悉和掌握单片机的C51语言编程(7.9-7.10)
6.整机调试(7.13-7.15)
学生
实习
总结
(附页,不少于2000字)
(实习任务要求、实习题目的设计思路及详细实现过程、本人在实习项目中的具体工作、实现功能及测试数据结果、遇到的问题及解决方法、心得体会和总结、参考文献、部分算法源程序等)
实
习
成
绩
评
定
遵照实习大纲并根据以下三方面按五级分制(优秀、良好、中等、及格、不及格)综合评定成绩:
1、思想品德、实习态度、实习纪律等
2、技术业务考核、笔试、口试、实际操作等
3、实习报告、分析问题、解决问题的能力
实习评语:
实习成绩:
指导教师签名:
实习单位公章
年月日
一、任务要求
此次实验共有三个部分焊接练习,基本交替闪烁电路焊接和小车的制作与调试。
学生要按照老师要求完成相关任务,并进行实验的验收。
二、目的
此次实验旨在通过焊接小车与调试小车,锻炼学生的综合能力。
其中包括:
焊接能力练习,代码编写,和综合调试等。
通过此次实验,学生应该掌握基本的焊接技术,电路调试技术和单片机开发的基本能力。
三、实验内容
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迷宫车控制系统的综合确定设计方案
迷宫车由墙壁传感器、单片机控制板、动力系统组成。
控制电路主要由电机驱动电路,单片机接口电路,电源电路和传感器电路组成。
控制框图如图所示。
主控单元
STC90C52
左方传感器
前方传感器
右方传感器
电源
电机驱动
L298N
(1)选用三个红外线传感器,通过发光二极管发出红外线,若有障碍物在前方,红外线会被反射回来,被感光三极管接收,单片机程序对信号进行比较处理,按设定的动作要求向后轮的两个电机发出控制命令,控制小车行进。
(2)电机驱动电路采用90C52单片机,通过L298N芯片来控制两个驱动电机动作。
90C52根据红外传感器对外界进行探测后反馈回来的信号,选用靠右算法,判定迷宫车行进方向,分别向左右两个驱动电机发出控制指令,该信号经L298N芯片驱动后,直接控制相应电机动作,使迷宫车按既定动作进行前进、后退、转向。
软件设计(靠右)
算法思路:
开始
右面有无障碍
右转
无
前面有无障碍
有
直行
无
有
左面有无障碍
左转
无
后转
有
结束
转向控制
现在通用的转向控制思路有两种:
1.一步到位2.逐步积累到相应角度。
两种方法各有利弊。
在本次实验中,一步到位的弊端在于对精度要求较高,不易调节,易撞墙;好处是转向速度快,启动快。
采用积累的方法可以降低对精度的要求,且撞墙几率小;但是这种方法转向较慢,速度上处于劣势。
在此次实验中,我们对两种方法对进行了相应测试,经过比较各个方面的优缺点,我们最终选择一步到位的方法。
虽然最后由于电量原因,小车多次撞墙,时间大大增加;但小车都成功走出迷宫,结果在可接受的范围内。
外壳装饰
此次实验,根据要求所有小车必须在有外观的情况下走出迷宫。
通过观察小车外形及实际行走情况,我们确定的最终方案。
首先,在小车上方固定一块与电路板同样大小的平面。
然后在这个平面上就可以很方便地铺装各种装饰,这种方法灵活度大,且固定牢靠。
小车行走代码:
stop()//停止
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
qianjin()//前进
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
}
houtui()//后退
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
}
zuozhuan()//左转
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
*************************************
youzhuan()//右转
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
//Delay_ms(60);
}
round()//后转
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
//Delay_ms(120);
}
*************************************
延时代码:
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();
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
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitIN1=P1^3;//右轮
sbitIN2=P1^5;
sbitIN3=P1^2;//左轮
sbitIN4=P1^0;
sbitzuo=P3^6;
sbitzhong=P3^7;
sbityou=P3^5;
voidDelay_ms(uintxms)//延时程序
{
uinti,j;
for(i=xms;i>0;i--)
for(j=115;j>0;j--);
}
stop()//停止
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
qianjin()//前进
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
Delay_ms(10);
}
houtui()//后退
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
}
zuozhuan()//左转
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
youzhuan()//右转
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
//Delay_ms(60);
}
round()//反转
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
//Delay_ms(120);
}
//***主程序*****//
voidmain()
{
P0=0xff;
P2=0xff;
P1=0xff;
while
(1)
{
//LED1=0;
//LED2=0;
qianjin();
if(you==1)
{
qianjin();
Delay_ms(200);
stop();
Delay_ms(5);
youzhuan();
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);
}
}
}
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北邮电子工艺实习报告 迷宫车 邮电 工艺 实习 报告 迷宫