用NI的数据采集卡实现简单电子测试之3——绘制二极管V-I特性曲线图
本文从本人的163博客搬迁至此。
接下来用USB-6009和LabVIEW实现对二极管最重要的特性曲线“V-I特性曲线”的测试和绘制。
一、什么是二极管V-I特性曲线
康华光版的《电子技术基础——模拟部分》这样介绍二极管的V-I特性:在二极管正向特性(在PN结两端施加N正P负的电压时的特性)的起始部分,由于正向电压较小,外电场还不足以克服PN结的内电场,因而这时的正向电流几乎为零,二极管呈现出一个大电阻,好像一个门坎。硅管的门坎电压Vth(又称死区电压)约为0.5V,锗管的Vth约为0.1V,当正向电压大于Vth时,内电场大为削弱,电流因而迅速增长。所谓“V-I特性曲线”是指正向电压和正向电流之间的关系。
二、测试电路
V-I特性曲线是二极管电流I和压降V之间的关系,只有一个自变量和一个因变量,是二维平面上的曲线。测试电路需要通过USB-6009的DAC控制流过二极管的电流,同时通过ADC测量其上的压降来绘制V-I曲线。和绘制三极管的输出特性曲线一样,可以通过由运放构成的反馈控制电路来控制流过二极管的正向电流,但测试普通二极管的V-I曲线时,一般要求测试电流达到100mA以上,无法由运放直接产生,需借用晶体管放大输出电流。我设计了图1所示的测试电路。

图1 二极管V-I特性测试电路
其中DI_CTL是由USB-6009的DAC输出的电流控制电压。D_test是被试二极管,采用常见整流二极管1N4007,其两端连接的AI3和AI7是USB-6009的ADC的一对差分输入端,用于测试D_test两端的电势差Vdt。Rd1是电流测试电阻,其作用是将流过被试二极管的电流ID转换为电压VD1,从而形成电流负反馈通路。为防止Rd1上功耗过大造成损毁,Rd1取值较小,仅为0.1欧姆。在500mA电流条件下,其上的压降也仅为50mV,很难与USB-6009的DAC输出的控制电压形成比较,因此需要先通过运放OP_dA构成的同相放大电路来将Rd1上的测试电压VD1放大成VD2。其增益G=(Rd3+Rd2)/Rd2=31.3倍,可将流过Rd1的500mA电流转换为1.56V输出电压。运算放大器OP_dB构成整个负反馈电路的误差放大环节,其作用是放大实际电流与USB-6009的DAC输出的控制电流的电压之间的误差,并将放大后的误差用于控制功率P沟道MOS管MOSP输出电流。根据负反馈系统的分析方法来分析图1的工作原理。
1、对运放OP_dB应用“虚短”的原则:OP_dA输出的VD2应该等于USB-6009输出的控制电压DI_CTL,当改变DI_CTL时,就可以改变流过D_test的电流ID。电流ID和电压DI_CTL之间的关系为:
ID=VDI_CTL/Rd1 (1)
2、上述电路使用虚短的前提之一是,整个系统是电流负反馈系统:但ID增加时VD1和 VD2也将增加,将使OP_dB的同相端电压增加,从而将使P欧沟道MOS管的栅极电压上升,并减少其打开的程度从而降低ID,并最终构成负反馈系统。
3、上述电路使用虚短的前提之二是,整个系统的稳定性。Cd1具有保证闭环稳定的作用,它可以降低高频信号的开环增益,从而整个系统在高频段发生自激振荡。
另外,这个电路值得注意的地方还在于,这是一个单电源电路,但电路的参考点却是“地电势”。具体体现在:
1、从Rd1上端得到的VD1是一个很小的电压,可能仅有几个mV,要使用只有单电源的运放拾取这个电压是有一定困难的,但LM358的共模电压可达负电源电压,因此能够拾取和放大VD1。
2、由于电流测试电阻Rd1安装在被测二极管和地之间,就不可能采用单端测量方式测量二极管上的压降,正好USB-6009提供了差分测量方式,将两个差分输入端分别连接在被测对象的两端,可以将两个输入端之间的共模电压抑制掉,从而直接得到被测对象两端的电势差。
三、测试程序
1、测试程序流程图如图2所示

