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 23, 2021

...

SG

...

Engineering modes updated, and device set up parameters (and mode settings) spreadsheet now included.

...

Link to page history

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)

...

Operational Mode: Cold (Green)

...

Operational mode of CCD temperature maintained at cold temperature set point.

...

Operational Mode: Cold (Red)

...

Engineering Mode: Warm (Idle) (Green)

...

Engineering mode for idle case of warm CCD under no temperature control.

...

Engineering Mode: Warm (Idle) (Red)

...

Engineering Mode: Cool Down (Green)

...

Engineering and maintenance only. Controlled ramp of cold head temperature from warm to cold.

...

Engineering Mode: Cool Down (Red)

...

Engineering Mode: Warm Up (Green)

...

Engineering and maintenance only. Controlled ramp of cold head temperature from cold to warm.

...

Engineering Mode: Warm Up (Red)

...

Engineering Mode: Set PID (Green)

...

Engineering and maintenance only. Uploads a PID parameter table to the device.

...

Engineering Mode: Set PID (Red)

Operational Modes

Required Adjustable Settings

...

Setting

...

When Needed

...

Notes

...

Green Channel Instec

...

Build

...

Observing

...

Maintenance

...

Green 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

...

Green 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.

...

Green Cold Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

Used for the following commands:

Code Block
TEMP:HOLD
Code Block
TEMP:RAMP

...

Green Warm Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

Used for the following commands:

Code Block
TEMP:HOLD
TEMP:RAMP

...

Green Cool-down Rate

...

YES

...

NO

...

MAYBE

...

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

...

Green Warm-up Rate

...

YES

...

NO

...

MAYBE

...

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

...

Green Power Percentage Value

...

YES

...

NO

...

MAYBE

...

Power setting in percent.

NOTE: the power percentage value on the Instec screen is in percent. However, power values passed through software are ratios. i.e., to set power to 5% the command would be:

Code Block
TEMP:RPP 0.05

and a following query

Code Block
TEMP:POW?

would return 0.050. Screen would say 5%.

Suggest using ‘units’ of percent for this variable to match display screen; and have software convert it to a ratio behind the scenes for commanding the Instec.

...

Red Channel Instec

...

Build

...

Observing

...

Maintenance

...

Red PID Parameters

...

YES

...

NO

...

MAYBE

...

See notes above for Green counterpart.

...

Red Heating/cooling status

...

YES

...

NO

...

MAYBE

...

See notes above for Green counterpart.

...

Red Cold Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

See notes above for Green counterpart.

...

Red Warm Temperature Set Point

...

YES

...

NO

...

MAYBE

...

Temperature in degrees C.

See notes above for Green counterpart.

...

Red Cool-down Rate

...

YES

...

NO

...

MAYBE

...

Temperature change rate of degrees C per minute.

See notes above for Green counterpart.

...

Red Warm-up Rate

...

YES

...

NO

...

MAYBE

...

Temperature change rate of degrees C per minute

See notes above for Green counterpart.

...

Red Power Percentage Value

...

YES

...

NO

...

MAYBE

...

Power setting in percent.

See notes above for Green counterpart.

Device Set-up Parameters

Annotated command list with KPF settings. Covers device start-up and also settings for the various modes.

View file
nameInstec Command List - KPF - June 23, 2021.xlsx

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
Calibration

Controller calibration file example.

Filename structure is:

“cold_head_SN & mK2000B_SN cal.clb”

View file
nameKCPE2006054 & KSE48Sm22001147 cal.clb

Dispatcher Implementation

...

Keyword

...

Value

...

Type

...

CTEM

...

25.0 - current temperature

...

Double - read only

...

SPO

...

-95.0 - temperature set point - setting this executes a HOLD command

...

Double

...

CHSW

...

0 - Heating Only

1 - Both

2 - Cooling Only

This determines which PID loop is used. See the manual for details

...

Enumerated list

...

RAT

...

1.000

Value of the change in temperature in time as said by the device. Can be set by the RAMP command

...

Double - read only - deg / min

...

POW

...

0.01

Power output on a scale of 0 to 1.

...

Double - read only

...

POWPCT

...

1

Power output on a scale of 0 to 100%

...

Double - read only

...

STAT

...

0 - Stop

1 - Hold Run

2 - Ramp Run

3 - Pause

4 - Profile Run

5 - PP Run

6 - Purge

State of the controller - see the manual, but should reflect the last command sent

...

Enumerated - read only

...

LCK

...

0 - Locked

1 - Unlocked

If Locked, no write commands will be accepted at the dispatcher level. To command the device it must be Unlocked.

...

Enumerated

...

STOP

...

0 - Run

1 - Stop

If set to 1, a Stop command is sent to the Instec controller. See manual for details

...

Boolean

...

RAMP

...

“-95,1”

Commands a ramp to the controller, which sets the set point (SPO) and will change the rate of time (RAT) value. Those values are not set by the dispatcher so updates in the values reflect what the controller thinks it is doing.

...

String

...

PORT

...

50292

...

String - read only

...

IP

...

192.168.23.145

...

String - read only

...

SERIAL

...

String - read only

...

REV

...

String - read only

...

CONN$(DISPNUM)

...

0 - Off

1 - On

Toggles on and off the connection to the Instec

...

Enum

...

DISP$(DISPNUM)XXXX

...

The usual dispatcher

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