Извлечение спектра через спектрометр Ocean Optics с использованием драйвера прибора MATLAB

Этот пример показывает, как получить спектр источника флуоресцентного света от спектрометра Ocean Optics.

Введение

Instrument Control Toolbox™ поддерживает связь с инструментами через высокоуровневые драйверы. В этом примере можно получить спектр от спектрометра Ocean Optics с помощью драйвера прибора MATLAB.

Требования

Этот пример требует следующего:

  • 64-разрядная версия Microsoft ® Windows ®

  • Спектрометр Ocean Optics USB2000

Создайте объект OmniDriver инструмента MATLAB.

spectrometerObj = icdevice('OceanOptics_OmniDriver.mdd');

Подключите к прибору.

connect(spectrometerObj);
disp(spectrometerObj)
NatUSB_64
Driver: NatUSBWin_64

   Instrument Device Object Using Driver : OceanOptics_OmniDriver.mdd
 
   Instrument Information
      Type:               Spectrometer
      Manufacturer:       Ocean Optics
      Model:              QE65 Pro, Maya2000 Pro, Jaz EL350, HR2000, USB2000, USB4000, NIRQuest
 
   Driver Information
      DriverType:         MATLAB generic
      DriverName:         OceanOptics_OmniDriver.mdd
      DriverVersion:      1.0
 
   Communication State
      Status:             open

Установите параметры для захвата спектра.

% integration time for sensor.
integrationTime = 50000;
% Spectrometer index to use (first spectrometer by default).
spectrometerIndex = 0;
% Channel index to use (first channel by default).
channelIndex = 0;
% Enable flag.
enable = 1;

Идентифицируйте спектрометр, подключенный.

% Get number of spectrometers connected.
numOfSpectrometers = invoke(spectrometerObj, 'getNumberOfSpectrometersFound');

disp(['Found ' num2str(numOfSpectrometers) ' Ocean Optics spectrometer(s).'])

% Get spectrometer name.
spectrometerName = invoke(spectrometerObj, 'getName', spectrometerIndex);
% Get spectrometer serial number.
spectrometerSerialNumber = invoke(spectrometerObj, 'getSerialNumber', spectrometerIndex);
disp(['Model Name : ' spectrometerName])
disp(['Model S/N  : ' spectrometerSerialNumber])
Found 1 Ocean Optics spectrometer(s).
Model Name : USB2000+
Model S/N  : USB2+H11505

Установите параметры для захвата спектра.

% Set integration time.
invoke(spectrometerObj, 'setIntegrationTime', spectrometerIndex, channelIndex, integrationTime);
% Enable correct for detector non-linearity.
invoke(spectrometerObj, 'setCorrectForDetectorNonlinearity', spectrometerIndex, channelIndex, enable);
% Enable correct for electrical dark.
invoke(spectrometerObj, 'setCorrectForElectricalDark', spectrometerIndex, channelIndex, enable);

Получите спектр.

wavelengths = invoke(spectrometerObj, 'getWavelengths', spectrometerIndex, channelIndex);
% Get the wavelengths of the first spectrometer and save them in a double
% array.
spectralData = invoke(spectrometerObj, 'getSpectrum', spectrometerIndex);

Постройте график формы волны.

    plot(wavelengths, spectralData);
    title('Optical Spectrum');
    ylabel('Intensity (counts)');
    xlabel('\lambda (nm)');
    grid on
    axis tight

Очистить.

disconnect(spectrometerObj);

delete (spectrometerObj);