三极管特性参数测试系统毕业论文.doc

上传人:白大夫 文档编号:4557350 上传时间:2019-11-16 格式:DOC 页数:54 大小:675.09KB
返回 下载 相关 举报
三极管特性参数测试系统毕业论文.doc_第1页
第1页 / 共54页
三极管特性参数测试系统毕业论文.doc_第2页
第2页 / 共54页
三极管特性参数测试系统毕业论文.doc_第3页
第3页 / 共54页
三极管特性参数测试系统毕业论文.doc_第4页
第4页 / 共54页
三极管特性参数测试系统毕业论文.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《三极管特性参数测试系统毕业论文.doc》由会员分享,可在线阅读,更多相关《三极管特性参数测试系统毕业论文.doc(54页珍藏版)》请在三一文库上搜索。

1、 毕业论文毕业论文(设计设计) 题题 目目 基于 51 单片机的三极管特性参数测试系统 学生姓名 李青 学 号 20081305071 院 系 电子与信息工程学院 专 业 电子信息工程 指导教师 张宏群 二二一二一二 年年 五五 月月 三十三十 日日 1 目 录 引言 .3 1.本测试系统的实现功能和设计要求 .3 1.1 系统功能 3 12 设计要求 .4 2.系统设计框图及原理 .4 2.1 系统框图 4 2.2 本测试系统的工作原理 4 3.设计方案的选择 .5 3.1 电压采样电路设计方案的选择 5 3.2 反向击穿电压测量电路 5 3.3 反向饱和电流测量电路 6 3.4 三极管共发

2、射极输入、输出特性曲线测量的方案 6 3.4.1 测量输入特性曲线: 6 3.4.2 测量输出特性曲线: 7 3.5 测量结果显示放案 8 4.各功能模块的硬件电路的工作原理及相关参数选取 .8 4.1 单片机最小系统 8 4.2 电压采样电路的设计及放大系数的计算 .10 4.2.1 基极、集电极采样电路 10 2 4.2.2 测三极管的的放大系数12 4.3 A/D 转换输出电路: .13 4.3.1 ADC0809 在实验系统中的电路13 4.3.2 与 ADC0809 相连的电路 .16 4.4 设计中使用的倍压电路 .17 4.5 DA 双极性电压输出电路 19 4.6 液晶显示 .

3、21 5 结束语 23 参考文献: 23 附录 1:元件清单.26 附录 2:源程序.26 3 基于基于 5151 单片机的三极管特性参数测试系统的设计单片机的三极管特性参数测试系统的设计 李青 南京信息工程大学电子信息工程系,南京 210044 摘要:摘要:本文介绍一种三极管特性参数测试系统的简单方法,该系统是基于 51 单片机的,该测试系统能测试几种数据,整个系 统采用模块化设计,能较精确的对晶体管交直流放大特性参数、输入输出特性曲线、反向击穿电压和反向饱和电流进行测 量。由于应用本系统可以较精确的测量出晶体管(三极管)的特性,所以对于三极管的特性参数的研究有一定的理论支持和实 际意义。本

4、系统具有许多优点,它在抗干扰能力、性价比和功耗等方面相比于其他一些系统有一定的优势。 关关键键字字:三极管;单片机;模块化;优点 引言 三极管是一种很常见的电子元器件,它虽然体积较小,结构简单,但是往往在电子线路中起到很大 的作用,三极管的好坏和特性参数能对电路产生很大的影响,甚至直接影响电路的功能。目前有很多方 法测试晶体三极管,同时用于测量晶体三极管的各种图示仪有很多,它们大多用于测量或者观察三极管 的各种输入、输出等特性,这些图示仪有良好的性能和较高的精度,但是这些仪器的性价比和实用性不 强,主要原因是因为这些仪器的电路制作比较麻烦,性价比不高。而另外一些采用数字电路制作晶体管 特性图示

5、仪,由于测量精度较低,且一般只能测量输出特性,所以其应用也不是很广。本课题设计的三 极管特性参数测试系统制作相对比较简单方便且实用,主要用一些集成芯片组成,本测试系统的设计以 AT89S52 单片机为整个设计模块的基础,同时还使用了 ADC0809 和其他的一些重要集成芯片组成各功能 模块,这些模块是本系统设计的必要组成部分,它们结合在一起构成的系统能对三极管的各项特性参数进 行较为准确的测量,能基本满足设计要求。本系统对三极管的特性参数数据的显示是通过 LCD 显示出来 的,这些参数是由单片机最小系统、A/D 转换电路、D/A 转换电路和采样电路等模块综合实现得来的,然 后由单片机处理后送到

