当前位置:文档之家› 电子工艺实习实验报告

电子工艺实习实验报告

电子工艺实习实验报告(迷宫车实验)院系:xxxxxxxxxxxxx姓名:xxxx班级:xxxxxxxxxx学号:xxxxxxxxxx一、任务要求此次实验共有三个部分焊接练习,基本交替闪烁电路焊接和小车的制作与调试。

学生要按照老师要求完成相关任务,并进行实验的验收。

二、目的此次实验旨在通过焊接小车与调试小车,锻炼学生的综合能力。

其中包括:焊接能力练习,代码编写,和综合调试等。

通过此次实验,学生应该掌握基本的焊接技术,电路调试技术和单片机开发的基本能力三、实验内容1.焊接焊接用工具:电烙铁、吸锡器、其它常用工具(烙铁架、尖嘴钳、剪刀、斜嘴钳、剥线钳、镊子、切刀等)焊接用材料:焊料(铅锡焊料有熔点低、机械强度高、表面张力小、抗氧化性好的特点)、助焊剂(树脂、有机、无机)2.简单的发光二极管交替闪烁电路电路原理材料清单交替闪烁电路的焊接与实验心得焊接要求先将电路布局规划好后,将电路分块安装,但还是要按照元件由低到高的顺序。

采用搭焊法将导线焊接在各元件之间。

实验心得虽然在上学期的模电实验中已经接触过焊接,但很久没有用过而且以前对焊接的要求也没有那么严格,所以一开始还是非常紧张的,都不太敢下手。

一开始的规划安装蓝图这部分真的非常重要,自己事先在白纸上按照原件的实际大小规划了一下安装图,使得在焊接导线的时候不至于过分拥挤导致可能出现焊接短路的情况发生。

焊接的时候心里默念老师教的焊接步骤,一步一步进行。

不过由于是第一次焊接实际电路,还是出现了一些可以再改进的状况,比如我们的每一条连接线都使用导线焊接相连,但是由于焊接技术含不成熟,有些短导线绝缘皮会被烫化,易短路,而且焊接位置的高低也不好控制,后来观察了其他组的焊接成果,可以将距离比较近的元件金属线直接焊在一起,省时且效果更好。

不过幸好,此次试验一次成功,没有经过再调试,为后来小车实验的焊接增加了信心。

经过本次试验,进一步熟悉和掌握了焊接的技巧,了解了焊接实际电路时的必要步骤,同时学习了很多导线的焊接方法(绕焊、搭焊、勾焊等),提高了个人对于电路实验的兴趣,为今后的实际科研中电路实验奠定了基础。

2.迷宫小车的安装与调试分部原理图小车装配图只应用红外线传感器优点:价格便宜,且利用一种传感器,便与硬件的简化分析处理。

缺点:可能会受到室内阳光影响迷宫车控制算法部分经前期,在图书馆和网上对迷宫车控制算法的查阅,总结出以下四种算法。

方案一:靠右(左)算法算法思路:①默认靠右(左)走法。

即一直沿右(左)墙壁走,右(左)边有墙时一直沿左边墙壁前进,当右(左)边没有墙时右(左)转,然后继续靠右(左)边墙壁运行。

该算法用于最简单的迷宫走法。

如图所示,其中虚线表示小车前进的路线。

②算法流程图如下图所示。

②走出迷宫,但是这条道路不一定是最短的道路;如果迷宫本身存在“孤岛”,那么小车很有可能走不出迷宫。

“孤岛”迷宫示意方案二:靠前算法①靠前算法,即一直沿着前方道路前行(前方没有任何障碍时一直前进),当前边没有墙时判断左边,左边没墙左转,左边有墙则判断右边。

然后重复该循环。

该算法使用于最简单的迷宫走法。

(此为优先左转,若先判断右边障碍则为优先右转)③算法流程图如图所示。

(以优先左转程序为例)③程序思路:前边没墙靠前走,前面有墙判断左边,左边没墙靠左转,左边前边都有墙再判断右边,右边没有墙靠右转,三面都墙直接后退转180°,继续靠前走。

0表示有墙,1表示没墙。

④转角控制思路:一轮转动一轮不转,通过不断调试其左(右)转延迟时间,使其转动90°方案三:洪水算法①洪水算法。

即使用256 B额外内存,会大幅提高性能。

该算法比一般迷宫算法的有效率高20~50倍。

同时可以在内存中建立一个区域,与实际中的迷宫格数一一对应。

在实际使用时算法并不太复杂。

该额外内存区域称为“浪头”,它将体现在内存区域的实际状况中如图9所示。

当迷宫被淹没的时候,一个波浪的前头从目标格向外扩展。

在内存区域中种单元格是惟一需要处理的,当浪头到达开始的单元格子,机器人已经被淹没。

通常来说,开始的单元格可以是任何一个格子。

但是为了方便起见,把开始点设在迷宫的第一个单元格,终点任意。

反过来也可以把出口放在第一个单元格,把开始点设在中间或希望的位置。

一旦到达了起点即搜索完成,最短的路径可以使机器老鼠移动到周围的格子中数值比较小的那个格子去,依次类推机器老鼠就能走到终点。

