Чтобы приспособить ADALM1000, следующий Сбор данных, функции Toolbox™ позволяют определенные для продавца варианты аргумента:
В этом примере показано, как получить напряжение при измерении тока в том же канале для расчета сопротивления нагрузки. Сначала запрограммируйте ADALM1000 на подачу постоянного напряжения 5 В на нагрузку, а затем измерьте ток на том же канале устройства.
Найдите устройство ADALM и просмотрите его информацию.
dev = daqlist("adi")dev =
1×4 table
DeviceID Description Model DeviceInfo
________ _______________________________ ___________ ________________________
"SMU1" "Analog Devices Inc. ADALM1000" "ADALM1000" [1×1 daq.adi.DeviceInfo]dev{1,"DeviceInfo"}adi: Analog Devices Inc. ADALM1000 (Device ID: 'SMU1')
Analog input supports:
0 to +5.0 Volts,-0.20 to +0.20 A ranges
Rates from 100000.0 to 100000.0 scans/sec
2 channels ('A','B')
'Voltage','Current' measurement types
Analog output supports:
0 to +5.0 Volts,-0.20 to +0.20 A ranges
Rates from 100000.0 to 100000.0 scans/sec
2 channels ('A','B')
'Voltage','Current' measurement typesНастройте элемент Data Acquisition панели инструментов сбора данных для работы с ADALM100.
d = daq("adi")d =
DataAcquisition using Analog Devices Inc. hardware:
Running: 0
Rate: 100000
NumScansAvailable: 0
NumScansAcquired: 0
NumScansQueued: 0
NumScansOutputByHardware: 0
RateLimit: [100000 100000]Добавление аналогового выходного канала к напряжению источника из канала устройства A.
addoutput(d,"SMU1","A","Voltage");
Добавление аналогового входного канала для измерения тока на том же канале устройства A.
addinput(d,"SMU1","A","Current");
Просмотрите конфигурацию канала.
d.Channels
ans =
Index Type Device Channel Measurement Type Range Name
_____ ____ ______ _______ _____________________ __________________ __________
1 "ao" "SMU1" "A" "Voltage (SingleEnd)" "0 to +5.0 Volts" "SMU1_A"
2 "ai" "SMU1" "A" "Current" "-0.20 to +0.20 A" "SMU1_A_1"Создайте выходное напряжение и измерьте ток.
V_load = 5; write(d,V_load); I_load = read(d,"OutputFormat","Matrix"); write(d,0); % Reset device output. R_load = V_load/I_load
R_load = 50.3005
Совет
ADALM1000 продолжает генерировать последнее запрограммированное значение до тех пор, пока не будет освобождено оборудование. Когда вы закончите с вашими сигналами, сбросьте устройство на выход 0 вольт.
В этом примере показано, как генерировать импульс длительностью 1 миллисекунда, 5 вольт, окруженный с обеих сторон 10 миллисекундами при 0 вольтах.
pdata = zeros(2100,1); % Column vector of 2100 samples. pdata (1001:1100) = 5; % Pulse in middle of vector. d = daq("adi"); addoutput(d,"SMU1","B","Voltage");
write(d,pdata)
В этом примере показано, как одновременно генерировать 1-kHz квадратную волну на канале A и 100 Гц синусоидальную волну на канале B. Каждый выход длится 5 секунд.
В примере требуется два канала DataAcquisition для каналов A и B устройства, оба являются выходными каналами для напряжения.
d = daq("adi"); addoutput(d,"SMU1","A","Voltage"); addoutput(d,"SMU1","B","Voltage");
Определите две формы сигнала.
Sq = zeros(500000,1); % Column vectors of 500k scans. Sw = zeros(500000,1); % Define square wave: for r = 1:100:499900; Sq(r:r+49) = 5; % Set first 50 of each 100 samples to 5 v. end % Define sine wave: Sw = sin(linspace(1,500000,500000)'*2*pi/1000); Sw = Sw + 1; % Shift for positive voltage output
Просмотр конфигурации канала.
d.Channels
ans =
Index Type Device Channel Measurement Type Range Name
_____ ____ ______ _______ _____________________ _________________ ________
1 "ai" "SMU1" "A" "Voltage (SingleEnd)" "0 to +5.0 Volts" "SMU1_A"
2 "ai" "SMU1" "B" "Voltage (SingleEnd)" "0 to +5.0 Volts" "SMU1_B"Запустите генерацию выходного сигнала. Сканирование 500000 со скоростью 100000 в секунду длится 5 секунд.
write(d,[Sq Sw])