PN结深度测量

时间:2024.4.7

扩散结深度的测量

实验内容与目的

1.   用磨角染色法测量硅片经硼扩散后所形成的PN结的结深。

2.   使学生掌握PN结染色原理,了解实际扩散工艺制作的PN结的深度。

实验仪器与原理

1. 用磨角器,,金相显微镜白炽灯,电炉进行测量。

2. 用磨角法将Si片上pn结深尺寸放大,结深:

其中:L为P区测量值,Xj为扩散结深,θ=5°(磨角器的平台与斜面夹角)。

3. Si的电极电位低于Cu,Si能从硫酸铜染色液中把Cu置换出来,而且在Si表面上形成红色Cu镀层,又由于N型Si的标准电极电位低于P型Si的标准电极电位,因此会先在N型Si上先有Cu析出,这样就把P-N结明显的显露出来。

4. 硫酸铜溶液的配方:CuSO4?5H2O:48% HF:H2O=5g:2mL:50mL染色液中加入少量HF的目的是为了把硅片表面的氧化物去除,使反应能顺利进行。

实验步骤

1.  磨角器放在电炉上加热,温度高于松香熔化温度时,用坩埚钳取下磨角器,将被测硅片用松香沾在磨角器上。然后,在玻璃片上用水和牙膏进行抛光,直到露出斜面为止。

2.  用乙醇棉球擦拭磨好的硅片,取下硅片,放入硫酸铜镀液中,白炽灯照射30秒钟,注意观察,当发现N型区染上红色后,立即将硅片投入水中清洗,然后用滤纸吸干。

3. 在显微镜上观察PN结,在测微尺上直接读取已被放大的,染红的N区尺寸。


第二篇:基于PN结传感器的温度测量仪设计报告


基于PN结传感器的温度测量仪设计

摘要:温度传感器是通过物体随温度变化而改变某种特性来间接测量的。本文介绍了基于PN结传感器的温度测量仪的工作原理,给出了实验电路图,在此基础上对实验数据进行了分析,并对其产生的误差进行了分析。

关键词:温度传感器、放大器、PN结、单片机

正文

1.电路原理与设计方案

1.1工作原理:
      晶体二极管或三极管的PN结的结电压是随温度而变化的。通过测量其阻值推算出被测物体的温度,利用此原理构成的传感器就是电阻温度传感器。这种传感器主要用于-200—500℃温度范围内的温度测量。例如硅管的PN结的结电压在温度每升高1℃时,下降-2mV,利用这种特性,一般可以直接采用二极管(如玻璃封装的开关二极管1N4007)或采用硅三极管(可将集电极和基极短接)接成二极管来做PN结温度传感器。

1.2设计方案: 

一种数字温度测量仪,其特征在于包括:一个恒流源电路;一个同恒流源相串联的PN结温度传感器,PN结传感器它输出一个同温度有关的电压信号;一个把上述与温度有关的电压信号转换成数字信号的A/D转器;一个同A/D变换器的输出端相连接从而把A/D转换器输出的与温度有关的数字信号显示出温度值的数字显示器;一个向A/D转换器的信号输入低端提供浮地0电位和基准电压VERF的转换电路,以便使A/D转换器工作在浮地状态下和实现温度满刻度的调节;一个使恒流源、PN结温度传感器和电压转换电路的供电同A/D转换器隔离的电源隔离电路,以及一个分别向各个电路供电的电源组件。

2.程序设计

2.1 Proteus软件设计电路

2.1.1恒流源电路设计:

     为保证整个温度测量范围内PN结的正向电流恒定,PN结的正向偏置采用恒流源驱动。采用三极管的特性特殊电路,让通过二极管的电流始终在100uA左右。

2.1.2电桥电路的设计:

    采用电桥连接方式使放大传感器变化电压的差值。电桥通过两个电阻和二极管并联构成,从而向放大器正负两端输入电压。通过理论分析及仿真实验研究选择合适的电桥电路参数。

2.1.3放大电路的设置:

PN结的结电压变化是一个微弱信号,结电压在温度每变化1摄氏度时约变化2mv左右,所以需要进行放大后才能被后续电路处理。采用三运放高共模抑制比放大电路,放大电桥两端的差模信号。设计中采用三个独立的运放来构成放大电路,也可采用仪用放大器AD620,根据电路实际情况来设置。(AD620的电源提供范围为正负2.3V到正负18V,低消耗,精确度高)。

下图是该温度测量仪的完整电路:

2.2程序设计

在Keil中编写程序,完成电压信号转换为温度输出,并从LCD中显示出来。程序如下:

#include <LPC21xx.h>

 #include "lcd.h"

 #include <stdio.h>

 #define Fpclk 11059200