6、显示电路显示。 1.本测试系统的实现功能和设计要求 1.1 系统功能 本系统能测试出小功率晶体三极管(BJT)的一些特性参数,包括输入输出特性曲线、交直流放大系数、 反向击穿电压和反向饱和电流。 4 12 设计要求 (1)在IB0,10A,20A,30A,UCE= 012V 条件下,显示出三极管共射极接法输出 特性曲线。 (2)在|IB|10A,| UCE|10V 条件下,能测出三极管的直流电流放大系数 ,并用数字显示。测量 范围 50300;当|IB|由 10A 变化到 20A,| UCE|保持不变,能测出三极管的交流放大系数 ,并用数 字显示。 (3)在| UCE|=10V 的条件下,测量

7、三极管的集电极发射极反向饱和电流 ICEO=1mA,用数字显示,测量 范围 0.1A100A,测量误差10%。 (4)测量三极管的集电极发射极间的反向击穿电压,并用数字显示;测试条件 IC=1mA,测量 CEOBR V )( 范围 20V60V,测量误差5%。 (5)具有三极管管脚插错、损坏指示报警功能。 2.系统设计框图及原理 2.1 系统框图 采样电路 ADC0809单片机LCD 显示 三极管DAC0832 数控电源 I/O 电平控制 图 1 本设计的系统框图 2.2 本测试系统的工作原理 本系统在测量三极管的特性参数时需要得到的测量数据是三极管的基极、集电极上的数据(即电压 电流数据)

8、,本测试系统的核心部分是单片机最小系统,它在设计中起到了中枢的作用,它连接了 A/D、D/A 转换电路等重要的功能模块,协调各功能模块的工作,有效的实现了发送数据控制电路和接受 处理数据。将待测三极管连接到采样电路中,采样电路将采集到的三极管的基极、集电极数据(模拟量) 5 送到 ADC0809 中,ADC0809 将收集到的模拟量转为数字量送入到单片机中处理,单片机在 C 程序的驱动下 控制 DAC0832 输出的电压值,为待测三极管供电,即起到数控电压源和数控电流源的作用。单片机通过 P3 口的电平控制采样电路中的 BJT 的基极电流的产生与断开,从而控制与集电极相连的继电器,当 P3 口

9、 输出高电平时,由于 BJT 的发射极与地相连,所以有基极电流产生,继电器中也有电流通过,此时继电 器由常开触点切换到常闭触点;若单片机输出的是低电平,则没有基极电流产生,继电器中没有电流, 继电器保持在常开触点上。通过对继电器的工作状态的改变来改变采样电路的采集数据的工作状态。同 时,采集电路中还通过开关的开合来改变采样电路的工作状态。最后,单片机将采集到的数据处理后送 到 LCD 液晶中显示出来。 3.设计方案的选择 3.1 电压采样电路设计方案的选择 电压采样电路主要有以下三种方案: (1)在发射极串电阻,直接测量发射极电流 Ice。这种方案有其优点,即由于电阻两端对地电压较 低,所以便

10、于对其进行放大检测。但这种方法也有一定的缺点和不足,即由于发射极串接的电阻导致基 极电位的确定比较困难,所以很难选择合适的基极电阻,同时造成 Uce 的确定也会带来一定的困难。 (2)直接测量基极和集电极电阻两端电压。该方法有比较简易的优点,但是该方法也有其缺点,即 使用该方法的电路较为复杂,往往需要在电路中使用多个运算放大器,而且使用该方法测量的精确度不 高,所以在需要得到比较精确的测量数据时不宜使用这种方法。 (3)分别对三极管的基极电压和集电极电阻两端电压进行采样。所使用的电路为两路数据采集电路。 若所测量的三极管为 NPN 型,则设计方案采用经过普通运放组成的同向比例放大电路使基极电压

11、进行放 大。然后将采集的数据送到 A/D 转换器中处理。而对集电极电阻两端的电压进行采样时,使用 INA126 进 行放大处理。若所测三极管为 PNP 型管,采样时将电压经过反向比例电路转换成正电压以满足 ADC0809 采样的需要。 经比较发现,显然方案三的电路结构较简单,测量精度较高,故设计采用方案(3) 3.2 反向击穿电压测量电路 反向击穿电压测量电路的关键主要是获得可调电压源,从而实现 0 100V 电压的连续输出,该电路有两 种设计思路: (1)可调电压源主要由变压器、三端稳压器等组成的电路提供,其功能是实现 0 100V 电压的连 续输出。采用这种方案输出电压虽然比较简单可操作性

12、强,但是这种方法很难检测出产生高压的情况, 所以容易使产生的大电流对电路造成损坏,考虑以上情况的存在,这种方法不宜使用。 6 (2)使用 D/A 芯片 DAC0832,将其输出经倍压电路(由 COMS 和与非门组成)后得到可调高压。通过 DA 控制逐步增大加在三极管集电极的电压,同时对集电极电流实时检测,当检测到电流发生突变时,记 录下此时的 DA 输出电压值。根据加压倍数(与倍压电路有关,几倍压就放大几倍)即可得到 Uceo。相比 于前一种方法,这种方法更控制容易,而且便于检测电压。且采用的倍压电路具有输出电流小的特点, 这样使得即使实验中出现操作不当的行为也不易对电路造成损坏。由比较可知,

13、采用第二种思路更加安 全可行。 3.3 反向饱和电流测量电路 在测量反向饱和电流时,因为三极管的反向饱和电流很小,所以在测量时会导致较大的测量误差。 在实际测量时,为了能较准确的测量出其电流值,减小测量误差,可以通过测量电压值来测量电流,所 以在设计中要将阻值较大的电阻连接到集电极电路中。不妨使用阻值为 1M 的大电阻。在测量时电阻的 切换是用继电器实现的。 3.4 三极管共发射极输入、输出特性曲线测量的方案 3.4.1 测量输入特性曲线: 输入特性曲线:输入特性曲线描述的是三极管的基极电流随发射结压降变化关系的曲线。即满足 函数 iB=f(UBE) UCE=常数。当 UCE=0 时,即集电极

14、与发射极之间的电压值为零,相当于集电极与 发射极短路,等效为发射结与集电结之间处于并联状态。 当自变量 UCE增大时,输入特性曲线向右移动。当 UCE大于 1V 时,曲线基本不变了。设计中采用固定 UCE=10V。 输入特性曲线如下图所示: 由图 2 可知,当电压 UCE增大时,曲线右移了。 7 图 2 晶体管的输入特性曲线 由于发射极接地,所以 UCEUC,因此测量时固定 UC=12V,通过数控电压源(由DAC0832 作用) 以一定步长增大基极电压(同理,由于发射极接地,故 UBEUB) ,每增大一次电压后采集一次电流 iB, 送入内存中。单片机将采集到的各组数据处理后,将各组数据用坐标形

15、式确定其位置,在 LCD 上显示出 曲线的形状。 3.4.2 测量输出特性曲线: 输出特性曲线:输出特性曲线描述基极电流 IB为一常量时,集电极电流 iC 与管压降 UCE 之间的函 数关系,即 iC=f(UCE) IB=常数 。 图 3 输出特性曲线 对于每一个确定的 IB,都有一条曲线,所以输出特性是一簇曲线,如图所示。对于某一条曲线,当 UCE 从零逐渐增大时,集电结电场随之增强,因而 iC 也就逐渐增大,收集能力已不能明显提高,表现为 曲线几乎平行于横轴,即 iC几乎仅仅决定于 IB。 从输出特性曲线可以看出,晶体管有三个工作区域: ic 8 截止区:其特征是发射结电压小于开启电压且集

16、电结反向偏置。对于共射电路,UBEUon 且 UCE UBE 。 此时 IB=0,而 iCICEO 。小功率硅管的 ICEO 在 1A 以下,锗管的 ICEO 在小于几十微安。因此在近似分 析中可以认为晶体管截止时的 iC0 。 放大区:其特征是发射结正向偏置(UBE 大于发射结开启电压 Uon)且集电结反向偏置。对于共射电路, UBEUon 且 UCEUBE 。此时,iC几乎仅仅决定于 iB,而与 UCE无关,表现出对的控制作用, IC=IB,iC=iB 。在理想情况下,当 IB按等差变化时,输出特性是一簇横轴的等距离平行线。 饱和区:其特征是发射结与集电结均处于正向偏量。对于共射电路,UB

17、EUon 且 UCE0.1|ur1i+1-ur1i0.1) cc+; if(cc1) ss=1; cc=0; for(i=0;i0.1|ub1i+1-ub1i0.1) cc+; if(cc1) ss=1; if(ub1|ub180) ss=1; return(ss); void point(uchar xi,uchar yi) uchar b,d; uchar data xii,yii; e=0; xii=xi; yii=yi; e=0; b=yii/8; d=yii%8; tab63-xiib|=(0x80d); 35 uchar vd(float v) uchar dd; v-=0.1;