图2 测试程序流程图
2、测试电流ID的设置
DACDI_CTL实现对测试电流ID采用公式节点实现DI_CTL和ID之间的换算,如图3所示:

图3 实现测试电流ID和控制电压换算的公式节点

图4 差分模式采集电压的程序框图

图5 设置测试电流程序框图

图6 读取二极管压降程序框图

图7 实际测试得到的二极管VI特性曲线
用NI的数据采集卡实现简单电子测试之3——绘制二极管V-I特性曲线图的更多相关文章
- 用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图
本文从本人的163博客搬迁至此. 想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了<电子技术基础>课程的内容.第一个 ...
- 用NI的数据采集卡实现简单电子测试之6——数字I/O及测试平台
本文从本人的163博客搬迁至此. 前面几个例子介绍了NI数据采集卡的模拟输入和输出功能,本例则集中介绍USB-6009的数字输入输出功能.本例包括基本数字IO电路及在LabVIEW中控制USB-600 ...
- 用NI的数据采集卡实现简单电子测试之1——USB-6009简介
本文从本人的163博客搬迁至此. 几年以来,一直担任学校“虚拟仪器”课程教师.以前上课都以介绍LabVIEW编程为主,硬件实验一直没有开展.这次借“西部高校实力提升工程”的机会,学院采购了一批NI的数 ...
- 用NI的数据采集卡实现简单电子测试之5——压控振荡器的测试
本文从本人的163博客搬迁至此. 为了展示连续信号采集的方法,以其外部触发采集功能.我用运算放大器实现了一个最简单的低频压控振荡器(VCO),作为USB-6009采集的信号源.在LabVIEW下编写的 ...
- 用NI的数据采集卡实现简单电子测试之4——半导体温度传感器
本文从本人的163博客搬迁至此. 为了展示NImax(Measurement & Automation explorer)的强大配置功能,做了一个半导体温度传感器测试的示例. 一.半导体温度传 ...
- 简单理解ECMAScript2015中的箭头函数新特性
箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...
- ? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作。那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork、source和exec。 1. fork 即通过sh 脚本名进行执行脚本的方式。下面通过一个简单的例子来讲解下它的特性。 创建father.sh,内容如下: #!/bin/bas
? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别 ...
- 【转】linux设备驱动之MMC SD卡——核心层简单分析
原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************** ...
- python3 练手实例5 做一个简单电子时钟
import time,sys,os while(1): t = time.strftime('%Y-%m-%d\n%H:%M:%S',time.localtime(time.time())) pri ...
随机推荐
- python函数 变量 递归
1 语法 #语法 def 函数名(参数1,参数2,参数3,...): '''注释''' 函数体 return 返回的值 #函数名要能反映其意义 返回值数=0:返回None放回值数=1:返回object ...
- ui-sref的参数传递
例如:路由配置如下: $stateProvider.state('admin.userList', { url: '/listUser?type&role', //参数必须先在这边声明 tem ...
- c# 设计模式 之:装饰模式
一.引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).A ...
- Jmeter入门--安装教程
jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动 ...
- Oracle特殊恢复原理与实战(DSI系列)
1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...
- Gerrit安装配置
环境: CentOS 1611 + gerrit-2.11.4 (review.openstack.org) 1. 安装java1.8 (>1.7) [root@review ~]# yum i ...
- Linux 文件的详解[分类/扩展名/inode/block]
关于Linux文件的介绍 Linux里文件扩展名和文件类型没有关系,Linux系统中一切皆文件 关于Linux文件分类 纯文本文件(可以cat的) 二进制文件(Linux的可执行文件等,如/b ...
- Linux 系统开机自启的配置文件
程序开机启动的配置文件(/etc/rc.local) # 系统级别 ntsysv # 图形界面设置自启程序 chkconfig(/etc/init.d/sshd) 处理开机启动的文件 # 用户级别 # ...
- Linux less/more命令详解
less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来 ...
- java Date日期类和SimpleDateFormat日期类格式
~Date表示特定的时间,精确到毫秒~构造方法:public Date()//构造Date对象并初始化为当前系统的时间public Date(long date) //1970-1-1 0:0:0到指 ...