int main()

 {

   float b,t;

   int d,f;

   char mystring[20];

   int ADC_Data;

   InitGPIO();

   InitLCD();

 

      

     ADCR = (1 << 3)                                    |      // SEL=8,选择通道3

                     ((Fpclk / 1000000 - 1) << 8) |      // CLKDIV=Fpclk/1000000-1,转换时钟为1MHz

                     (0 << 16)                                   |      // BURST=0,软件控制转换操作

                     (0 << 17)                                   |      // CLKS=0, 使用11clock转换

                     (1 << 21)                                   |     // PDN=1,正常工作模式

                     (0 << 22)                                   |     // TEST1:0=00,正常工作模式

                     (1 << 24)                                   |      // START=1,直接启动ADC转换

                     (0 << 27);                                              // 直接启动ADC转换时,此位无效

       delay(10);

       ADC_Data = ADDR;            // 读取ADC结果,并清除DONE标志位

   while(1)

   {

        ADCR = (1 << 3)                                    |      // SEL=8,选择通道3

                     ((Fpclk / 1000000 - 1) << 8) |      // CLKDIV=Fpclk/1000000-1,转换时钟为1MHz

                     (0 << 16)                                   |      // BURST=0,软件控制转换操作

                     (0 << 17)                                   |      // CLKS=0, 使用11clock转换

                     (1 << 21)                                   |     // PDN=1,正常工作模式

                     (0 << 22)                                   |     // TEST1:0=00,正常工作模式

                     (1 << 24)                                   |      // START=1,直接启动ADC转换

                     (0 << 27);                                              // 直接启动ADC转换时,此位无效

        while((ADDR&0x80000000)==0);  //等待AD转换结束

          ADC_Data = ADDR;

           d=(ADC_Data&(0x3ff<<6))>>6;

              b=d*3.3/1023;

              d=(int)b*1000;

              f=b*1000-d;

              t=(3.29896-b)/0.00432     ;

              sprintf(mystring,"%d.%03d",(int)t,f);

               PrintfLCD(0,mystring);

              delay(1000);

   }

   return 0;

 }

LCD输出程序:

#include "lcd.h"

void delay(uint32 dly)

{

   uint32 i,j;

   for(i=0;i<dly;i++)

     for(j=0;j<2000;j++);

        //延时程序编译时不能选择优化,否则延时不正确

}

void WriteLCD(uint8 data,uint8 rs)

{

   IO0CLR=DB;

   IO0SET=data<<2;

   if(rs==COMMAND)

   {

     IO0CLR=RS|RW;

   }

   else

   {

     IO0SET=RS;

        IO0CLR=RW;

   }

   delay(10);

   IO0SET=ENABLE;

   delay(20);

   IO0CLR=ENABLE;   

}

void InitGPIO(void)

{

    PINSEL0=0;

       PINSEL1=1<<28;

       IO0DIR=DB|RS|RW|ENABLE;

       IO0SET=DB|RS|RW;

       IO0CLR=ENABLE;

}

void InitLCD(void)

{

   

    WriteLCD(0x3C,COMMAND);     //设置为8位数据总线,16*2,5*7点阵

    delay(10);

    WriteLCD(0x01,COMMAND);     //清屏幕

    delay(10);

    WriteLCD(0x06,COMMAND);     //光标移动,显示区不移动,读写操作后AC加1

    delay(10);

    WriteLCD(0x0F,COMMAND);

    delay(10);

}

void ClearLCD()

{

  WriteLCD(0x01,COMMAND);

  delay(10); 

 }

 void PrintfLCD(unsigned char StartPosition,char *string)

{

   ClearLCD();

   WriteLCD(StartPosition|0x80,COMMAND);

   delay(10);

   while(*string!=0)

   {

   WriteLCD(*string,DATA);

   string++;

   delay(10);

  

   }

 }

3.电路仿真与数据处理:

3.1电路仿真结果:

              -0.079 -0.073 -0.087 -0.090 -0.089

3.2数据处理:

3.2.1输入电流与输出电压的实际值与测量值的误差分析

下图为输入电压和输出电流的实际测量值:

误差分析如下图所示:

3.2.2温度值的参数分析:

下图是输出电压与温度值的线性曲线:

从表格中的数据可以观察发现,测得结果与实际数值存在误差。产生这种现象的主要原因有:元件的工艺误差导致输出的偏差;三极管基电极分流、电源电压的精度、放大电路的精度、AD转换器的精度所致;另外不排除测试测量工具和操作过程读数误差。所以,在要求较高精度的时候注意元器件需要合理选择其温漂精度,以免产生更大的误差。

