用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图
本文从本人的163博客搬迁至此。
想设计几个实验,既能展示NI的LabVIEW和数据采集卡的功能特点,又能够让普通电类专业本科学生可以理解,自然首先想到了《电子技术基础》课程的内容。第一个例子采用了“绘制晶体三极管输出特性曲线”的例子,原因有三:其一,作为《模拟电子技术》课程的基本内容,基本上所有电类专业的学生都学过三极管输出特性曲线;其二,这个例子既要控制基极电流和集电极电压,又要测量集电极电流,特别适合既有A/D又有D/A转换功能的数据采集卡来完成;其三,LabVIEW强大的绘图功能可以完美的展现输出特性曲线。
一、什么是三极管输出特性曲线
康华光版的《电子技术基础——模拟部分》这样介绍输出特性曲线:输出特性是在基极电流IB一定的情况下,集电极与发射极之间的电压VCE与集电极电流IC之间的关系曲线,用函数表示为:
(1)
以下是我从小功率高频三极管9018的数据手册中截取的输出特性曲线图:
图1 标准输出特性曲线
继续摘录经典教材的解释:输出特性的其实部分很陡,VCE略有增加时,IC增加很快,这是由于在VCE很小时,集电结的反向电压很小,对到达基区的电子吸引力不够,这时IC受VCE的影响很大。VCE稍有增加,从基区到集电区的电子也增加。故IC随VCE的增加而增加。但VCE超过某一数值后,特性曲线变得比较平坦。这是由于VCE大于这一数值后,集电结的电厂已经足够强,能使发射区扩散到基区的电子绝大部分都到达集电区,故VCE再增加,IC就增加不多了。改变IB的值,即可得到一组输出特性曲线。由于三极管是一种电流控制器件满足: ( 其中
为电流增益)。在VCE大于零点一定数值以后,输出特性是一组间隔基本均匀,比较平坦的平行直线。
据我理解,所谓“输出特性”应该是由集电极电压VCE和基极电流iB共同决定集电极电流的一种特性,这种特性图应该是一张三维曲面图,其水平面上的两个自由度为VCE和IB,垂直方向上的大小应为集电极电流IC。但由于早期计算机绘制三维图形的能力有限,输出特性曲线图只选取了其中IB为10uA、20uA……100uA等几个整数时的几根曲线,全部绘制在一张平面图上,从而得到了图1所示的 标准的“输出特性曲线图”。
二、测试电路
为了绘制类似图1的输出特性曲线,需要数据采集卡分别控制被试三极管的基极电流IB和集电极电压VCE,同时测量流入集电极的电流IC。
其中,控制基极上的电流IB较容易:由于发射结压降基本固定,只需要在基极上串联一个固定电阻,同时控制电阻另一端的电压即可。但是,要想在控制集电极电压VCE的同时测量流入集电极的电压并不简单。利用反馈原理设计了如下图所示的测试电路。
图2 三极管特性图测试电路
图2中I_CTL和V_CTL是由数据采集卡上的DAC输出的控制电压,AI4和AI5则连接到数据采集卡的ADC输入端。其中,I_CTL用于控制基极电流IC,其控制的电流等于(VI_CTL - VBE)/R_tb,VBE是发射结压降,基本固定为在0.7V左右。运放OP_tB接成跟随器,它在使输入电压和输出电压相等的同时降低输出阻抗,其目的是为了降低USB-6009输出电阻对I_CTL的影响。运放OP_tA和电阻R_tc则构成了一个用于测量电流的负反馈系统,根据负反馈系统的分析方法来分析这个电路:
1、根据运放“虚短”的原则,运放的同相端电压应该相等。而被试晶体管V_test的集电极被连接到了运放的反相输入端,应该和连接到同相输入端的V_CTL相等。也就是说只要数据采集卡控制了V_CTL,也就控制了V_test的集电极电压。
2、运放的输出端在连接到V_test的集电极之前,通过了电阻R_tc。为了使集电极电压等于V_CTL,运放输出端电压势必高于V_CTL。根据“虚断”的原则,没有电流流入运放的反相输入端,也就是从运放输出端流出的电流全部经过R_tc流入了集电极。这样可以推断:运放输出端的电压等于集电极电压V_CTL加上集电极电流IC在电阻R_tc上的压降。这样只要通过数据采集卡测量出运放的输出电压,就可以通过V_CTL和R_tc的阻值计算出IC。
(2)
3、当然上述分析“虚短”和“虚断”结论的前提是,系统必须是一个稳定的负反馈系统。而上述电路的负反馈属性是显然的。
当然,是用图1电路的限制也是明显的:
1、电压限制,由USB-6009的DAC输出的控制电压可达0-5V,也就是V_CTL(VCE)可达5V,也就要求此时运放输出端电压VAI4也必将达到5V以上。而要使LM358的输出电压达到5V,其电源电压必须在6.5V以上。而为了方便学生使用,我将本测试电路设计为采用USB口供电,显然无法达到要求,值得采用升压DC-DC(Step_up)来为该电路供电——好在MC34063A电路非常便宜。升压后VPP为12V左右。
图3 电源电路
MC34063没什么好说的,需要解释的是MOS管MOS_SW的作用。我是这么想的:为防止MC34063A工作时的开关噪声对其他测试电路的影响,可以用USB-6009的数字I/O P0.1在不需要时将MC34063关掉……
2、电流限制,普通运算放大器LM358的最大输出电流仅为20mA左右,因此图2所示的测试电路只能测试IC小于20mA的小功率情况。如果需要测试大电流三极管,可以在运放的输出端之后加一个晶体管射极跟随器。
三、测试程序
1、程序的流程如图4所示:
图4 测试程序流程图
程序中包含两个循环,中间的小循环用于采集IB固定的条件下,一条输出特性曲线上的点;外圈的大循环用于绘制不同的输出特性曲线。
2、基极电流IB的设置
基极电流靠USB-6009的DAC实现控制,需要把每次循环所需的电流折算为需要输出的电压Vout,由于计算公式较复杂,采用公式节点实现如图5:
其中,0.57是常见小功率三极管9013的发射结压降,39*10**3是39K欧的电阻,10*10**(-6)是10uA电流(公式节点中的两个乘号**表示乘方运算),i是大循环中的循环次数。
3、集电极电压VCE的设置
集电极电压也靠USB-6009的DAC实现控制,依次递增DAC输出的电压V_CTL即可达到控制集电极电压的目的,也采用公式节点实现如图6:
图6 集电极电压计算的公式节点
集电极电压从0.01V开始,每次递增0.05V。
4、集电极电流IC的测量
图7 集电极电流计算的公式节点
根据图2所示的反馈电路和公式(2),集电极电流IC等于电阻R_tc上的压降除以它的阻值,Vcx是由测量得到的运放输出电压VAI4,VCE是由软件通过DAC设置的集电极电压,0.22是R_tc的阻值220欧姆。
5、曲线图的绘制
采用“XY曲线图”控件绘制输出曲线图。需要注意的是,XY曲线图需要将x轴的值构成的数组和y轴的值构成的数组打包成一个簇方可实现显示。如果包含x轴和y轴数值的数组本身已经是二维数组,XY曲线图控件会自动绘制出颜色不同的多条曲线。
6、USB-6009的控制
由于每次设置电流IB和电压VCE后只能采集一个有用的电流,因此USB-6009的ADC和DAC通道都采用“1通道1采样”的模式。但如果在每次D/A输出和A/D采集之前都重新配置ADC和DAC将会使测试过程非常缓慢,因此需要使用“DACmx开始任务”函数
来一次性启动ADC和DAC任务,以后每次都只需要通过句柄操作即可。
根据实测,测试8条输出特性曲线,每条曲线完成约100个测试点,所需的总测试时间约在1-2秒左右。
7、测试过程控制
不可能在程序开始运行后不断的重复测量过程,因此采用“事件结构”管理了一个“开始测试”按钮,只有单击“开始测试”,测试过程才会开始。
8、测试程序框图
不可能在一幅图中展示整个测试程序框图,挑选以下两个比较重要的程序框图展示。
图9 设置集电极电压的程序框图
四、程序运行结果
1、输出特性曲线
采用常见小功率NPN型三极管9013作为测试对象,得到如图9所示的测试结果,与经典教科书介绍的晶体管输出特性曲线一致。
图10 实际测试得到的三极管输出特性曲线
2、输出特性曲面
不知“三极管输出特性曲面”这种说法对不对,但这是我从当学生时就像做的一件事,即将多条输出特性曲线绘制在一张三维图中。在LabVIEW中,这非常容易。
图11 三极管输出特性曲面1
图12 三极管输出特性曲面2
绘制这个三维曲面的代码也很简单,无非是把曲面上的每个点在X,Y,Z 三个轴上的投影分别用一个矩阵送给三维曲面控件。在上面程序的基础上添加曲面显示的程序框图如图13所示。
图13 绘制三极管输出特性曲面的程序框图
未完待续……
用NI的数据采集卡实现简单电子测试之2——绘制三极管输出特性曲线(面)图的更多相关文章
- 用NI的数据采集卡实现简单电子测试之3——绘制二极管V-I特性曲线图
本文从本人的163博客搬迁至此. 接下来用USB-6009和LabVIEW实现对二极管最重要的特性曲线“V-I特性曲线”的测试和绘制. 一.什么是二极管V-I特性曲线 康华光版的<电子技术 ...
- 用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)的强大配置功能,做了一个半导体温度传感器测试的示例. 一.半导体温度传 ...
- 最简单的基于DirectShow的示例:视频播放器图形界面版
===================================================== 最简单的基于DirectShow的示例文章列表: 最简单的基于DirectShow的示例:视 ...
- 【转】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 ...
- 简单研究Android View绘制三 布局过程
2015-07-28 17:29:19 这一篇主要看看布局过程 一.布局过程肯定要不可避免的涉及到layout()和onLayout()方法,这两个方法都是定义在View.java中,源码如下: /* ...
随机推荐
- DDL为什么不能rollback?
转自 http://blog.csdn.net/dba_waterbin/article/details/8621367 在Oracle中DDL语句将转化为对数据字典表的DML语句:比如,一个简单的修 ...
- JQuery 引用方式
# head里面 <script src="jquery.min.js"></script> <script src="common.js& ...
- ASP.NET中母版页引用外部js或css文件无效,提示对象未定义解决方法
最近做网站用了一个js+css实现的带有二级菜单的导航条,在母版页创建好后,子页面调用出现了许多奇怪的问题,多方查证后的最终解决方案和大家分享下.... 1.路径问题 如果是一个单独的aspx页面调用 ...
- Linux which/whereis/locate命令详解
which 查看可执行文件的位置,从全局环境变量PATH里面查找对应的路径,默认是找 bash内所规范的目录 whereis 查看文件的位置,配合参数-b,用于程序名的搜索,从linux数据库查找. ...
- Ubuntn系统(虚拟机)忘记密码的解决方法
1.重启ubuntu系统,开机时长按shift按键进入GRUB菜单,选择第二个高级选项,enter键进入.如下图: 2.在高级选择中选择Recovery mode模式,键盘按“e”键进入编辑模式.如下 ...
- javascript改写 <select>checked的选中,并不会出发change事件,太好了!
<html> <title>测试select标签的分别用程序checked.用户手动checked</title> <body> 第一级菜单: < ...
- 在windows下的hdfs客户端编写
在windows下的hdfs客户端编写 新建一个工程,右键 properties -> java build path -> libraries 和之前一样的操作,这次 new 一个 us ...
- F2eTest程序快捷方式安装到桌面
按照http://f2etest.***.com/install页面上介绍的:安装快捷方式到Windows桌面 (Win7)部分的介绍进行安装. 其中第三步的https连接需要在f2etest的c ...
- PHP运行模式简单总结
众所周知,PHP有多种运行模式,那么这些模式各自有什么特点,它们之间又有什么区别呢,本文将作一个简单的总结: CGI 模式 所谓 CGI (Common Gateway Interface) 是指通用 ...
- Hadoop学习之路(七)Hadoop集群shell常用命令
Hadoop常用命令 启动HDFS集群 [hadoop@hadoop1 ~]$ start-dfs.sh Starting namenodes on [hadoop1] hadoop1: starti ...