本文从本人的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和控制电压换算的公式节点

    3、差分模式采集二极管压降Vdt
   USB-6009差分模式的配置如图4所示,注意此时可以通过修改输入电压范围,提高USB-6009内的PGA的增益,从而达到提高电压分辨率的目的。

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

4、测试过程控制
   不可能在程序开始运行后不断的重复测量过程,因此采用“事件结构”管理了一个“开始测试”按钮,只有单击“开始测试”,测试过程才会开始。
5、程序框图
   图5和图6展示了USB-6009控制测试电流和读取二极管压降的程序框图。

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

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

四、程序运行结果
     测试贴片封装的1N4007的“二极管的V-I特性线”,得到图7所示的结果。

图7 实际测试得到的二极管VI特性曲线

    可以看出IN4007的V-I特性曲线呈指数曲线形式,与理论推导结果一致。
未完待续……

用NI的数据采集卡实现简单电子测试之3——绘制二极管V-I特性曲线图的更多相关文章

  1. 用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图

    本文从本人的163博客搬迁至此. 想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了<电子技术基础>课程的内容.第一个 ...

  2. 用NI的数据采集卡实现简单电子测试之6——数字I/O及测试平台

    本文从本人的163博客搬迁至此. 前面几个例子介绍了NI数据采集卡的模拟输入和输出功能,本例则集中介绍USB-6009的数字输入输出功能.本例包括基本数字IO电路及在LabVIEW中控制USB-600 ...

  3. 用NI的数据采集卡实现简单电子测试之1——USB-6009简介

    本文从本人的163博客搬迁至此. 几年以来,一直担任学校“虚拟仪器”课程教师.以前上课都以介绍LabVIEW编程为主,硬件实验一直没有开展.这次借“西部高校实力提升工程”的机会,学院采购了一批NI的数 ...

  4. 用NI的数据采集卡实现简单电子测试之5——压控振荡器的测试

    本文从本人的163博客搬迁至此. 为了展示连续信号采集的方法,以其外部触发采集功能.我用运算放大器实现了一个最简单的低频压控振荡器(VCO),作为USB-6009采集的信号源.在LabVIEW下编写的 ...

  5. 用NI的数据采集卡实现简单电子测试之4——半导体温度传感器

    本文从本人的163博客搬迁至此. 为了展示NImax(Measurement & Automation explorer)的强大配置功能,做了一个半导体温度传感器测试的示例. 一.半导体温度传 ...

  6. 简单理解ECMAScript2015中的箭头函数新特性

    箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也 ...

  7. ? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作。那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork、source和exec。 1. fork 即通过sh 脚本名进行执行脚本的方式。下面通过一个简单的例子来讲解下它的特性。 创建father.sh,内容如下: #!/bin/bas

    ? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别 ...

  8. 【转】linux设备驱动之MMC SD卡——核心层简单分析

    原文网址:http://blog.chinaunix.net/uid-28685940-id-3889878.html /*************************************** ...

  9. python3 练手实例5 做一个简单电子时钟

    import time,sys,os while(1): t = time.strftime('%Y-%m-%d\n%H:%M:%S',time.localtime(time.time())) pri ...

随机推荐

  1. Object、String、数组的 toString() 方法和 equals() 方法及java.util.Arrays

    public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...

  2. redis介绍(4)实战场景

    redis我主要在两方面说明: 集群下的session的管理 Tomcat 与 DB之间缓存

  3. maven与ide工具的整合

    maven与myeclipse的整合 1   点击window会出现 2>选择  preferences

  4. 扩展LV手记

    情景概览 系统:CentOS Linux release 7.4.1708 (Core) 磁盘情况: 目标:将sda3扩展到sda2下的centos-root虚拟盘上 操作步骤 1.建立新的PV # ...

  5. 《Pro Git》轻松学习版本控制

    转自 https://kindlefere.com/post/333.html 什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在 ...

  6. 在 Azure 中备份 Linux 虚拟机

    可以通过定期创建备份来保护数据. Azure 备份可创建恢复点,这些恢复点存储在异地冗余的恢复保管库中. 从恢复点还原时,可以还原整个 VM,或只是还原特定的文件. 本文介绍如何将单个文件还原到运行 ...

  7. [C++] 用Xcode来写C++程序[3] Constants

    用Xcode来写C++程序[3] Constants 以下是一些基本数据的含义: 75 // int 75u // unsigned int 75l // long 75ul // unsigned ...

  8. SpringBoot+RestTemplate 简单包装

        RestTemplate设计是为了Spring更好的请求并解析Restful风格的接口返回值而设计的,通过这个类可以在请求接口时直接解析对应的类.     在SpringBoot中对这个类进行 ...

  9. ZT 用gdb调试core dump文件

    用gdb调试core dump文件 转载自:http://blog.chinaunix.net/u2/83905/showart_2134570.html 在Unix系统下,应用程序崩溃,一般会产生c ...

  10. codeforces 293E Close Vertices

    题目链接 正解:点分治+树状数组. 点分治板子题,直接点分以后按照$w$排序,扫指针的时候把$w$合法的路径以$l$为下标加入树状数组统计就行了. 写这道题只是想看看我要写多久..事实证明我确实是老年 ...