...
Table of Contents:
Table of Contents |
---|
Page Status
...
Date
...
Initials
...
Change
...
June 10, 2021
...
SG
...
Getting ready for Will and Brad (telemetry functions only so far).
PID update, Cool-down and Warm-up procedures to follow.
...
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
Cold Head |
Temperature Controller
1
Instec
mK2000
Red CCD Cold Head
Temperature Controller
Temperature Controllers (Green and Red) | 2 | Instec |
mK2000
Green LN2 Pump
mK2000B | |||
LN2 Pumps (Green and Red) | 2 | Instec | LN2-SYS |
N/A
Red LN2 Pump
1
Instec
LN2-SYS
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
Link to Instec tab within KPF Operational and Engineering Modes Spreadsheet
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 percentage, between -1 and +1
Status | ||||
---|---|---|---|---|
|
...
Red Channel Instec
...
Build
...
Observing
...
Maintenance
...
Red 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 |
...
Red 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.
...
Red Cold Temperature Set Point
...
YES
...
NO
...
MAYBE
...
Temperature in degrees C.
Used for the following commands:
Code Block |
---|
TEMP:HOLD
TEMP:RAMP |
...
Red Warm Temperature Set Point
...
YES
...
NO
...
MAYBE
...
Temperature in degrees C.
Used for the following commands:
Code Block |
---|
TEMP:HOLD
TEMP:RAMP |
...
Red 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 |
...
Red 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 |
...
Red Power Percentage Value
...
YES
...
NO
...
MAYBE
...
Power percentage, between -1 and +1
Status | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
...
Monitor CCD temperature
...
Code Block |
---|
TEMP:CTEM? |
...
Heating/cooling enabled status
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Current mode; outputs are:
0=Heating only, 1=Heating&Cooling; 2=Cooling only.
...
Code Block |
---|
TEMP:CHSW? |
...
System status
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Current status; outputs are:
0=Stop, 1=Hold Run, 2=Ramp Run, 3=Pause, 4=Profile Run, 5=PP Run, 6=Purge
...
Code Block | ||
---|---|---|
| ||
TEMP:STAT? |
...
Temperature set point
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Temperature in deg C.
...
Code Block |
---|
TEMP:SPO? |
...
Power value
...
1 Hz
Status | ||||
---|---|---|---|---|
|
...
Power value
...
Code Block |
---|
TEMP:POW? |
...
Rate value
...
On change?
Status | ||||
---|---|---|---|---|
|
...
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 | ||||
---|---|---|---|---|
|
...
Monitor CCD temperature
...
Code Block |
---|
TEMP:CTEM? |
...
Heating/cooling enabled status
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Current mode; outputs are:
0=Heating only, 1=Heating&Cooling; 2=Cooling only.
...
Code Block |
---|
TEMP:CHSW? |
...
System status
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Current status; outputs are:
0=Stop, 1=Hold Run, 2=Ramp Run, 3=Pause, 4=Profile Run, 5=PP Run, 6=Purge
...
Code Block | ||
---|---|---|
| ||
TEMP:STAT? |
...
Temperature set point
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Temperature in deg C.
...
Code Block |
---|
TEMP:SPO? |
...
Power value
...
1 Hz
Status | ||||
---|---|---|---|---|
|
...
Power value
...
Code Block |
---|
TEMP:POW? |
...
Rate value
...
On change?
Status | ||||
---|---|---|---|---|
|
...
Rate value (for ramp mode)
...
Code Block |
---|
TEMP:RAT? |
Required Alarms
...
Parameter
...
Threshold
...
Notes
...
Cold Head Temperature Value Low (Green)
...
Status | ||||
---|---|---|---|---|
|
...
Cold Head Temperature Value High (Green)
...
Status | ||||
---|---|---|---|---|
|
...
Cold Head Temperature Value Low (Red)
...
Status | ||||
---|---|---|---|---|
|
...
Cold Head Temperature Value High (Red)
...
Status | ||||
---|---|---|---|---|
|
...
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 | One for Green, one for Red. | |||||
Instec Pump Cable | 2 | One for Green, one for Red. | |||||
Instec Sensor and Heater Cable (Air and Vacuum Sections) | 2 | DB15 Cable Pinout:
Air-side Instec cable details: Vacuum-side Instec cable (and Cold Head, with LN2 connections): | 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 |
mK2000B User Manual |
| email from Instec | ||||
2 |
mK2000B Command Reference |
| email from Instec | |||||
3 | LN2-SYS Pump Manual |
| email from Instec | ||||
4 | Vacuum Feedthru |
...
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.” |
| 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. |
| email from Instec | ||||||||||||
3 | PacketSender connection example | Screengrab of SG’s successful connection to device through PacketSender. Note port is 50292. | |||||||||||||
4 | Instec App for Windows |
| 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:
PID files:
| Steve’s test of parsing and uploading Instec .csv file | ||||||||||||
6 | Calibration table decoder ring |
| email from Instec | ||||||||||||
7 | Controller calibration file example. Filename structure is: “cold_head_SN & mK2000B_SN 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 |