18、dd=230*(v+11)/22+15; return(dd); /*输出特性曲线 */ void draw_c(void) float us1,us2; uchar i,j; float ucec=0; float vv=0; e=0; e=0; for(i=0;i2) break; vvv+=0.1; Uceo=vvv*10; uceo1=Uceo; if(pnp_flag=1) for(i=0;i2) break; vvv+=0.1; r=(uint)b%3; s=(uint)b%10; Uceo=60+r*10+s; uceo1=Uceo; dac=vd(0); initial();

19、set_start_position(1,1); display_string(“反向击穿电压 Uceo“); set_start_position(2,3); display_float(Uceo); display_string(“V“); 43 void load(void) display_string(“LOADING.“); void send(void) uchar i; uchar shuju3; uchar shuju13; uchar shuju23; uchar shuju33; /b=375.43; /acb=340.25; /iceo=0.57; /uceo1=60.

20、57; shuju0=(uchar)(b-(uint)b)*100); shuju1=(uint)b%100; shuju2=(uint)b/100; shuju10=(uchar)(acb-(uint)acb)*100); shuju11=(uint)acb%100; shuju12=(uint)acb/100; shuju20=(uchar)(iceo-(uint)iceo)*100); shuju21=(uint)iceo%100; shuju22=(uint)iceo/100; shuju30=(uchar)(uceo1-(uint)uceo1)*100); shuju31=(uint

21、)uceo1%100; shuju32=(uint)uceo1/100; for(i=0;i=0x80); e=0; void writei(uchar aa)/写指令 checkbusy(); ; rs=0; rw=0; e=1; shu=aa; delay(20); e=0; void writed(uchar aa)/写数据 checkbusy(); ; rs=1; rw=0; e=1; shu=aa; delay(20); e=0; /*uchar readi(void)/读指令 uchar result; checkbusy(); ; rs=0; rw=1; e=1; result=

22、shu; e=0; return(result); */ /*uchar readd(void)/读数据 48 uchar res; checkbusy(); ; rs=1; rw=1; e=1; res=shu; e=0; return(res); */ /*uchar readac(void)/读 AC uchar ss; ss=readi() return(ss); */ void set_start_position(uchar i,uchar x)/设定起始位置 uchar line; switch(i) case 1:line=0x00; break; case 2:line=0x

