Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents:

Table of Contents

Page Status

...

Date

...

Initials

...

Change

...

June 10, 2021

...

SG

...

Introduction

Instec (https://instec.com/) thermal controllers and liquid nitrogen (LN2) pumps are used as part of the KPF CCD thermal control system (see CCD Thermal Control System).

A thermal sensor within the cold head is monitored by the mK2000B controller, which then calls for more cooling (by increasing the speed of the pump to draw more LN2 through the system), or for more heating (by increasing the power going to the heater element within the cold head). Cooling or heating needs are determined by comparison against the desired temperature set-point, and the response of the system is tuned via PID control parameters.

The mK2000B controller and LN2-SYS pump are standard Instec products. The cold head was custom-designed by Instec for the KPF system.

...

Relevant Devices

Description

Qty

Source

Part Number

IP Address Link

Green CCD

Cold Head


Temperature Controller

1

Instec

mK2000

Aux Rack IP List

Red CCD Cold Head
Temperature Controller

1

Instec

mK2000

Aux Rack IP List

Green LN2 Pump

1

Temperature Controllers (Green and Red)

2

Instec

mK2000B

LN2 Pumps (Green and Red)

2

Instec

LN2-SYS

N/A

Red LN2 Pump

1

Instec

LN2-SYS

N/A

Cold Heads (Green and Red)

2

Instec

Custom for KPF

...

Relevant Functional Block Diagram

...

Software Actions

...

Action

...

Notes

...

Read telemetry (Green)

...

Continuously running

...

Read telemetry (Red)

...

Upload PID parameter table (Green)

...

Engineering and maintenance only

...

Upload PID parameter table (Red)

...

Cool-down procedure (Green)

...

Engineering and maintenance only

...

Cool-down procedure (Red)

...

Warm-up procedure (Green)

...

Engineering and maintenance only

...

Warm-up procedure (Red)

Operational Modes [TBD]

  • Link to Instec tab within Operational Modes Spreadsheet

    • No modes yet for controller (always on device??)

Required Adjustable Settings

...

Setting

...

When Needed

...

Notes

...

Build

...

Observing

...

Maintenance

...

PID Parameters

...

YES

...

NO

...

MAYBE

...

Instec app can save PID parameters to a .csv file. Likely convenient to use same format. Used with this command:

Code Block
TEMP:SPID

Verified with this command:

Code Block
TEMP:GPID

...

Heating/cooling status

...

YES

...

NO

...

MAYBE

...

Values: 0=Heating Only, 1=Heating and Cooling, 2=Cooling Only

Change between different modes with

Code Block
TEMP:CHSW

command.

...

Cold Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

Used for the following commands:

Code Block
TEMP:HOLD
Code Block
TEMP:RAMP

...

Warm Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

Used for the following commands:

Code Block
TEMP:HOLD
TEMP:RAMP

...

Cool-down Rate

...

Temperature change rate of degrees C per minute.

Note this value is positive-only and the mK2000 infers the direction based on current and desired temperature.

Used for the RAMP command:

Code Block
TEMP:RAMP

...

Warm-up Rate

...

Temperature change rate of degrees C per minute

Note this value is positive-only and the mK2000 infers the direction based on current and desired temperature.

Used for the RAMP command:

Code Block
TEMP:RAMP

...

Power Percentage Value

...

Power percentage, between

Required Telemetry

...

Parameter

...

Report Frequency

...

Purpose

...

Notes

...

Green Channel Instec

...

Device Serial Number?

...

At startup

...

Include in log just in case device is swapped out in future

...

Code Block
*IDN?

(third field of reply)

...

Device Rev Number

...

At startup

...

Include in log just in case device is swapped out in future

...

Code Block
*IDN?

(fourth field of reply)

...

Cold Head Temperature Value

...

1 Hz

Status
colourRed
titleTBC

...

Monitor CCD temperature

...

Code Block
TEMP:CTEM?

...

Heating/cooling enabled status

...

On change?

Status
colourRed
titleTBC

...

Current mode; outputs are:

0=Heating only, 1=Heating&Cooling; 2=Cooling only.

...

Code Block
TEMP:CHSW?

...

System status

...

On change?

Status
colourRed
titleTBC

...

Current status; outputs are:

0=Stop, 1=Hold Run, 2=Ramp Run, 3=Pause, 4=Profile Run, 5=PP Run, 6=Purge

...

Code Block
languagenone
TEMP:STAT?

...

Temperature set point

...

On change?

Status
colourRed
titleTBC

...

Temperature in deg C.

...

Code Block
TEMP:SPO?

...

Power value

...

1 Hz

Status
colourRed
titleTBC

...

Power value

...

Code Block
TEMP:POW?

...

Rate value

...

On change?

Status
colourRed
titleTBC

...

Rate value (for ramp mode)

...

Code Block
TEMP:RAT?

...

Red Channel Instec

...

Device Serial Number?

...

At startup

...

Include in log just in case device is swapped out in future

...

Code Block
*IDN?

(third field of reply)

...

Device Rev Number

...

At startup

...

Include in log just in case device is swapped out in future

...

Code Block
*IDN?

(fourth field of reply)

...

Cold Head Temperature Value

...

1 Hz

Status
colourRed
titleTBC

...

Monitor CCD temperature

...

Code Block
TEMP:CTEM?

...

Heating/cooling enabled status

...

On change?

Status
colourRed
titleTBC

...

Current mode; outputs are:

0=Heating only, 1=Heating&Cooling; 2=Cooling only.

...

Code Block
TEMP:CHSW?

...

System status

...

On change?

Status
colourRed
titleTBC

...

Current status; outputs are:

0=Stop, 1=Hold Run, 2=Ramp Run, 3=Pause, 4=Profile Run, 5=PP Run, 6=Purge

...

Code Block
languagenone
TEMP:STAT?

...

Temperature set point

...

On change?

Status
colourRed
titleTBC

...

Temperature in deg C.

...

Code Block
TEMP:SPO?

...

Power value

...

1 Hz

Status
colourRed
titleTBC

...

Power value

...

Code Block
TEMP:POW?

...

Rate value

...

On change?

Status
colourRed
titleTBC

...

Rate value (for ramp mode)

...

Code Block
TEMP:RAT?

Required Alarms

...

Parameter

...

Threshold

...

Notes

...

Cold Head Temperature Value Low (Green)

...

Status
colourRed
titleTBC

...

Cold Head Temperature Value High (Green)

...

Status
colourRed
titleTBC

...

Cold Head Temperature Value Low (Red)

...

Status
colourRed
titleTBC

...

Cold Head Temperature Value High (Red)

...

Status
colourRed
titleTBC

...

Also see CCD Thermal Control System for more details on the entire thermal control system (including LN2 connections).

The vacuum feethru is described as: “INSTRUMENTATION FEEDTHROUGH, DOUBLE ENDED SUBMINIATURE-D STYLE CONNECTOR, GROUNDED SHIELD, RECESSED CONDUCTOR(S), 15 PIN, 500V AND 5 AMP RATING PER PIN, MOUNTED ON A DN40CF (2.75" OD) FLANGE.” It was purchased from Lesker (PN IFDGG151053). More details on the feedthru in the 'Relevant Datasheets and Manuals” section below.

...

Cable Details

Cable

Qty

Details

Notes

Ethernet

2

Cat6 Copper Ethernet Cable M-M, 6 feet long

Entirely within Aux Rack. One for Green, one for Red.

Mains power cables - mK200B

2

NEMA 5-15P to C1314 AWG Power Cord

Entirely within Aux Rack. One for Green, one for Red.

Mains power cables - Pump

2

See Aux Rack External Cables

One for Green, one for Red.

Instec Pump Cable

2

See Aux Rack External Cables

One for Green, one for Red.

Instec Sensor and Heater Cable (Air and Vacuum Sections)

2

DB15 Cable Pinout:

View file
nameDB15-Connector-Pinout Diagram.pdf

Air-side Instec cable details:

Image Added

Vacuum-side Instec cable (and Cold Head, with LN2 connections):

Image Added

Air section is a custom 30-ft long DB15 M-F cable made by Instec (our quote # was 2011632).

This cable goes between the Instec controller and the vacuum feedthru on the main vacuum chamber.

Within the chamber there is a second vacuum-compatible cable between the vacuum feedthru and the Instec Cold Head. This cable is not a separate item; it is hard-wired into the Cold Head and is not removable.

...

Relevant Datasheets & Manuals

Description

File

Source

1
mK2000

mK2000B User Manual

View file
namemK2000B_User's_Manual-V2.0.pdf

email from Instec

2
mK2000

mK2000B Command Reference

View file
nameMK2000B_SCPI_Command_reference.pdf

email from Instec

3

LN2-SYS Pump Manual

View file
nameLN2-SYS_manual.pdf

email from Instec

4

Vacuum Feedthru

Image Added

https://www.lesker.com/part/part.cfm?partnumber=ifdgg151053&op3partsection=feedthroughs/instrument-feedthroughs-mpdt-subd

...

Relevant Software (from Development Phase)

Description

File

Source

1

Instec said: “While we do have sample code for Python, it is based on a USB connection, not Ethernet. 

Our documentation on Ethernet programming is limited because it isn’t very frequently used for custom applications.

This ZIP file contains example code for python using a USB connection. It could serve as the basis for an ethernet version.”

View file
namePython.zip

email from Instec

2

Ethernet communication setup from Instec.

Mainly describes how to write code to find Instec devices on a network.

Note PacketSender image within, which shows correct port to use for ethernet communication.

View file
nameMK2000B Ethernet programming.pdf

email from Instec

3

PacketSender connection example

Image Modified

Screengrab of SG’s successful connection to device through PacketSender. Note port is 50292.

4

Instec App for Windows
(standalone program; not useful for KTL but included here for completeness)

View file
nameInstec Software - Working Version.zip

View file
nameInstecApp-V2.0.pdf

email from Instec

5

Steve’s python code that uploads a PID table from a .csv file (in Instec format) to the device over USB.

Example PID tables also included (one with actual values, and one with integers that was useful for testing code).

Code:

View file
nameInstec_PID_set.py

PID files:

View file
nameInstec-MK2000B-KCE48Sm22001147-device_nominal_settings.csv

View file
namePID_table_integer_test.csv

Steve’s test of parsing and uploading Instec .csv file

6

Calibration table decoder ring
(output of CAL:TAB command)

The data is formatted as follows:

The return data is 171 bytes long.

The first byte is “#”, while the last two bytes are the “return” (0x0D) and “New line” (0x0A) characters.

The 6th byte describes the data type; 0 = TM, 1 = Calibration Table C1, 4 = Calibration Table C4 etc…

The 7th byte is the number of entries in the calibration table.

The actual calibration data begins at the 10th byte. For each in the calibration table, there are two floating point numbers which correspond to T0 and Ts.

Each floating point number consists of 4 bytes, which are arranged in little endian order.

email from Instec

7

Controller calibration file example.

Filename structure is:

“cold_head_SN & mK2000B_SN cal.clb”

View file
nameKCPE2006054 & KSE48Sm22001147 cal.clb

...

KTL Dispatcher Configuration File

Configuration

Value

Explanation

dispnum

1

Dispatcher number

address

192.168.23.145

IP address of the Instec

port

50292

Port number of the Instec

model

MK2000B

model of the Instec, used to find the serial number

poll_time

10

how often in seconds the various values are queried

calfile

@RELDIR@/data/@KTLSERVICE@/KCPE2006054_KSE48Sm22001147_cal.clb

calibration file for the controller, on connection the table is read in and then compared with the values in the Instec controller