5.实验总结:

 通过对本次实验电路的设计、仿真与调试,电路基本达到预定要求。输入电压0-10V时输出电流在4-20mA之间,转换电路的最大非线性失真一般应小于0.03% ,转换精度符合实验要求。

 本次实验在制作过程中让我学到很多知识。制作前,我们需要把实验原理分析清楚,确保方案没有错误。同时,也锻炼了我的动手能力,分析问题与解决问题的能力。这次课程设计让我巩固了元器件的识别与选择方面的知识,熟悉了仿真软件及测试仪器的应用和编程的经验。我相信,我在此方面还有更大的研究空间。

参考文献:

1.      张国雄主编.测控电路第三版.北京:机械工业出版社,2008。

2.      史健芳主编.智能仪器设计基础.北京:电子工业出版社,2007。

3.      邓泽霞主编.电路电子基础实验.重庆工学院电子实验中心,2008。

更多相关推荐:
测量员年终工作总结

工作总结时光飞逝,转眼间xx年又到尾声了。测量是工程的眼睛,作为测量人员,我本着实事求是、一切以数据说话的原则从事测量工作。我静心回想这一年的工作生活,感受很多,收获颇丰。现将我这一年来的工作学习情况总结如下:…

测量工作总结

尊敬的领导你好转眼间10年已经远去我们又迎来了崭新的一年总结一年来的工作站在个人角度谈谈对测量工作的认识质量是企业的生命质量是企业发展的根本保证在建筑市场竞争激烈的今天如何提高施工质量管理水平是每一位企业管理者...

20xx年度工程测量工作总结

20xx年度测量工作总结前言光阴似箭20xx即将步入尾声回顾本年的工作项目部测量组在项目部领导的指导和关怀下主要完成了工程控制网复测与联测施工导线加密测量和复测车站施工放样测量内业资料计算程序编制以及日常管理等...

20xx年上年度测量工作总结

20xx年上年度测量工作总结20xx年上年度测量工作总结20xx年我科测量人员主要完成了下列工作外业部分地面测量组一矿每月月底的煤堆测量二江边小区月安小区变形观测三配合土地办对罗家地村房屋变形土地裂缝塌陷调查四...

20xx年度测量队-工作总结

20xx年度测量工作总结中铁**局集团**铁路一项目部二○一二年十二月二十五日20xx年度测量工作总结中铁**局集团**公司**项目部测量队20xx年在项目部领导的指导和关怀下,主要完成了工程控制网复测与联测、…

20xx年测量工作总结

20xx年度测量部工作总结20xx年本部门在与公司各级领导公司所属项目部领导的密切配合下通过测量部门全体工作人员的共同努力分工协作顺利的完成了公司所属工程项目本年度的各项施工测量任务为公司各工程项目生产工作的顺...

测量年终总结

测量组年终总结回首20xx年,我们测量组是收获的一年,更是充实的一年,我们测量组见证了西安地铁一号线劳动路站至汉城路站的顺利贯通,也亲身参与了西安地铁三号线试验一标段的开工仪式。这一年当中,我们有自豪也有不足之…

测量班年度工作总结

测量班20xx20xx年度工作总结人生天地之间若白驹过隙忽然而已在不经意间岁月的年轮又在我们额头上留下一道印记转瞬之际我们试刀山项目部已经在此驻扎一年过去的20xx年里是不平凡的一年是干劲十足的一年是收获的一年...

测量员20xx年度总结

20xx年测量个人总结及20xx年工作计划王盛20xx年7月我参加了工作也是正式迈向社会的一个新起步只有踏实稳健的迈出这第一步才能在社会的大潮中不被淘汰时间很快我已经工作了4个多月了从开始的机电安装到后来的测量...

测量员个人年终总结

测量员个人年终总结转载测量是工程的眼睛作为测量人员我们本着实际求实一切以数据说话的原则从事测量工作20xx年在溪落渡对外交通专用公路工程我标段测量工作中总结出一些经验与教训以利来年更好开展工作测量之前应熟悉图纸...

20xx居民健康知识测试年度总结

十里铺长十路社区卫生服务站20xx年居民健康知识测试工作总结按照灞桥区疾控中心健康教育所工作要求我核锻社区卫生服务站在今年20xx年6月15日20xx年7月10日组织职工对辖区内的部分居民进行居民健康知识测试题...

20xx-12-28测量年终总结

年终总结测量是工程的眼睛作为测量方法员我本着实事求是一切以数据说话的原则从事测量工作今年在毕威高速我标段测量工作中总结出一些经验与教训以利来年更好的开展工作做为一名测量技术员必须具备测量学的基础理论基础知识和基...

测量年度总结(34篇)