主要内容

用ADALM1000描述LED

这个例子展示了如何使用MATLAB连接到Analog Devices ADALM1000源测量单元,配置它,并进行电流和电压测量来表征LED。

发现连接到您的系统金宝app的支持的数据采集设备

daqlist
ans =表1×5VendorID的DeviceID DeviceInfo描述模型  ________ ________ _______________________________ ___________ ________________________ " adi”“SMU1”“模拟设备公司。ADALM1000" "ADALM1000" [1×1 daq.adi.DeviceInfo]

为ADALM1000设备创建数据采集接口

ADIDaq = daq“阿迪”);

增加电压来源和电流测量通道

ADALM1000器件能够在同一通道上同时提供电压和测量电流。在此模式下设置设备。

增加一个设备号为SMU1,通道号为A的模拟输出通道,测量类型为电压。

addoutput (ADIDaq“smu1”“一个”“电压”);

增加一个设备号为SMU1,通道号为A的模拟输入通道,测量类型为current。

addinput (ADIDaq“smu1”“一个”“当前”);

确认通道配置。

ADIDaq。渠道
ans =1×2对象索引类型设备通道测量类型范围名称  _____ ____ ______ _______ _____________________ __________________ __________ 1“ao”“SMU1”“A”“电压(SingleEnd)”"0到+5.0伏特" "SMU1_A" 2 "ai" "SMU1" "A" "电流" "-0.20到+0.20 A" "SMU1_A_1"

闪烁连接的LED五次

将一个LED与330-串联 Ω 电阻之间的ADALM1000通道A和地面。交替施加5v和0v。

iLoop = 1:5通过产生5伏的输出打开LED。写(ADIDaq 5);暂停(0.2);通过产生0伏输出关闭LED。写(ADIDaq 0);暂停(0.2);结束

LED的特性

为了了解LED的I-V特性,扫描从0v到5v的电压值范围,并测量每个值的电流。所有测量数据的聚合提供了在一定电压范围内通过LED的电流图表。

V = linspace(0,5,250)';i = readwrite(ADIDaq,v,“OutputFormat”“矩阵”);

绘制LED的特性曲线,并建立数学模型

当你有测量数据时,你可以将其可视化。您还可以计算一个数学模型,在测量范围内近似LED的行为。

绘制测量数据。情节(v,我,“线宽”2);持有;网格;ylabel (“我(安培)”);包含(“V (V)”);标题({“LED I-V特性曲线”'和五阶多项式近似'});

使用五阶多项式拟合数据,并将获取的数据与五阶多项式近似的LED模型叠加。

approxPoly = polyfit(v,i,5);

画出近似的数据。

情节(v, polyval (approxPoly, v),“- k”“线宽”1);

计算LED开启时的电压

基于五阶多项式近似,你可以找到表示曲线线性增加部分的一阶近似。LED打开时的电压大约是这条线与电压轴相交的地方。

求出穿过信号的线性部分的直线。

normErr = -1;errThreshold = 0.001;numPointsForLine = numel(v) - 10;(numPointsForLine >) && (normErr < errThreshold)近似= polyval(approxPoly,v(numPointsForLine:end));[linearPoly, errorStruct] = polyfit(v(numPointsForLine:end),approximation, 1);numPointsForLine = numPointsForLine - 5;normErr = errorStruct.normr;结束

在测量范围内计算线性多项式。与代表任何泄漏电流的水平线相交的值就是LED打开时的电压。

LEDThreshold = 1.2;漏水电流=平均值(i(v
              

画出曲线的线性部分。

情节(v (minIndex-1:结束),polyval (linearPoly, v (minIndex-1:结束),“红色”“线宽”2,“线型”“——”

圈出LED打开时的大概电压。

leakageCurrent情节(v (minIndex),“o”“线宽”2,“MarkerSize”, 20岁,“MarkerEdgeColor”“红色”)标题(sprintf (计算LED开启时的电压:%1.2fVv (minIndex)));

关闭LED,清除数据采集

写(ADIDaq 0);近清晰ADIDaq