The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lab::Moose::Instrument::OI_ITC503 - Oxford Instruments ITC503 Intelligent Temperature Control

VERSION

version 3.772

SYNOPSIS

 use Lab::Moose;

 # Constructor
 my $itc = instrument(
     type => 'OI_ITC503',
     connection_type => 'LinuxGPIB',
     connection_options => {pad => 10},
 );


 # Get temperature
 say "Temperature: ", $itc->get_value();

 # Set heater to AUTO
 $itc->itc_set_heater_auto( value => 0 );

 # Set PID to AUTO
 $itc->itc_set_PID_auto( value => 1 );

DESCRIPTION

By default, two temperature sensors are used: Sensor 2 for temperatures below 1.5K and sensor 3 for temperatures above 1.5K. The used sensors can be set in the constructor, e.g.

 my $itc = instrument(
     ...
     high_temp_sensor => 2,
     low_temp_sensor => 3
 );

The "get_value" and "set_T" functions will dynamically choose the proper sensor.

METHODS

set_control

 $itc->set_control(value => 1);

Set device local/remote mode (0, 1, 2, 3)

itc_set_communications_protocol

 $itc->itc_set_communications_protocol(value => 0); # 0 or 2

itc_set_T

 $itc->itc_set_T(value => 0.5);

Set target temperature.

get_value

 my $temp = $itc->get_value();

Get current temperature value.

get_T

Alias for "get_value".

itc_read_parameter

 my $value = $itc->itc_read_parameter(param => 1);

Allowed values for param are 0..13

itc_set_wait

 $itc->itc_set_wait(value => $milli_seconds);

itc_examine

 my $status = $itc->itc_examine();

itc_set_heater_auto

 $itc->itc_set_heater_auto(value => 0);

Allowed values: 0 Heater Manual, Gas Manual; 1 Heater Auto, Gas Manual 2 Heater Manual, Gas Auto 3 Heater Auto, Gas Auto

itc_set_PID

 $itc->itc_set_PID(
     p => $p,
     i => $i,
     d => $d
 );

itc_set_heater_sensor

 $itc->itc_set_heater_sensor( value => 1 );

Value must be one of 1, 2, or 3.

itc_set_PID_auto

 $itc->itc_set_PID_auto(value => 1); # enable
 $itc->itc_set_PID_auto(value => 0); # disable

itc_set_max_heater_voltage

 $itc->itc_set_max_heater_voltage(value => $voltage);

itc_set_heater_output

 $itc->itc_set_heater_output(value => $output); # value from 0 to 0.999

itc_T_set_point

 $itc->itc_T_set_point(value => $temp);

 $itc->heat_sorb(
     max_temp => $max_temp, # default: 30 K
     max_temp_time => ..., # default: 20 * 60 seconds
     middle_temp => ..., # default: 20 K
     middle_temp_time => ..., # default: 200 seconds
     target_time => ..., # default: 0.3 K
     sorb_sensor => ..., # default: 1
     sample_sensor => ..., # default: 2
 );

Heat the sorb of a 3-He cryostat (like OI HelioxVL). The sorb temperature is first set to middle_temp for middle_temp_time seconds, then to max_temp for max_temp_time seconds. Then the heater is switched off and the routine returns when the temperature at sample_sensor has dropped below target_time.

Consumed Roles

This driver consumes the following roles:

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 by the Lab::Measurement team; in detail:

  Copyright 2019       Simon Reinhardt
            2020       Andreas K. Huettel

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.