扩散结深度的测量
实验内容与目的
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。