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:

Lab::Moose::Instrument::Common

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.