Versions Compared

Key

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

...

Description

Qty

Source

Part Number

Link

Sensor Controller

1

iButtonLink

LinkHub-E 32K

https://www.ibuttonlink.com/products/linkhube

Power Supplies

1

iButtonLink

HubPwr5-NA

https://www.ibuttonlink.com/products/hubpwr5-na

Splitters

Status
colourRed
titleTBC

(Likely a couple dozen of them)

iButtonLink

T-Box - 1-Wire Splitter

https://www.ibuttonlink.com/products/t-box

(however likely any generic RJ-45 splitter would work)

Sensors

Status
colourRed
titleTBC

(Likely a couple dozen of them)

Maxim Integrated

DALLAS

18B20

1441C4

+800AB

(label on devices used on ICON)

https://www.maximintegrated.com/en/products/sensors/DS18B20.html

...

Relevant Functional Block Diagram

The sensors are semiconductor devices with three pins:

...

The sensor cables connect to the base via a custom cable, with an RJ-45 (ethernet) connector on one end and the sensors on the other. The base unit allows four sensor cables to be attached to it (with multiple sensors on each cable, like the one shown here).

...

For the cable shown here a Winchester connector was used to allow the sensor section to be easily separated from the ethernet cable section. We will likely employ the same scheme for KPF.

...

Note how the sensors can branch off the ‘main line', and also branch off the ‘branches’.

...

Relevant Functional Block Diagram

...

Note while we will have separate cables, the python code below does not differentiate by cable when it combines sensor IDs into a list.

Software Actions

...

Action

...

Notes

...

Read temperature values from all sensors

...

Required Adjustable Settings

...

Setting

...

When Needed

...

Notes

...

Build

...

Observing

...

Maintenance

...

Sensor location table(s)

...

YES

...

NO

...

MAYBE

...

Sensor Read Frequency

...

YES

...

NO

...

MAYBE

Device Setup Parameters

The current device settings can be listed through a telnet connection (see instructions below for changing IP address).

The current list of settings is included in the file here. Note our device was used previously by another project, so while these are the current settings they may not be the default settings.

Note the listing is provided here for reference only; we do not need to query or set these parameters in software.

View file
nameLinkhub setup parameters.txt

Required Telemetry

...

Parameter

...

Report Frequency

...

Purpose

...

Notes

...

Temperature of each thermal sensor

...

connected onto short sections of ethernet cable with RJ-45 connectors. The sensors are daisy-chained together using regular ethernet cables and 1-wire RJ-45 splitters.

Connection scheme shown below to show the concept. This pattern is replicated for as many sensors as needed, with sections of regular ethernet cable used as needed to bridge sensor locations.

Note that while the cables are described here as ‘ethernet’, the communication protocol for these sensors is different than that used for computer networks.

...

Cable Details

Cable

Qty

Details

Notes

Ethernet (Computer)

1

Cat6 Copper Ethernet Cable M-M, 6 feet long

Entirely within Cal Rack.

Ethernet (Sensors)

Status
colourRed
titleTBC

Cat6 Copper Ethernet Cable M-M, lengths as needed to span distances between sensors.

Sensor Cable

Status
colourRed
titleTBC

(Set by Sensor Read Frequency value)

Monitor temperatures

2

Custom cable: short length of ethernet cable with sensor on one end and RJ-45 connector on the other.

...

Photos of Devices

...

Sensor Name Look-up Tables

Each sensor has a unique ID that is used by the LinkHub-E base. The IDs are not easily remembered so we’ll want a look-up table to tie the sensor IDs to a KPF sensor location.

...

KPF Long Name

...

KPF Short Name

...

Sensor ID

...

Notes

...

e.g. Exposure Meter Enclosure

...

e.g. 2890F1DD06000089

...

Required Alarms

...

Parameter

...

Threshold

...

Notes

...

Temperature too high
(one alarm per sensor)

...

TBC

...

Temperature too low (TBC)
(one alarm per sensor)

...

Thermal Sensor Locations (Spectrometer and Hallway) contains the list of sensor locations.

...

Relevant Datasheets & Manuals

Description

File

Source

1

LinkHubE User Guide

View file
nameLinkHub-E_Users_Guide.pdf

