NAME
Lab::Moose::Instrument::SR830 - Stanford Research SR830 Lock-In Amplifier
VERSION
version 3.681
SYNOPSIS
use Lab::Moose;
# Constructor
my $lia = instrument(type => 'SR830', %connection_options);
# Set reference frequency to 10 kHz
$lia->set_frq(value => 10000);
# Set time constant to 10 sec
$lia->set_tc(value => 10);
# Set sensitivity to 10 mV
$lia->set_sens(value => 0.001);
# Get X and Y values
my $xy = $lia->get_xy();
say "X: ", $xy->{x};
say "Y: ", $xy->{y};
METHODS
get_frq
my $frq = $lia->get_frq();
Query frequency of the reference oscillator.
set_frq
$lia->set_frq(value => $frq);
Set frequency of the reference oscillator.
get_amplitude
my $ampl = $lia->get_amplitude();
Query amplitude of the sine output.
set_amplitude
$lia->set_amplitude(value => $ampl);
Set amplitude of the sine output.
get_phase
my $phase = $lia->get_phase();
Get reference phase shift (in degree). Result is between -180 and 180.
set_phase
$lia->set_phase(value => $phase);
Set reference phase shift. The $phase
parameter has to be between -360 and 729.99.
get_xy
my $xy = $lia->get_xy();
my $x = $xy->{x};
my $y = $xy->{y};
Query the X and Y values.
get_rphi
my $rphi = $lia->get_rphi();
my $r = $rphi->{r};
my $phi = $rphi->{phi};
Query R and the angle (in degree).
get_xyrphi
Get x, y, R and the angle all in one call.
get_tc
my $tc = $lia->get_tc();
Query the time constant.
set_tc
# Set tc to 30μs
$lia->set_tc(value => 30e-6);
Set the time constant. The value is rounded to the nearest valid value. Rounding is performed in logscale. Croak if the the value is out of range.
get_filter_slope
my $filter_slope = $lia->get_filter_slope();
Query the low pass filter slope (dB/oct). Possible return values:
6
12
18
24
set_filter_slope
$lia->set_filter_slope(value => 18);
Set the low pass filter slope (dB/oct). Allowed values:
6
12
18
24
get_sens
my $sens = $lia->get_sens();
Get sensitivity (in Volt).
set_sens
$lia->set_sens(value => $sens);
Set sensitivity (in Volt).
Same rounding as for set_tc
.
get_input
my $input = $lia->get_input();
Query the input configuration. Possible return values:
A
AB
I1M
I100M
set_input
$lia->set_input(value => 'AB');
Set input configuration. Allowed values:
A
AB
I1M
I100M
get_ground
my $ground = $lia->get_ground();
Query the input shield grounding. Possible return values:
GROUND
FLOAT
set_ground
$lia->set_ground(value => 'GROUND');
# or:
$lia->set_ground(value => 'FLOAT');
Set the input shield grounding. Allowed values:
GROUND
FLOAT
get_coupling
my $coupling = $lia->get_coupling();
Query the input coupling. Possible return values:
AC
DC
set_coupling
$lia->set_coupling(value => 'AC');
# or:
$lia->set_coupling(value => 'DC');
Set the input coupling. Allowed values:
AC
DC
get_line_notch_filters
my $filters = $lia->get_line_notch_filters();
Query the line notch filter configuration. Possible return values:
OUT
LINE
2xLINE
BOTH
set_line_notch_filters
$lia->set_line_notch_filters(value => 'BOTH');
Set the line notch filter configuration. Allowed values:
OUT
LINE
2xLINE
BOTH
calculate_settling_time
my $settling_time = $lia->calculate_settling_time(settling => '99');
Calculate settling time independent of current time constant and filter slope. See "Principles of lock-in detection and the state of the art" white paper by Zurich Instruments. The settling
parameter is given in percent. Allowed values:
'63.2'
'90'
'99'
'99.9'
Consumed Roles
This driver consumes the following roles:
COPYRIGHT AND LICENSE
This software is copyright (c) 2019 by the Lab::Measurement team; in detail:
Copyright 2016 Simon Reinhardt
2017 Andreas K. Huettel, Simon Reinhardt
2018 Simon Reinhardt
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.