用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 ...
随机推荐
- JQuery 选择器 筛选器
什么是jQuery对象 参考:http://jquery.cuishifeng.cn/css.html jQuery 对象就是通过jQuery包装DOM对象后产生的对象.jQuery 对象是 jQue ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- Vue-学习。
---恢复内容开始--- Vue.js 与 Angular.js 非常相似,只要学过了Angular.js然后在学Vue.js就非常的简单. 什么是Vue? 相比Angularjs和ReactJS,V ...
- 初始docker
什么是docker? 很多人都是使用docker但是对docker的理解其实并没有这么透彻,只知道怎么用但是不知道为什么用 什么时候去用. 一.环境配置的难题 软件开发最大的麻烦事之一,就是环境配置. ...
- iOS开发中常用的数学函数
iOS开发中常用的数学函数 /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //开平方 ...
- Tomcat 配置学习
1 server.xml <host appBase="d:/aaa"> <Context path="/smswap" reloadable ...
- vue-cli项目打包优化(webpack3.0)
1.修改source-map配置:此配置能大大减少打包后文件体积. a.首先修改 /config/index.js 文件: // /config/index.js dev环境:devtool: 'ev ...
- java一个字符串中出现次数最多的字符以及次数
学习了别人的方法,觉得挺巧妙的.就是每次取出字符串的第一个字符,将字符串中与第一个字符相同的字符全部删除掉,然后通过计算删除前后字符串的长度来确定该字符在字符串中出现的次数,最终比较出出现最多次的字符 ...
- Sublime Text 3中文乱码
Sublime Text 3是很好的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码,如下所示: ...
- linux下如何实现mysql数据库每天自动备份定时备份
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. 目录(?)[+] 概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数 ...