北京邮电大学实习报告杨纯210885.docx
- 文档编号:24778932
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:17
- 大小:1.78MB
北京邮电大学实习报告杨纯210885.docx
《北京邮电大学实习报告杨纯210885.docx》由会员分享,可在线阅读,更多相关《北京邮电大学实习报告杨纯210885.docx(17页珍藏版)》请在冰豆网上搜索。
北京邮电大学实习报告杨纯210885
北京邮电大学实习报告
实习名称
电子工艺实习
学院
电子工程学院
学生姓名
杨纯
班级
2012211203班
学号
2012210885
实习时间
2014年9月1日-9月11日
实习地点
北京邮电大学电子工程学院电路中心主楼610
实
习
内
容
实习题目:
1.基本手工焊接、安装技巧
2.二极管交替闪烁电路的安装调测
3.智能测速小车的安装调测
实习进度:
第一周:
1.认识焊接工具
2.学习电烙铁的使用及手工焊接技巧
3.搭建及焊接简单的发光二极管交替闪烁电路
4.智能小车焊接
第二周:
1.智能小车初步测试
2.智能小车直行、测速、测距程序调试
3.智能车验收考核
学生
实习
总结
(附页,不少于2000字)
实习任务要求:
任务一:
掌握手工焊接技巧
任务二:
二极管交替闪烁电路的安装调测,实现二极管交替闪烁
任务三:
智能测速小车安装和调试,实现智能车直行和定点停车
设计思路及详细实现过程:
任务一:
掌握手工焊接技巧
1.认识电烙铁等焊接工具
2.掌握手工焊接5步法:
准备施焊、加热焊件、送入焊丝、移开焊丝、移开烙铁
注意:
(1)焊锡的量要充分,避免虚焊
(2)移开烙铁时向上轻提,使焊点光滑整齐,呈半弓形凹下。
(3)焊接时间不要太长,避免温度过高烧坏器件。
3.练习焊接需要一定的时间。
我们在万能板上焊了许多焊点,大量练习,使我们焊接技巧得到快速提高。
任务二:
二极管交替闪烁电路的安装调测,实现二极管交替闪烁
1.根据元器件清单准备元器件:
一定要注意元器件的大小与正负
2.根据电路规划元器件在电路板上的焊接位置:
在设计电路时,要注意各元器件之间的位置和距离,先在纸上规划好电路图,再进行焊接。
特别注意二极管和电解电容的正负。
若正负接反,元器件很容易烧坏,达不到实验效果。
以下为原理图:
3.实际安装焊接电路:
焊接时,先安装电阻、二极管等低的元器件,再焊电容等高的元器件,避
免造成焊接不便。
在焊接过程中,一些较大的焊点,可用电烙铁融化后,用吸锡器吸出,重新焊接。
我们在焊接面用软线进行焊点间连接,保证元器件面整齐、干净,最后剪掉多余的管脚,使焊点整齐。
4.对电路检测盒调试、通电运行
首先,先检查电路是否焊接正确,确认电解电容和二极管没有接反。
然后接通电源检测,若二极管交替闪烁说明电路正常。
以下为测试成功的电路:
任务三:
智能测速小车安装和调试,实现智能车直行和定点停车
1.根据材料清单准备好元器件,缺少的电池、杜邦线等元器件提前购买。
2.按照电子工艺实习教程顺序由高到低焊接电路。
有了二极管闪烁电路的经验,焊接小车相对来说没那么难了。
但是智能车电路板上的洞比较密集,特别是一些芯片和排阻比较难焊,需要耐心。
3.安装USB下载模块到P10。
4.检测电源端子之间是否短路
5.检测VCC与GND之间是否短路
6.插上USB线,自锁开关弹起状态,观察PWR灯是否亮,自锁开关按下后,PWR灯是否熄灭。
7.电脑上安装USB转串口驱动程序(本人使用PL2303)
8.电脑上安装STC单片机下载程序(本人使用stc-isp-15xx-v6.66),在PWR灯亮情况下找到单片机。
9.安装KEILUVISON4程序,将电路中心网站CHECK程序下载到单片机上,适当修改程序,小车能完成初步点亮二极管、前进、后退、停止。
10.对智能车的直行、定点停车程序进行调试:
(1)首先明确调节方式。
实验中,我们采用占道比来调节左右轮转速。
因此,我们首先将万向轮固定。
(2)外部中断:
设置中断函数,利用光电传感模块,左右车轮转动时遮光板每遮挡一次光,获得一次外部INT0、INT2中断,通过运算从而得到左右轮各转了几圈。
(3)计时器:
设置计时器T0,使主程序每1毫秒进入一次中断。
利用计时器设置左右轮的高低电平,从而实现左右轮的转和停,实现左右轮速度调节。
(4)调节左右轮占空比,使小车尽量直行。
调节过程比较麻烦,需要耐心。
在小车运行时会一定左偏或右偏,需要程序来进行校准。
(5)距离和时间:
根据计时器,可以计算出小车从运行到停止的时间。
而轮子直径固定,根据外部中断个数(20个外部中断转一圈)可以得到转的圈数,从而根据PI(圆周率)*D(车轮直径)*n(圈数)得到距离。
(6)数码管显示:
数码管显示函数,将得到的距离和时间通过数码管显示。
(7)小车定点停车后,蜂鸣器响。
以下小车图片:
实
习
成
绩
评
定
本人在实习项目中的具体工作:
1.焊接智能小车由我和队友共同完成。
2.使用KEIL程序对小车直行、定点、蜂鸣程序进行调试。
主要编写定时器和中断函数。
3.编写左右轮占空比函数,调整小车直行。
实现功能及测试数据结果:
实现功能:
1.智能小车能采集光电模块的外部中断,记录左右轮旋转圈数。
2.采用T0计时器,计时准确。
3.采用内部中断函数,调节左右轮占空比,实现左右轮转速调节。
4.数码管显示小车行驶距离和时间。
5.智能小车直行,且运行中自动校准。
测试结果:
1.准确距离和时间。
2.5M基本直线行驶,偏差不超过20CM
3.5M定点停车准确。
遇到的问题及解决方法:
问题1.焊接小车过程中,由于电路板焊点比较密集,焊点焊不好。
焊接时,曾经因为锡太多,漫到了别的焊点里,造成元器件无法插入,而电烙铁也无法直接将其融化。
解决方法:
这时可先增加锡,再将整颗锡粒融化,用吸锡器将其吸出。
问题2.调整小车直行时,万向轮影响非常大。
摆放不正,或电池电压不足,小车都容易走偏。
解决方法:
我们将万向轮固定在中间位置,只调节左右轮转速,使小车直行。
万向轮,电池电压都是影响直行的重要因素。
问题3.定点停车后蜂鸣器不响。
解决方法:
因为未定义。
因此要在程序头加入sfrP4=0xe8;开启蜂鸣器。
问题4.小车向右偏
解决方法:
调节左右轮占空比,小车行进2M后,提高右轮转速,保持直行。
问题5.距离和时间显示
解决方法:
在停止函数里,根据PI(圆周率)*D(车轮直径)*n(圈数)得到距离,并显示计时器的时间。
源代码:
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definet1
ucharcodeseg_data[]
={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//0~9的段码表,0x00为熄灭符
uchardatadisp_buf[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};//显示缓冲区
sfrP4=0xe8;//开启蜂鸣器
sbitIN1=P1^3;//管脚定义
sbitIN2=P1^5;
sbitIN3=P1^2;
sbitIN4=P1^0;
sbitLED1=P2^6;
sbitLED2=P2^7;
sbitS1=P1^6;//S1开关
sbitS2=P1^7;//S2开关
sbitENA=P1^4;//A电机
sbitENB=P1^1;//B电机
sbitbeep=P4^4;
staticintpwml=0;//左轮占空比
staticintpwmr=0;//右轮占空比
staticintn;
staticintt0,t1,T,t2;//计时器0计数
staticintn0,n1,n2,n3,n4,n5;
staticintn_l=0;
staticintn_r=0;
staticintd;//距离单位CM1个中断约1.1CM
voidPWML(intnum0);
voidPWMR(intnum1);//占空比设置为1000列如:
PWML(800)表示1MS
//内左轮800微秒转,200微秒不转
/********以下是延时函数********/
voidDelay_ms(uintxms)//延时程序,xms是形式参数
{
uinti,j;
for(i=xms;i>0;i--)//i=xms,即延时xms,xms由实际参数传入一个值
for(j=115;j>0;j--);//此处分号不可少
}
/********以下是计时器配置函数********/
voidInitTimer0(void)
{
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;
}
/********以下是左轮占空比函数********/
voidPWML(intnum0)
{
if((t0*200)<=num0)
{
ENB=1;
forward();
}
else
{
ENB=0;
}
}
/********以下是右轮占空比函数********/
voidPWMR(intnum1)
{
if((t0*200)<=num1)
{
ENA=1;
forward();
}
else
{
ENA=0;
}
}
/********以下是数码管显示函数********/
display()
{
P0=seg_data[n0];//显示6号数码管
P2=0xfe;
Delay_ms(t);
P0=seg_data[n1];//显示5号数码管
P2=0xfd;
Delay_ms(t);
//P0=seg_data[n2];//显示4号数码管
//P2=0xfb;
//Delay_ms(t);
P0=seg_data[n3];//显示3号数码管11110111
P2=0xf7;
Delay_ms(t);
P0=seg_data[n4];//显示2号数码管
P2=0xef;
Delay_ms(t);
P0=seg_data[n5];//显示1号数码管
P2=0xdf;
Delay_ms(t);
LED1=0;//LED
LED2=0;
}
forward()//前进
{
IN1=1;
IN2=0;
IN3=1;
IN4=0;
}
back()//后退
{
IN1=0;
IN2=1;
IN3=0;
IN4=1;
}
right()//右轮转
{
IN1=1;
IN2=0;
}
left()//左轮转
{
IN3=1;
IN4=0;
}
stop()//左右轮停止
{
IN1=0;
IN2=0;
IN3=0;
IN4=0;
}
voidadjust()//调整左右轮速度
{
if(d>=200)
{
pwml=305;
pwmr=840;
}
if(d>=223)
{
pwml=296;
pwmr=799;
}
}
//****************主程序******************//
voidmain()
{P0=0xff;
P1=0xff;
P2=0xff;
IT0=1;//下降沿
EX0=1;//外部中断打开
IT1=1;//低电平出发
EX1=1;//外部中断打开
pwmr=-1;
pwml=-1;
while
(1)
{
display();
n0=(t1/1000)%10;
n1=((t1/1000)/10)%10;
n2=((t1/1000)/100);//t1/1000为1秒
n3=d%10;
n4=(d/10)%10;
n5=(d/100);
d=(int)((n_l/20)*3.141*7.1);//距离和时间
S1=1;
S2=1;
if(n_l>=(456))//20中断一圈约为22CM轮子直径7CM
{
T=t1;
stop();
pwml=-1;
pwmr=-1;
ET0=0;
beep=1;
Delay_ms(4);
beep=0;//定点停车后蜂鸣
}
adjust();
if(S1==0)
{Delay_ms(15*t);
if(S1==1)
{
InitTimer0();
t1=0;
pwml=295;
pwmr=799;
}
}
if(S2==0)
{
Delay_ms(15*t);
if(S2==1)
{
pwml=pwml-1;
}
}
}
}
voidtime0()interrupt1
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
t0++;
t1++;
t2++;
if(t1>=999999)
t1=0;
if(t2>=99000)
t2=0;
if(t0>=5)
t0=0;
PWML(pwml);
PWMR(pwmr);
}
voidint0(void)interrupt0
{
n_l++;
if(n_l>=999)
n_l=0;
}
voidint1(void)interrupt2
{
n_r++;
if(n_r>=999)
n_r=0;
}
心得体会:
实验过程是非常辛苦的,但结果是美好的。
我们从零基础开始学习焊接,自学51单片机,然后自己焊接小车,到后来自己编写程序。
过程中无论硬件或是软件都出现过问题。
有时,一个小的程序错误或者偏差,都要调试1个上午或1个晚上,让人心烦意乱。
但我们并不气馁。
我们不断检查,耐心调试,坚持不懈,最终在考核中成绩优异。
短短的2个星期,我们的动手能力,独立思考能力,团结协作能力都得到的大幅度提升。
这次电子工艺实习,我们受益匪浅。
实习评语:
实习成绩:
指导教师签名:
实习单位公章
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京邮电 大学 实习 报告 210885