23、10; break; case 3:line=0x08; break; case 4:line=0x18; break; writei(0x80+line+x-1); /*void display_word(uint bb)/写字 uchar high,low; high=bb8; low=bb; if(high0xa0) writed(low); */ void display_string(uchar *string)/写字串 uchar i=0; while(*(string+i)!=0) writed(*(string+i); i+; void display_number(uint

24、number) uchar NumDisplay5; uchar i,*string; bit rtn=0; NumDisplay0=number/10000; number-=NumDisplay0*10000; NumDisplay1=number/1000; number-=NumDisplay1*1000; NumDisplay2=number/100; number-=NumDisplay2*100; NumDisplay3=number/10; number-=NumDisplay3*10; NumDisplay4=number; string=NumDisplay; for(i=

25、0;(i5)i+) if(*(string+i)!=0) rtn=1; for(i-=1;i5;i+) 50 writed(*(string+i)+0x30); void display_numberf(uint number) uchar NumDisplay2; uchar i,*string; NumDisplay0=number/10; number-=NumDisplay0*10; NumDisplay1=number; string=NumDisplay; for(i=0;i2;i+) writed(*(string+i)+0x30); void display_float(flo

26、at cc) uint zheng; uchar xiao; float xi; if(cc0.01) cc=0; zheng=(uint)cc; xi=cc-(uint)cc; if(xi0) xi=0; xiao=(uchar)(xi*100); display_number(zheng); writed(.); display_numberf(xiao); /*void display_floatp(float cc) 51 uint zheng,xiao; float xi; zheng=(int)cc; xi=cc-(int)cc; xiao=(uint)(xi*100); disp

27、lay_number(zheng); writed(.); display_numberf(xiao); */ void initial(void)/初始化 res=0; delay(3000); res=1; writei(0x30); delay(10); writei(0x01); delay(10); writei(0x06); delay(10); writei(0x0c); /*void drawon(void) writei(0x36); void drawoff(void) writei(0x34); */ /*void move_right(void) writei(0x1c

28、); void move_left(void) writei(0x18); */ 52 void img_disp (uchar xdata *img) uchar i,j; for(j=0;j32;j+) for(i=0;i8;i+) writei(0x34); writei(y+j); writei(x1+i); writei(0x30); writed(imgj*16+i*2); writed(imgj*16+i*2+1); for(j=32;j64;j+) for(i=0;i8;i+) writei(0x34); writei(y+j-32); writei(x2+i); writei(0x30); writed(imgj*16+i*2); writed(imgj*16+i*2+1); writei(0x36); 声声 明明 本人郑重声明: 1、 持以“求实、创新”的科学精神从事研究工作。 2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成 果。 3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。 53 4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构 已经发表或撰写过的研究成果。 5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了 谢意。 作者签名: 日 期:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1