LED의 특성을 자동 계측

15312 단어 SCPImatlab
작은 신호용 LED의 특성을 측정합니다.


계측기 세트





전류계는 Keysight 34461A를 사용합니다. PC란 USB 케이블로 USB2.0의 커넥터에 연결합니다. Instrument Control Toolbox를 시작합니다. scan을 하면 VISA에서 찾아왔습니다. connect하고 *IDN? 명령을 보냅니다. 응답이 있었다.


전압계는 IWATSU VOAC7602를 사용합니다. PC란 USB 케이블로 USB2.0의 커넥터에 연결합니다. Iwatsu Test Instruments Tools Ver 1.9 를 다운로드하여 USB 드라이버를 설치합니다. Instrument Control Toolbox를 시작합니다. scan을 하면 VISA에서 찾아왔습니다. connect하고 *IDN? 명령을 보냅니다. 응답이 있었다.


실험용 전원은 HEWLETT-PACKARD E3631A를 사용합니다. PC와 계측기는 GPIB-USB 변환 케이블(Agilent의 82357B)로 USB2.0 커넥터에 연결합니다. Instrument Control Toolbox를 시작합니다. scan을 하면 VISA에서 찾아왔습니다. connect하고 *IDN? 명령을 보냅니다. 응답이 있었다.


초기화



Instrument Control Toolbox에서 *IDN?을 실행한 후 Session log 탭을 엽니다. 이 내용을 복사합니다.



3개의 계측기 마다 복사를 해, obj1이 되어 있는 곳을, obj_current, obj_voltage , obj_power 와 계측기의 기능이 알 수 있는 이름으로 변경합니다.
Instrument Connection
clear
% Find a VISA-USB object.
obj_current =  instrfind('Type', 'visa-usb', 'RsrcName', 'USB0::0x2A8D::0x1301::MY53216054::0::INSTR', 'Tag', '');
obj_voltage =  instrfind('Type', 'visa-serial', 'RsrcName', 'ASRL7::INSTR', 'Tag', '');
obj_power   =  instrfind('Type', 'visa-gpib', 'RsrcName', 'GPIB1::10::INSTR', 'Tag', '');

if isempty(obj_current)
    obj_current = visa('KEYSIGHT', 'USB0::0x2A8D::0x1301::MY53216054::0::INSTR');
else
    fclose(obj_current);
    obj_current = obj_current(1);
end
if isempty(obj_voltage)
    obj_voltage = visa('KEYSIGHT', 'ASRL7::INSTR');
else
    fclose(obj_voltage);
    obj_voltage = obj_voltage(1);
end
if isempty(obj_power)
    obj_power = visa('KEYSIGHT', 'GPIB1::10::INSTR');
else
    fclose(obj_power);
    obj_power = obj_power(1);
end

% Connect to instrument object.
obj_current.InputBufferSize = 100000;
obj_voltage.InputBufferSize = 100000;
fopen(obj_current);
fopen(obj_voltage);
fopen(obj_power);

이 후, 측정기마다 초기설정을 합니다.
Instrument Configuration and Control
% Communicating with instrument object.
fprintf(obj_current, '*RST;*CLS');
fprintf(obj_voltage, '*RST;*CLS');
fprintf(obj_power,   '*RST;*CLS');

% Communicating with instrument object.
fprintf(obj_current, ':CONF:CURR; DC:RANG .1');  % 34461Aは電流測定モード
fprintf(obj_current, ':INIT');
pause(1)
fprintf(obj_voltage, ':CONF:VOLT:DC:RANG 10');   % VOAC7602は電圧測定モード
fprintf(obj_voltage, ':INIT');
fprintf(obj_power, ':INST:SEL P25V');     % +25V出力を使う
fprintf(obj_power, ':TRIG:SOUR IMM');
fprintf(obj_power, ':VOLTage:TRIG 1.0');  % 初期電圧1V
fprintf(obj_power, ':CURR:TRIG 0.03');    % 最大値30mA
fprintf(obj_power, ':OUTPut ON');
fprintf(obj_power, ':INIT');
pause(1)

종료 처리 부분입니다.
Disconnect and Clean Up
% The following code has been automatically generated to ensure that any
% object manipulated in TMTOOL has been properly disposed when executed
% as part of a function or script.

% Disconnect all objects.
fclose(obj_current);
fclose(obj_voltage);
fclose(obj_power);

% Clean up all objects.
delete(obj_current);
delete(obj_voltage);
delete(obj_power);
clear obj_current;
clear obj_voltage;
clear obj_power;

측정은 전압을 올려 간다



10스텝에서는 간격이 너무 크므로, 20스텝으로 계측했습니다. LED는 작은 신호용 적색입니다.
% Start
V = [];
A = [];
step = 28:50 % 14:25
for voltage = step
   message = ":VOLTage:TRIG " + voltage/20 ;
   fprintf(obj_power, message);
   fprintf(obj_power, ':INIT');
   pause(0.03)
   ic = query(obj_current, 'READ?')
   fprintf(obj_voltage, ':INIT');
   ec = query(obj_voltage, ':FETCh?')
   A(voltage) = str2num(ic) * 1000;
   V(voltage) = str2num(ec);
end

fprintf(obj_power, ":VOLTage:TRIG 0");
fprintf(obj_power, ':INIT');

그림을 그립니다.
figure
plot(V, A,'-o');
xlabel('電圧[V]');
ylabel('電流[mA]');
grid on;
title('LED')

그래프입니다.



녹색 LED입니다.

좋은 웹페이지 즐겨찾기