++ed by:

1 PAUSE user
1 non-PAUSE user.

Andreas K. Hüttel
and 4 contributors

NAME

Lab::Moose::Instrument::SR830 - Stanford Research SR830 Lock-In Amplifier

version 3.670

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:

Lab::Moose::Instrument::Common

``````  Copyright 2016       Simon Reinhardt