②洪水算法的优缺点:1.按照该算法小车在第一次走迷宫的时候,必须把迷宫中所有的道路都走一遍。

但是该算法可以让小车走任何迷宫,即使迷宫本身有“孤岛”小车一样可以顺利的走出迷宫。

2.当小车再走第二遍迷宫的时候小车可以1次性走正确的路线走出迷宫,并且该路线一定为最短的路线。

3.对单片机要求较高,同时编程难度大大加大,不适宜本次试验的要求。

方案四:铺路算法①在内存中建立一个区域与实际中的迷宫格数一一对应,并将所有走过的路进行记忆,如果发现前方是死胡同或走过的路就转回前一个岔道口;在行走过程中遇岔道口默认靠左。

因为有了记忆功能,就可以走第二遍。

②铺路算法优缺点1.运用该算法可以走复杂的迷宫,不存在走不出来的问题。

2.运用该算法在小车第二次走迷宫的时候可以一次性的走出迷宫,但是不能保此条道路走的是最短的线路。

3.同洪水算法,对单片机和编程的难度大大增高,不适合本次实验的要求。

方案确定:这几种算法各有优缺点,但由于单片机和算法难易的差别,经权衡比较,最终选择靠右算法。

迷宫车控制系统的综合确定设计方案迷宫车由墙壁传感器、单片机控制板、动力系统组成。

控制电路主要由电机驱动电路,单片机接口电路,电源电路和传感器电路组成。

控制框图如图所示。

(1)选用三个红外线传感器,通过发光二极管发出红外线,若有障碍物在前方,红外线会被反射回来,被感光三极管接收,单片机程序对信号进行比较处理,按设定的动作要求向后轮的两个电机发出控制命令,控制小车行进。

(2)电机驱动电路采用90C52单片机,通过L298N芯片来控制两个驱动电机动作。

90C52 根据红外传感器对外界进行探测后反馈回来的信号,选用靠右算法中的右转优先算法,判定迷宫车行进方向,分别向左右两个驱动电机发出控制指令,该信号经L298N芯片驱动后,直接控制相应电机动作,使迷宫车按既定动作进行前进、后退、转向。

软件设计(右手扶墙法)算法思路:程序代码:#include<reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define t 1ucharcode seg_data[ ] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};uchar data disp_buf[7] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00};sbit IN1 =P1^3;sbit IN2=P1^5;sbit IN3=P1^2;sbit IN4=P1^0;sbit LED1=P2^6;sbit LED2=P2^7;sbit S1=P1^6;sbit LEFTC=P3^7;sbit RIGHTC=P3^4;sbit FRONTC=P3^6;unsigned int count=0;void Delay_ms(uint xms){uint i, j;for(i=xms;i>0;i--)for(j=115;j>0;j--);}display(){P0=seg_data[0];P2=0xfe;Delay_ms(t);P0=seg_data[1];P2=0xfd;Delay_ms(t);P0=seg_data[2];P2=0xfb;Delay_ms(t);P0=seg_data[3];P2=0xf7;Delay_ms(t);P0=seg_data[4];P2=0xef;Delay_ms(t);P0=seg_data[5];P2=0xdf;Delay_ms(t);P2=0xff;}stop(){IN1=0;IN2=0;IN3=0;IN4=0;// Delay_ms(1000);}qianjin(){IN1=0;IN2=1;IN3=1;IN4=0;}stopandleft(){TMOD=0x01;TH0=0xfe; TL0=0x0c; EA=1; ET0=1; TR0=1; count=0;while(1){display();count++;if( count<50 ){IN1=0;IN2=0;IN3=0;IN4=0;}else{if(count<65){IN1=0;IN2=1;IN3=0;IN4=1;}else break;}}}stopandright(){ TMOD=0x01;TH0=0xfe; TL0=0x0c; EA=1; ET0=1; TR0=1;count=0;while(1){display();count++;if( count<30 ){IN1=0;IN2=0;IN3=0;IN4=0;}else{if(count<60){IN1=1;IN2=0;IN3=1;IN4=0;}else{if(count<130){IN1=0;IN2=1;IN3=1;IN4=0;}else break;}}}}houtui(){IN1=1;IN2=0;IN3=0;IN4=1;}turn_around(){TMOD=0x01;TH0=0xfe; TL0=0x0c; EA=1; ET0=1; TR0=1; count=0;while(1){display();count++;if(count<50){ IN1=0;IN2=1;IN3=1;IN4=0;}else{if(count<130){ IN1=0;IN2=1;IN3=0;IN4=1;} else break; }}}void main(){ P0=0xff;P2=0xff;P1=0xff;TMOD=0x01;TH0=0xfe; TL0=0x0c; EA=1; ET0=1; TR0=1;count = 0;while(1){display();count++;if(RIGHTC==1){stopandright();}elseif(FRONTC==1)qianjin();elseif(LEFTC==1)stopandleft();elseturn_around();}}任务分配:我在迷宫车的实验中主要负责硬件的焊接和车身外壳的制作,并参与单片机程序的编写与调试程序运行时遇到的问题及解决方法:(1)在开始焊接时我们没有按照指导书上的步骤进行,而是按照插孔和管脚对应来焊,结果焊单片机的时候没有加底座,直接将单片机焊在了小车板上。

相关主题