主要内容

用ADALM1000描述LED

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

发现连接到系统的受支持的数据采集设备

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

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

= daq(“阿迪”);

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

ADALM1000装置能够在同一通道上同时提供电压和测量电流。以此方式设置设备。

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

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),逼近,1);numPointsForLine = numPointsForLine - 5;normErr = errorStruct.normr;结束

对测量范围内的线性多项式求值。这个值与表示任何泄漏电流的水平线的交点就是LED打开时的电压。

LEDThreshold = 1.2;leakageccurrent =均值(i(v
               

画出曲线的线性部分。

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

圈出LED打开时的近似电压。

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

关闭LED灯,清除采集数据

写(ADIDaq 0);近清晰ADIDaq
Baidu
map