https://www.mfe24.com/download/LinkHub-E_Users_Guide.pdf

2

LINK Family Manual

View file
nameThe_LINK_Family_Manual_1.7.pdf

https://cdn.shopify.com/s/files/1/0164/3524/files/The_LINK_Family_Manual_1.7.pdf?7145028656254187831

3

Command Reference

View file
nameLinkFamily_CommandSheet.pdf

4

Sensor Datasheet

Sensor was originally developed by Dallas Semiconductor but they are now owned by Maxim Integrated

View file
nameDS18B20.pdf

https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

Relevant Software

Description

File

Source

LinkHub_E_python.py is the main program.

LinkHub_E_commands.py contains functions called by the main program.

This code finds all of the sensors connected to the LinkHub E, and then reads their values.

Note first reading might report all temperatures as ‘85’; this seems to be a consequence of the first read to find sensor IDs.

The sensor IDs and values are read into a list format.

Note this software does not differentiate between the 4 possible cables connected to the base unit; all sensors from all cables are added together into the same list.

View file
nameLinkHub_E_python.py

View file
nameLinkHub_E_commands.py

Python code originally written by Y. Ishikawa (SSL).

Simplified by S. Gibson to remove sections not relevant to KPF.

...

Installation Instructions

Description

File

Instructions on how to change the device’s IP address over Telnet

View file
nameLinkHub-E Change IP Address details.pptx

Dispatcher Implementation

This dispatcher is part of kpfmet (currently.)

There are an arbitrary number of sensors for the unit. The names, denoted as $(NAME), are stored in the configuration file, as are the ID or address values. Readout is done in serial for the device, and done in the order of appearance in the configuration file. The “#” denotes the dispatcher number. Currently that is 4 for the kpfmet service but if dispatcher is moved or the service rearranged, this could change.

...

Keyword

...

Value

...

Type

...

$(NAME)

...

Temperature in deg C

...

Double - read only

...

$(NAME)_ID

...

ID value

...

String - read only

...

LINKSTA

...

0 - Done

1 - Reading

When Reading, the temperature values are being retrieved and the values will appear in the keywords.

Reading values is slow, so this update only reads 10 values at a time, looping through so that each value is eventually read.

...

Enumerated - read only

...

MODEL#

...

Model of the hub, value of the command ' '.

...

String - read only

...

DISP#CLK

...

Number of whole seconds dispatcher has been alive

...

Integer - read only

...

DISP#ERR

...

Error value

...

Integer - read only

...

DISP#MSG

...

Message from the dispatcher

...

String - read only

...

DISP#REQ

...

Last keyword requested to be modified, written before modify is sent.

...

String - read only

...

DISP#MEM

...

Memory used by dispatcher in kB

...

Integer - read only

...

DISP#STA

...

Status of the dispatcher

0 - Ready - working

1 - Initializing - only true during start up

2 - Shutting down - A control-C or the stop command has been issued

3 - Connecting - Attempting to connect to the device

4 - Not Connected - No connection to the device

...

Enumerated - read only

...

DISP#STOP

...

Stop command which ends the dispatcher.

0 - Continue

1 - Stop

...

Enumerated

...

DISP#CONN

...

IP address and port number separated by a colon.

...

String - read only

...

DISP#DEV

...

Device name

...

String - read only

Configuration File

The required sections are:

  1. device which has the first four configuration keyword value pairs

  2. dispatcher which has the dispnum value

  3. [0], [1], [2], … [number-1] - A section for each sensor, starting from 0, and the total number must match the value of the number configuration. Extra sections are ok, but if any are missing the dispatcher will throw an error message and exit.

...

Configuration

...

Value

...

Explanation

...

ip_address

...

192.168.23.184

...

IP address of device

...

port

...

10001

...

Port for telnet connection to device

...

number

...

31

...

The number of active sensors

...

poll_time

...

20

...

The time between requests for temperature measurements

...

dispnum

...

4

...

Number of the dispatcher in the service

...

name

...

temp0

...

The human readable name requested for a temperature value, will set the keyword name

...

id

...

2890F1DD06000089

The ID value for the temperature measuring device on the hub. This is what will be referenced.

...

Software Details

Note that we have separate cables, however the software interface does not differentiate by cable when it combines sensor IDs into a list.