北京邮电大学 智能车 电子工艺实习 实验报告.docx
《北京邮电大学 智能车 电子工艺实习 实验报告.docx》由会员分享,可在线阅读,更多相关《北京邮电大学 智能车 电子工艺实习 实验报告.docx(16页珍藏版)》请在冰豆网上搜索。
![北京邮电大学 智能车 电子工艺实习 实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/10/a97c93d2-901d-4fef-85ab-e3e5b3082a38/a97c93d2-901d-4fef-85ab-e3e5b3082a381.gif)
北京邮电大学智能车电子工艺实习实验报告
北京邮电大学实习报告
实习名称
电子工艺实习
智能小车的安装与调测
学院
信息与通信工程学院
学生姓名
班级
学号
实习时间
实习地点
实
习
内
容
一、了解和掌握常用电子器件的类别、型号、规格、性能及简单测量等电子工艺知识和技能;
二、掌握手工焊接的工艺和技术;
三、初步了解单片机相关知识及其开发环境;
四、了解发光二级管交替闪烁电路和迷宫机器人MazeRobot的基本原理;进一步熟悉和掌握单片机的C语言编程;
五、整机调试与验收,撰写实验报告。
学生
实习
总结
见附页
实
习
成
绩
评
定
遵照实习大纲并根据以下三方面按五级分制(优秀、良好、中等、及格、不及格)综合评定成绩:
1、思想品德、实习态度、实习纪律等
2、技术业务考核、笔试、口试、实际操作等
3、实习报告、分析问题、解决问题的能力
实习评语:
实习成绩:
指导教师签名:
实习单位公章
年月日
1.焊接工艺
我们通过阅读《电子工艺实习教程》自学了焊接的技术。
2.简单的发光二级管交替闪烁电路的安装调测
2.1电路原理
图2.1电路原理
2.2材料清单
表2.2材料清单
2.3交替闪烁电路的焊接与实验心得
v焊接要求
先将电路布局规划好后,将电路分块安装,而且要按照元件由低到高的顺序。
采用搭焊法将导线焊接在各元件之间。
v实验心得
刚接触焊接会觉得比较陌生,会有些不敢动手。
这个时候需要反复的练习,从焊一个一个的点开始,熟练之后再练习焊元器件。
当焊接到一定的数量之后,就自然地掌握了焊接需要的时间和角度。
虽然对简单的元器件焊接已经有了一定的把握,但是在做这个发光二极管电路的练习时还是遇到了一些问题。
首先,是在对电路的安排方面遇到了一些困难,需要设计一个较好的电路,使得既能减少焊接的任务量,又不会让导线交叉;其次,由于我们在设计电路上花费了较多的时间,导致我们的总体焊接速度较慢,这在后期让我有一些紧张,没有把应该导通的三个点焊在一起,导致最后的运行出现了问题。
还好没有造成短路,在排查出该问题后及时解决,实验成功。
这个练习让我们的焊接技术更加熟练,为之后的智能小车的焊接打下了很好的基础。
3.智能小车的设计安装与调测
3.1智能小车各部分原理图
3.2方案的前期调研、设计与论证
v传感器部分
方案:
只应用红外线传感器
优点:
利用一种传感器,便与硬件的简化分析处理。
缺点:
可能会受到室内阳光影响
方案评价:
软件与硬件都容易实现,相对较稳定。
所以我们选择此方案。
v智能小车控制算法部分
在了解了多种不同算法之后,我们选择了下面的方案。
方案:
靠前算法
1靠前算法,即一直沿着前方道路前行(前方没有任何障碍时一直前进),当前边没有墙时判断左边,左边没墙左转,左边有墙则判断右边。
然后重复该循环。
该算法使用于最简单的迷宫走法。
(此为优先左转,若先判断右边障碍则为优先右转)
2算法流程图如图所示。
(以优先左转程序为例)
3程序思路:
前边没墙靠前走,前面有墙判断左边,左边没墙靠左转,左边前边都有墙再判断右边,右边没有墙靠右转,三面都墙直接后退转180°,继续靠前走。
0表示有墙,1表示没墙。
4转角控制思路:
一轮转动一轮不转,通过不断调试其左(右)转延迟时间,使其转动90°。
v智能小车控制系统的综合确定设计方案
迷宫车由墙壁传感器、单片机控制板、动力系统组成。
控制电路主要由电机驱动电路,单片机接口电路,电源电路和传感器电路组成。
(1)选用三个红外线传感器,通过发光二极管发出红外线,若有障碍物在前方,红外线会被反射回来,被感光三极管接收,单片机程序对信号进行比较处理,按设定的动作要求向后轮的两个电机发出控制命令,控制小车行进。
(2)电机驱动电路采用90C52单片机,通过L298N芯片来控制两个驱动电机动作。
90C52根据红外传感器对外界进行探测后反馈回来的信号,选用靠前算法中的左转优先算法,判定迷宫车行进方向,分别向左右两个驱动电机发出控制指令,该信号经L298N芯片驱动后,直接控制相应电机动作,使迷宫车按既定动作进行前进、后退、转向。
v电机转动程序
◆电机停止程序
voidstop()
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
◆电机前进程序
voidqianjin()
{
IN1=1;
IN2=0;
IN3=0;
IN4=1;
Delay_ms(35);
IN1=0;
IN2=0;
IN3=0;
IN4=0;
Delay_ms
(2);
}
◆电机后退程序
houtui()
{
IN1=0;
IN2=1;
IN3=1;
IN4=0;
Delay_ms(20);
}
◆电机左转程序
zuozhuan()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
Delay_ms(70);
IN1=0;
IN2=0;
IN3=0;
IN4=0;
Delay_ms(10);
}
◆电机右转程序
youzhuan()
{
IN3=0;
IN4=1;
IN1=0;
IN2=1;
Delay_ms(70);
IN1=0;
IN2=0;
IN3=0;
IN4=0;
Delay_ms(10);
}
◆电机掉头程序
voidround()
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
Delay_ms(290);
IN1=0;
IN2=0;
IN3=0;
IN4=0;
Delay_ms(10);
}
v状态判定程序
(注:
0表示有障碍,1表示无障碍)
◆111情况
voidstate_111()
{
qianjin();
if(count1>50)
{
houtui();//卡住后退
Delay_ms(300);
youzhuan();//再you转
Delay_ms(90);
count1=0;
}
else
{
count1++;
count2=0;
count3=0;
}
}
◆110和010情况
voidstate_110_010()
{
qianjin();
if(count1>50)
{
houtui();//卡住后退
Delay_ms(300);
zuozhuan();//再左转
Delay_ms(90);
count1=0;
}
else
{
count1++;
count2=0;
count3=0;
}
}
◆011情况
voidstate_011()
{
qianjin();
if(count1>50)
{
houtui();//卡住后退
Delay_ms(300);
youzhuan();//再右转
Delay_ms(90);
count1=0;
}
else
{
count1++;
count2=0;
count3=0;
}
}
◆100和101情况
voidstate_100_101()
{
zuozhuan();
if(count2>20)
{
houtui();
Delay_ms(120);
count2=0;
}
else
{
count2++;
count1=0;
count3=0;
}
}
◆001情况
voidstate_001()
{
youzhuan();
if(count3>20)
{
houtui();
Delay_ms(120);
count3=0;
}
else
{
count3++;
count1=0;
count2=0;
}
}
◆000情况
voidstate_000()
{
stop();
Delay_ms(5);
houtui();
Delay_ms(30);
stop();
Delay_ms(5);
round();
}
v状态程序
voidstateChange()
{
if((zuo&&zhong&&you)==1)
{
stop();
Delay_ms(20);
state_111();
}
if(((zuo==1)&&(zhong==1)&&(you==0)||((zuo==0)&&(zhong==1)&&(you==0))))
{
stop();
Delay_ms(20);
state_110_010();
}
if((zuo==0)&&(zhong==1)&&(you==1))
{
stop();
Delay_ms(20);
state_011();
}
if(((zuo==0)&&(zhong==0)&&(you==1)))
{stop();
Delay_ms(20);
state_001();
stop();
Delay_ms(50);
}
if((zuo||zhong||you)==0)
state_000();
if(((zuo==1)&&(zhong==0)&&(you==0)||((zuo==1)&&(zhong==0)&&(you==1))))
{
stop();
Delay_ms(20);
state_100_101();
stop();
Delay_ms(20);
}
}
3.3系统运行与调试
v程序运行时遇到的问题及解决方法:
(1)一开始小车出现了接触不好的情况,电机无法转动,甚至有的时候出现电路无法接通的状况,由于右端的散热片出现了过热的状况,推测是电路出现了短路的情况,最后讲电机端子联通的导线全部拆下重装,将露出的导线丝用绝缘胶带粘好问题才得以解决。
(2)小车的外壳及轮子是纯手工安装的,精度不是很高,小车的轮子不是很牢固,经常容易掉落。
用一点纸卡在轮子的拼装位置将轮子固定。
(3)小车经常出现转弯角度不够或者转过了的情况,需要通过多次长期的现场调试,调整delay的参数进行效准。
有时电量不足或者刚更换的新电池也会影响到小车的转弯角度,需要仔细观察控制小车的电量,及时更换电池。
(4)在调试的过程中,发现当前方有障碍时,由于电池放置位置使小车前面太重的原因,小车总是出现“点头”的现象,为克服这种现象,我们将电池放在了靠后的位置,缓解了这个情况。
(5)小车在遇到被拐角卡住的情况时,就无法再走出迷宫了,为了增加程序的适应性,增加了count变量,控制在小车在出现被卡住时作出最大限度的调整。
当小车被卡住时,会先后退,再根据卡住时红外传感器返回的值做出向左或向右的小幅度转弯。
3.4智能小车实验心得
这次智能小车的实验更加让我意识到硬件的不可控性,可能一个细小的差别就让结果有很大的变化,一个细小的错误就会导致无法完成甚至毁坏小车。
而且发生的一些问题很难找到问题的源头。
比如我们组的小车的三个红外传感器中,有两个传感器存在闪烁的现象,这导致它们对障碍的判定不正确。
我们起初以为是传感器出现了问题所以才会有这样的情况,但是当我们回到购买传感器的店铺,用专业的仪器对这两个传感器进行测试时发现这两个传感器都是好的。
之后我们又换了几个传感器都存在闪烁的现象。
最后我们将这两枚传感器更换成了工业级的传感器才解决了这个问题。
我们无法完全避免类似的问题。
我们能做的就是尽量保证我们的每一个操作正确,按照步骤一步一步慢慢来,尽量减少失误,这样就能最大程度地避免一些不必要的问题发生。
经过本次实验,初步了解了单片机的相关知识和编程环境,对于智能机器人有了比较深的了解,而且让我们入门了基本的硬件操作。
这对我们之后的实验打好了基础。
同时,我觉得分组完成任务的形式非常好。
在实验的时候两个人可以进行交流,遇到问题了可以两个人一起解决,要比一个人自己解决效率高很多。
而且两个人互补,也可以尽量减少错误的发生。
这也锻炼了我们的团队合作,在以后的学习和工作中会起到很大的作用。