Page 1
User Manual CTC100 Cryogenic Temperature Controller Distribution in the UK & Ireland Lambda Photometrics Limited Lambda House Batford Mill Harpenden Herts AL5 5BZ United Kingdom Characterisation, info@lambdaphoto.co.uk Measurement & W: www.lambdaphoto.co.uk +44 (0)1582 764334 Analysis +44 (0)1582 712084 Version 1.9 (January 27, 2017)
Format of CTC100 log files ....................28 The system fan ......................30 Rack mounting the CTC100 .................. 30 Using PID feedback ....................31 How stable is the CTC100’s feedback control? ..............31 Basic concepts ........................31 Manual tuning .......................... 32 Automatic tuning algorithms ....................35 Using the automatic tuner......................
Page 4
Firmware updates ....................73 Replacing the memory backup battery ............... 74 Removing an I/O or CPU card ................75 Remote programming Connecting to the CTC100 ....................77 Communication, assembly, and run-time errors ..............80 Concurrent macros ........................ 80 Macro names .......................... 81 Command syntax ........................
Page 5
GPIB option (assembly 289) ....................147 2-channel thermistor/RTD/diode reader (assembly 310) ..........148 100W DC output card (assembly 206) ................152 Analog I/O card (assembly 297) ..................155 Digital I/O card (assembly 298) ..................157 Schematics CTC100 Programmable Temperature Controller...
Safety and Preparation for Use Safety and preparation for use Line voltage The CTC100 operates from an 88 to 264 VAC power source having a line frequency between 47 and 63 Hz. Power entry module A power entry module, labeled AC POWER on the back panel of the CTC100, provides connection to the power source and to a protective ground.
±1 Ω 100 kΩ range ±150 Ω ±4 Ω 300 kΩ range ±1 kΩ ±13 Ω 2.5 MΩ range ±3 kΩ ±3 kΩ Typical drift due to temperature (at midrange) 10 Ω range ±0.0002 Ω/°C ±0.0001 Ω/°C CTC100 Programmable Temperature Controller...
Page 10
Analog I/O Inputs/outputs 4 voltage I/O channels, independantly configurable as inputs or outputs Connector 4 BNC jacks Range ±10 V Resolution 24-bit input, 16-bit output ADC noise 30 μV RMS = 100 μV p-p (at 10 samples/s) CTC100 Programmable Temperature Controller...
Page 11
Digital I/O Inputs/outputs 8 optoisolated TTL lines, configurable as either 8 inputs or 8 outputs Connector One 25-pin D-sub socket Relays Outputs 4 independent SPDT relays Connector One 12-pin 3.5mm header Maximum current Maximum voltage 250 VAC CTC100 Programmable Temperature Controller...
2 powered and 4 unpowered heater outputs The CTC100 has two heater outputs, each capable of delivering up to 100W of power to a 25 ohm heater. In addition, four unpowered voltage I/O channels can be used to drive heaters with the help of an external amplifier.
Page 14
USB, Ethernet, and either RS-232 or an optional GPIB interface. When the USB interface is used, the CTC100 appears on the computer as a standard COM port and can be controlled by any software that is compatible with an RS-232 port.
I/O channels, four 5A relays, and eight digital I/O lines. Temperature sensor inputs The CTC100 has four multi-range inputs, each of which can read resistive sensors having resistances between 1 Ω and 2.5 MΩ, and diode sensors having voltage drops of up to 2.5V.
Page 16
The CTC100 has two 9-pin D-sub (DB9) sockets that mate with any standard DB9 plug, such as Amphenol L717SDE09P with backshell 17E-1657-09. Two plugs and backshells are provided with each CTC100. Here is the pinout of the two sockets, as they appear when looking at the CTC100’s back panel: –I2...
Page 17
Dewar. AD590 sensors: The CTC100 can read AD590 sensors if the sensor is connected in series with a 2 kΩ resistor as shown below. Note that the diagram shows the sensor connected to channel A, but it can also be connected to channel B.
Page 18
Noise, accuracy, and amount of self-heating at 25°C for several sensors. “Accuracy” is the electronic accuracy of the CTC100 immediately after calibration and does not account for self-heating or the accuracy of the sensor. “Self-heating” is the rise above ambient temperature of a ~1 mm diameter sensor hanging by its leads in still air (dissipation constant 1 mW/°C).
Page 19
RMS noise levels for 100 and 1000 platinum RTD sensors as a function of temperature. At low power, the 100 and 1000 sensors mostly have the same noise level. RMS noise levels for 100 , 10k , and 1M (at 25 C ) thermistors as a function of temperature ¢ CTC100 Programmable Temperature Controller...
Current setting on page 60. 100W heater outputs The CTC100 has two outputs for resistive heaters. The output connectors are #6-32 wire clamp screws and will accept bare wire between 12 and 22 AWG. For the most reliable connection it is recommended to crimp a #6 insulated spade terminal (such as TE Connectivity 34080 for 16–22...
0.25A. This error can occur if the CTC100 is out of calibration. It can also mean that the CTC100 has been damaged and is no longer capable of correctly regulating its output current or of producing its rated output current.
Relays, digital I/O, and virtual channels The CTC100 has four relays, each rated for up to 5A of current. The connector for the relays is a single 12-pin pluggable terminal block. The four relays are labeled “A” through “D”, and each relay has three connections labeled “NC”...
Page 23
25 Gnd 13 Unconnected All 25 pins on this connector are electrically isolated from the rest of the CTC100 and are floating with respect to earth ground. Therefore, to use the digital I/O lines, at least one of the “Gnd” pins must be connected to ground. Alternatively, if the digital I/O lines are configured as inputs, the value of D0 to D7 can be set by shorting them either to a +5V pin or to a Gnd pin.
Page 24
Channel.PID.Casc button in the Operation section. Unlike other outputs, virtual outputs are not forced to zero when the CTC100’s outputs are disabled with the Output Enable button. However, virtual PID feedback loops do stop running when the CTC100’s outputs are disabled.
Before turning the power on, connect any sensors and heaters to the CTC100 as described in the previous section. Then, plug the CTC100 in and turn it on with the power switch on the back of the instrument. A logo should appear on-screen immediately and remain for about 30 seconds while the system boots.
6. If you’re using a resistive sensor and the reading in ohms is incorrect, remove the sensor and instead connect a resistor of about the same value to the CTC100. If the reading is still incorrect, the unit may need to be returned to SRS for recalibration.
Set the data logging rate By default, the CTC100 records one data point per second to each channel’s log. To change this rate for all channels, press the Setup key on the front panel and then touch the blue “System” tab.
Save data to and retrieve data from a USB memory device If no USB memory stick or hard drive is present, the CTC100 only stores the most recent 4096 data points for each channel; older points are erased. Therefore, if the logging rate is 1 point per second, only the most recent hour of data can be displayed.
Page 30
Read data from the CTC100 All RS-232, GPIB, USB, and Ethernet messages sent to the CTC100 must end with a linefeed (decimal 10 = hex 0x0a = ‘\n’). The CTC100 will not process the message until the linefeed is received. Instructions are not case-sensitive.
JHW/RJ ,Q QH[W Each time this command is sent, the CTC100 sends the next data point in the log, if necessary waiting for a new point to be added. Control a temperature The CTC100 can control the temperature of one or more external devices with a resistive heater and a temperature sensor.
Page 32
On the Setup screen for channel In 1, under the Alarm heading, set the options as follows: CTC100 Programmable Temperature Controller...
Page 33
Out 1. In the first “PID” column, touch the “Input” button. Then, on the list of channels that appears, touch the temperature input channel “In 1”. This tells the CTC100 that we want heater Out 1 to control the temperature of sensor In 1.
Page 34
The feedback tuner changes the heater output and measures how much the temperature changes in response. Before this can be done, the CTC100 needs to be told how much the heater output should be changed and indicate how long it should wait for the temperature to change.
Page 35
It’s OK to dismiss the status window or otherwise use the CTC100 during tuning; tuning will continue unless you turn tuning off or disable the outputs with the Output Enable key. In fact, it’s a good idea to display a graph of heater output and temperature while autotuning (select the two channels, press the “Show Data”...
“cal” within the top-level directory of a USB storage device, and copy the.txt file into the directory. Plug the storage device into the CTC100, and the CTC100 automatically loads the files. It is recommended that the storage device be left plugged into the CTC100 whenever the custom calibration curve is in use.
Page 37
“Units” control in the Channel menu. If in doubt, have the CTC100 display its readings in native units by touching the System.Display.Units button and then selecting “Sensor”. The calibration table must be expressed in the units in which the reading now appears.
Virtual channels The CTC100 has three virtual channels that by default are named V1, V2, and V3. These channels are not connected to a physical input or output channel. Instead, they can mirror another channel or be assigned a value by a macro.
AC line period. For example, if the rate is set to 100 ms, conversions occur every six cycles of the AC voltage if the CTC100 is plugged into a 60 Hz AC wall socket, or every five cycles for 50 Hz AC.
For users who want to create their own programs to read CTC100 log files, this section describes the native binary format. Each CTC100 log file contains data from one channel and consists of a header followed by one or more records. Each record contains a record header followed by zero or more floating-point data values.
Page 41
Bytes 28–31: data point 1. 4-byte IEEE floating-point value. etc. The size of a log file cannot exceed 2 GB, or about 500 million data points. At the default 1 second log rate, this limit is reached in about 15 years. CTC100 Programmable Temperature Controller...
The fan speed can be overridden with the System.Other.Fan remote command. This should only be done if it is certain that the heater output cards will not overheat, otherwise the CTC100 may be damaged. Besides the main system fan, the CTC100 also has an internal fan that periodically turns on to keep the main power supply cool.
How stable is the CTC100’s feedback control? The stability of the CTC100’s feedback is usually limited not by the CTC100 itself but by all the things outside the CTc100: the sample that’s being heated, the heater, and the environment. The key factor is how rapidly the sample can be heated or cooled relative to how rapidly the temperature changes due to environmental factors such as ambient temperature variations.
70°C with a slight overshoot that serves to minimize the settling time. If P is increased to 2 W/°C, the temperature responds more quickly but then overshoots the setpoint by an excessive amount, causing the system to oscillate. CTC100 Programmable Temperature Controller...
Page 45
70° setpoint within the time period shown. Without enough integral gain, temperature errors persist for a long period of time. As an approximate guide, the integral gain should be about one-tenth the proportional gain. CTC100 Programmable Temperature Controller...
Page 46
With the right amount of derivative feedback, we can increase P and I to levels that would otherwise cause oscillations, and thereby obtain faster, more responsive feedback control. CTC100 Programmable Temperature Controller...
During automatic tuning, the CTC100 changes the heater power, measures how much and how quickly the temperature changes in response, and then estimates the optimum values of the gain factors P, I, and D. Two tuning algorithms are available on the CTC100: the relay tuner and the step response tuner.
Page 48
If the tuning mode is set to “Auto”, the CTC100 selects the relay tuner if both its high and low outputs are within the heater’s limits; otherwise, it selects the step response tuner. In particular, if...
Page 49
The next figure shows how well the system recovers when we start blowing air over the heater with a fan. The setpoint is a constant 60°C. In this case, aggressive tuning produces the best response. CTC100 Programmable Temperature Controller...
Set the step size and lag time. “Step Y” controls how much the CTC100 increases the heater output, and “Lag” controls how long the CTC100 waits for a response. If either value is too small, the CTC100 may, after attempting to tune, display a message saying that there was an insufficient response.
Page 51
8QDEOH WR WXQH IHHGEDFN EHFDXVH WKH RXWSXWV DUH GLVDEOHG 3UHVV WKH 2XWSXW (QDEOH EXWWRQ WR HQDEOH RXWSXWV The outputs must be enabled before autotuning, or else the CTC100 will not be able to provide any power to the heaters. 8QDEOH WR WXQH IHHGEDFN EHFDXVH WKH KHDWHU LV GLVFRQQHFWHG This message appears when the heater is connected to channels Out 1 or Out 2 and the measured heater resistance is less than 1 Ω...
200 degrees but the sensor can only measure temperatures as high as 100 degrees, the CTC100 will continue heating the sample indefinitely. Each input channel has an alarm that can be used to prevent such runaway heating. When properly configured, alarms set the heater output to zero whenever the sensor is disconnected, out of range, or the temperature exceeds limits that you specify.
When the CTC100 is logging to a USB memory device, a small white triangle appears in the upper-right corner of all screens; when the CTC100 is not logging to USB, the triangle is a dark blue color (greyed out). The triangle confirms that the system is logging to USB and can also be used to start and stop USB logging.
O O peration Press and hold the Output Enable key for 3 seconds to put the CTC100 into standby mode. In standby mode, the outputs are turned off, data acquisition and macros are paused, the front panel display and system fan are shut off, and the system does not respond to remote commands. RTD excitation currents are still on, and an internal cooling fan may switch on occasionally.
Page 55
Touch the Custom tab to view a plot in which each channel can be assigned to one of up to eight graphs. To set the plot a particular channel appears in, display the Setup menu for that channel and touch the “Plot” button. CTC100 Programmable Temperature Controller...
Page 56
Plot screen. If you don’t touch the CTC100’s front panel, the offset is never recalculated. Viewing the Ponytail plot does not cause offsets to be subtracted from logged data or feedback setpoints.
Page 57
To show current data and resume scrolling, touch the words “X lock”. Graphs that appear together on a screen always have the same X axis range. However, each selection group has its own, independent X axis range. CTC100 Programmable Temperature Controller...
Page 58
How to pan the graph horizontally By default, the CTC100 continually adjusts the Y-axis scale to accommodate all the data on the graph. Each graph has its own, independent Y axis scale. To change the Y axis scale for a particular graph, touch the area to the left of its Y axis.
Page 59
O O peration How to change the Y scale of the bottom graph How to pan the bottom graph vertically CTC100 Programmable Temperature Controller...
O O peration “Program” screen A program is a set of one or more CTC100 commands in ASCII text format. Programs can be sent over the RS-232, GPIB, USB, or Ethernet interface, input from the program screen, or transferred as text files on a USB memory device. Regardless of how a program was input, its progress can be monitored from the program screen.
Page 61
Programs can be entered from any of the CTC100’s communications ports: RS-232, USB, Ethernet (via Telnet), or the optional GPIB port. Each line of text sent to the CTC100 is run as a separate program (the entire program must be on a single line). If two or more lines are sent to the CTC100 in quick succession, the programs may run concurrently;...
Page 62
Select “program.” from the list. The sub-menu that appears contains a list of instructions that affect the program. For example, “cls” clears the Messages window; “name” assigns a name to the program; and “kill” ends a named program. CTC100 Programmable Temperature Controller...
Page 63
Select “print”. An alphanumeric input screen appears, on which you can enter an argument for the “program.print” instruction. Type “hello”. Touch the OK button. The Program screen re-appears and the instruction “program.print “hello”” appears in the second line of the Progress window. CTC100 Programmable Temperature Controller...
“Too many macros” assembly error is generated and the macro does not run. When the CTC100 is turned on, it looks for a macro named “startup” and, if it exists, runs the macro. Any other macros that might have been running when the CTC100 was switched off are not re-started.
Page 65
Sets the default time between log points. If the interval is set, for example, to 1 s, the CTC saves a data point once per second, and each point represents the average reading over one second period. CTC100 Programmable Temperature Controller...
Page 66
6\VWHP/RJFOHDU ^ \HV QR ` Press this button and select ‘yes’ to erase all data from the current log folder on the USB device. The CTC100’s RAM is also cleared. After clearing the log, the plot will be blank until new data is acquired.
Page 67
Medium: the CTC100 also sends error messages whenever a command could not be understood. Error messages always begin with the word “Error”. High: the CTC100 also sends messages whenever a parameter is set. Messages include the name of the parameter that was set or queried Example responses are shown in the table below.
Page 68
Select screen, they aren’t logged, and they can’t be queried by remote commands. In JHW2XWSXW particular, the monitor channels are removed from the response to , while the other commands won’t return the most recent value of the monitor channels. CTC100 Programmable Temperature Controller...
Page 69
Data screen, and in values sent in response to remote queries. Fewer digits are shown if the value is greater than 1000 or less than -1000, or if the requested number of digits doesn’t fit into the available space. This setting does not affect logged data or plots. CTC100 Programmable Temperature Controller...
Page 70
Log: Resets the default log rate to 1 second, sets the log rate for each channel to the default, and enables automatic logging to USB. If a USB storage device is attached, erases log files in the root directory and begins logging to USB. All: resets all of the above items. CTC100 Programmable Temperature Controller...
Page 71
This setting controls how the sensor input hardware reads the input signal. It determines the excitation current, whether the CTC100 reads the sensor voltage or resistance, and the list of calibration options available in the Cal column. The Diode option sets the sensor excitation current to 10 μA and causes the hardware to read the voltage across the sensor.
Page 72
O O peration manually set if it is critical to limit sensor self-heating; otherwise the CTC100 may change the range and excitation current at unexpected times. The Auto range function increases the range by one step whenever the sensor resistance rises above 95% of the current range, and decreases the range by two steps whenever the sensor resistance falls below 10% of the current range.
Page 73
O O peration If the card’s temperature exceeds the maximum and System.Other.Fan is set to “Auto”, the CTC100 increases the fan speed to reduce the card’s temperature. The PCB temperature is always in °C, regardless of the System.Display.Units setting. The default setting is 35°C.
Page 74
The alarm should be configured to disable the heater output when triggered. For additional protection, the heater output can be routed through one of the CTC100’s relays and the relay associated with the alarm. Without such a safety mechanism, it’s possible for the CTC100 to enter a “runaway feedback”...
Page 75
&KDQQHO$ODUP2XWSXW 2XWSXW QDPH The alarm, when triggered, can shut off one of the CTC100’s output channels, setting the output to zero and temporarily disabling that channel’s feedback loop. Once the alarm status returns to “Off”, the output returns to its previous value and the feedback is re-enabled. This feature can be used to guard against runaway feedback loops or to otherwise protect equipment from damage due to excessive temperatures.
Page 76
CTC100’s built-in calibrations even though they have the correct resistance at 25°C. The CTC100 uses ASCII character 234 for the Ohms symbol. To type this character on a Windows computer, hold down the alt key and type 0234 on the number pad. On Windows computers the character appears as a letter “e”...
Page 77
These figures are approximations only and may not produce the same results as the standard calibration curve. A standard diode or bipolar junction transistor can be connected to the CTC100 and used as a low-cost temperature sensor. In this case a custom calibration must be used. If the voltage across...
Page 78
Pressing this button immediately sets the PID feedback mode to Off, cancels PID tuning, and sets the channel’s output to zero or the “Low lmt” value, whichever is higher. Unlike the Output Enable key, which turns all of the CTC100’s outputs off, the Off button only affects one channel. CTC100 Programmable Temperature Controller...
Page 79
Each output channel has a DAC that produces the output and an ADC that measures it. The “IO type” setting determines whether the value displayed on the CTC100’s screen is the one measured by the ADC (“Meas out”) or the one that was sent to the DAC (“Set out”). The measured output can differ from the set output if, for example, the heater has become disconnected, or the output’s...
Page 80
If Ramp is set to zero, ramping is disabled and the CTC100 heats or cools your system at the maximum possible rate.
Page 81
Touch one of the parameter cells to modify its value. If a particular set of parameters is no longer needed, touch its zone number in the ‘Delete’ column to clear the entries for that location. The PID zone editor CTC100 Programmable Temperature Controller...
Page 82
Next, set the zone to ‘Auto’. The CTC100 automatically selects the zone with the largest Min value that is less than the ramp temperature (‘Ramp T’). Memory locations without min values are never recalled in ‘auto’...
Page 83
The Polarity setting ensures that the relays are in an acceptable state when the CTC100 is switched off. When the Polarity is 0, the relays revert to the “alarm off” state when the CTC100 is switched off. When the Polarity is 1, they revert to the “alarm on” state.
Page 84
PID loop. To use cascade feedback, select one of the CTC100’s virtual channels (V1, V2, or V3) to host the primary loop. Make sure the direction of the channel is “Set out” or “Meas out”, and then touch the button labeled “Casc”.
4. The CTC100 erases the existing firmware and then loads the new firmware. The entire process should take about 20–30 seconds. 5. At this point, the old firmware is still running. Turn the CTC100 off and back on again to start using the new firmware.
2. Remove the four black screws that secure the top cover. Lift the cover off of the instrument. 3. Looking at the front of the CTC100, the battery should be clearly visible. It is a 20 mm diameter coin cell located on the left side of the instrument 8 inches behind the front panel.
6. Remove the 4 screws or nuts above and below the RTD/thermistor/diode inputs. It's especially important to re-install these screws when re-assembling the instrument. Without these screws, the input connectors will not be grounded and the CTC100’s temperature readings will be inaccurate due to electromagnetic interference.
The CTC100’s replies always end with a carriage return followed by a linefeed. Each line of text sent to the CTC100 is treated as a macro, meaning that it can contain one or more instructions as well as conditional statements and repeated blocks. The macro starts running immediately and, if it takes long enough to complete, its progress can be monitored on the Program screen.
Page 90
If the PC does not recognize the presence of the CTC100 when the USB connection is made, unplug the USB cable and plug it back in. In addition, if the CTC100 is turned off and back on again while the PC application is running, the application may no longer be able to communicate with the CTC100 until it is closed and re-opened.
Page 91
CTC100’s performance. GPIB CTC100 units can be ordered with or without a GPIB port. If GPIB is requested, it replaces the RS-232 port. Although any standard GPIB cable can be used, due to space restrictions a single- ended cable (such as a National Instruments X5 cable) is recommended.
If the remote interface does not respond at all, try the following: • If using RS-232, make sure the baud rate is set correctly. • Make sure that each line of text sent to the CTC100 ends with a linefeed character (decimal 10 = hex 0x0a = ‘\n’).
“Too many macros” assembly error is generated and the macro does not run. If the CTC is turned off and turned back on again, macros that were running when the CTC100 was turned off are not restarted.
Page 94
Whitespace can be included before or after parentheses or quotes but is not necessary. >LQVWUXFWLRQV@ A group of instructions can be repeated by enclosing it in square brackets and placing the number of repetitions after the right bracket. >SULQW +HOOR SDXVH V SULQW ZRUOG SDXVH V@ CTC100 Programmable Temperature Controller...
Page 95
If the suffix is appended to the name of any menu (System, Channel, System.COM, Channel.PID, etc.), the CTC100 lists the available instructions OLVW for the menu or submenu. If appended to an instruction, the...
Page 96
Conversely, a channel name (or any other conditional term) can be preceded with a hash (#) to force the CTC100 to treat it as a query. Since conditional terms are treated as queries by default, the pound sign is only required if you’ve changed a channel name to a numeric value that don’t contain any letters.
Page 97
3. The CTC100’s macro system does not support equations. For example, a statement of the form “#x = #y + #z” is not allowed. More generally, each CTC100 argument can only contain a single term.
Page 98
The instruction cannot contain quotes, parentheses, or spaces. For example: 2XW3,'VHWSRLQW 2XW3,'VHWSRLQW sets Out 1’s feedback setpoint equal to Out 2’s setpoint. The CTC100 automatically appends a question mark to the argument (resulting in the query “Out2.PID.setpoint?”), and evaluates the resulting instruction at run time. OLVW"...
&RXULHU In the following listing, words in font represent text that may be sent to or received from the CTC100 over RS-232, USB, GPIB, or Telnet, or via a text file on a USB memory device. LWDOLFL]HG &RXULHU Words in are placeholders that should be replaced with other names or &KDQQHO...
Page 100
1 and 6, inclusive ( 1 for “Select Channels”, 2 for “Show Data”, etc). “Menu += 1” advances the CTC100 to the next menu; issuing the “Menu += 1” instruction while the Setup menu is showing brings up the Select Channels menu, not Help.
The following instructions are intended for use with the GPIB interface, but can be issued through any of the CTC100’s I/O ports. These instructions ignore the Verbose setting: a query instruction always returns the value only, while a set instruction always returns nothing. They also...
Page 102
23& is not generally required because most CTC100 instructions are fully processed before the next instruction in the macro is begun. The exceptions are PID autotuning (i.e., FKDQQHOWXQHPRGH...
Page 103
• The instrument automatically triggers at the rate set with the “A/D rate” control. • All log data is stored in the CTC100’s RAM is erased. Logs on USB devices are not affected. Unless data is being logged to a USB storage device, all graphs on the Plot screen...
Page 104
101% is usually not a problem and indicates that the line frequency is not exactly 50 or 60 Hz, or that the CTC100’s clock is running slightly slow or fast. A value significantly different from 100% may indicate a problem with the circuit that synchronizes the ADC conversions to the AC line frequency.
“.txt”. Copy the text file to a folder named “macros” in the root directory of a USB memory device, and then plug the USB device into the CTC100. The macro should now be available for use as long as the USB device is plugged in.
Page 106
3RSXS WH[W SRSXSFORVH Produces a popup window on the CTC100’s screen with the supplied message. The message can be any alphanumeric string up to 128 characters long. If a help window or another popup message is already showing, it is closed and replaced with the new popup. The user has to press a menu button or the popup window’s “ok”...
Page 107
VWDQGE\ Puts the CTC100 into standby mode, in which the outputs are turned off, data acquisition is paused, macros are paused, the front panel display and system fan are shut off, and the system does not respond to remote commands. The chassis cooling fan may switch on occasionally. Press the "Output Enable"...
1000 or less than -1000. V\VWHPGLVSOD\0RQLWRUV ^ 6KRZ +LGH 2II ` If set to Show, the CTC100’s internal monitor channels are displayed, logged, and reported by the getOutput command. These channels display printed circuit board (PCB) temperatures for the I/O cards as well as heater current, voltage, and resistance.
Page 109
Errors: a run-time error occurs if the argument is less than 10000 (10 seconds) or greater than 2592000000 (30 days). V\VWHP,3$GGUHVV Sets the CTC100's IP address. The IP address should be in dotted-decimal notation, i.e. "172.16.0.0". Errors: If part of the specified IP address is not in the correct format (i.e. contains a non- numeric character or a value that is not between 0 and 255), that portion of the IP address is set to V\VWHP,3'+&3...
Page 110
Determines which folder on the USB memory device receives the CTC100’s logged data. If the folder does not exist, it is created. If the folder does exist and it already contains CTC100 logfiles, new data points are appended to the existing files.
USB. : resets all of the above items. V\VWHPRWKHU9ROXPH ^ RII PD[ ` Controls the volume of all tones and alarm sounds played through the CTC100’s speaker. Channel setup &KDQQHO To change the value of an output channel, send the channel’s name followed by a floating-point...
Page 112
If “ ” is selected, the CTC100 just displays whatever output was most recently requested by the PID feedback loop, remote interface, or front panel. If “Meas out” is selected, the displayed value is an ADC reading of the output.
Page 113
If the lower limit is greater than zero, it does not apply when the CTC100’s outputs are disabled 2XWSXW(QDEOH RII with the “Output Enable”...
Page 114
The CTC100 uses ASCII character 234 for the Ohms symbol. To type this character on a Windows computer, hold down the alt key and type 0234 on the number pad. On Windows computers the character appears as a letter “e”...
Page 115
Low or Medium, or ,QYDOXH 6\VWHP&RP9HUERVH is set to High. If sensor In1 is not connected or is out of the range of its calibration data, the reported value is “NaN” (not a number). CTC100 Programmable Temperature Controller...
Page 116
Remote Programming For input channels and measured output channels, the current value reported by the CTC100 is the most recent ADC reading with the sensor calibration and lowpass, difference, etc. filters applied. This value may be different than the most recently-logged point, which is the value that appears on the plot and in general corresponds to an average of several ADC readings.
Page 117
,QDODUPRXWSXW &KDQQHODODUPUHOD\ ^ 1RQH $ % & ' ` DODUPUHOD\ An alarm can trigger one of the CTC100’s four relays. The instruction determines which, if any, of the four relays is triggered. &KDQQHODODUPVRXQG ^ 1RQH EHHS EHHSV EHHSV EHHSV ` Controls which sound plays when the alarm goes off.
Page 118
After the step response finishes, the feedback mode changes to manual and the heater ramps up to the setpoint. Once the temperature is stabilized at the setpoint, relay CTC100 Programmable Temperature Controller...
Page 119
Ramp temperature. The ramp temperature is an internally-generated setpoint for the PID feedback loop; it is the temperature that the CTC100 is trying to maintain at the present moment. If the feedback is not running, the ramp temperature always equals the sensor temperature, since the CTC100 has no control over the sensor temperature when the feedback is not running.
Page 120
Errors: Attempting to change the zone when no PID input channel is selected produces a run- time “locked parameter” error. Channel.Tune submenu See the “Automatic PID Tuning” section of this manual for more information on using these instructions. CTC100 Programmable Temperature Controller...
Error codes 6\VWHP&209HUERVH The CTC100 reports an error code if there’s an error in a macro and +LJK set to . The error code appears in the error message sent to the communications port that...
USB stick. The macro doesn’t run when the define statement is issued, but subsequently, it will run each time the CTC100 boots up. Note that the macro must be less than 256 characters long and must not call any macros stored on USB devices.
Touch the highlighted button to stop the macro. If the sample macros are sent to the CTC100 via the RS-232, GPIB, USB device, or Ethernet port, each macro must be formatted as a single line with the comments removed, otherwise each line will be treated as a separate macro, and the lines will all run at the same time instead of sequentially.
1 is selected, all channels whose alarm mode is “on” are selected; all other channels are deselected. The macro is best used with the Numeric screen visible, but also works with the Select or Plot screens. > LI JURXS ^ VHOHFW$ODUPHG ` SDXVH V CTC100 Programmable Temperature Controller...
With a macro, the virtual channel can also be made to echo any CTC100 parameter — not just channel values. The following macro uses a virtual channel to echo a feedback setpoint. This macro makes it possible, for example, to graph the setpoint on the “Plot”...
CTC100. For example, to supply half of the maximum power to the heater, the CTC100 would need to turn the relay on for 5 seconds, off for 5 seconds, on for 5 seconds, etc. The following procedure transforms the output of a PID feedback loop into a variable duty cycle square wave that can be output on the CTC100’s digital IO lines and used to drive a solid state...
Page 127
G ` LI 9! W ^ G ` The macro can automatically run every time the CTC100 is turned on; just send the command “define Startup (...)”, replacing the ... with the macro contents. CTC100 Programmable Temperature Controller...
Page 129
Remote Programming CTC100 Programmable Temperature Controller...
ASCII . The package can be downloaded free of charge from the SRS website at www.thinksrs.com; click on Downloads > Software. Once unzipped, the applications can be run by double-clicking the .exe icons or dragging CTC100 log files to the .exe icons. It is not necessary to run an installation program.
When converting data to a text or HTML file, this setting determines how the time of each data point is recorded: • “Date and Time” records the time to the nearest second in the format “March 26, 2000 6:43:11 PM”. CTC100 Programmable Temperature Controller...
Page 133
Press the Start button to begin the conversion. Close Press the Close button to save all settings and close PTCFileConverter. Clicking the “X” button in the upper-right corner of the window closes the program without saving any settings. CTC100 Programmable Temperature Controller...
“Open” from the “File” menu. Once the file has been plotted, a file selection window appears that shows all of the CTC100 files in the same directory as the plotted file. Click on a file in the file selection window to plot it. Shift-click or Control-click to plot two or more files at the same time.
Page 135
• Grid linewidth: the width of the plot gridlines, in pixels. • Plot linewidth: the width of the plot traces, in pixels. Values other than 1 may significantly increase the amount of tie that it takes to draw the graph. CTC100 Programmable Temperature Controller...
(buffer 1) and the buffer to add (buffer 2). When you click “Apply” or “OK”, each point in buffer 1 is added to the first point in buffer 2 that has a time equal to or greater than the time of the point in buffer 1. CTC100 Programmable Temperature Controller...
Page 137
Creates a new buffer that contains a copy of data from an existing buffer. Only points that falls within the graph’s X range are copied. Derivative Replaces each data point with the difference between it and the succeeding point. CTC100 Programmable Temperature Controller...
A downsampling constant of 3, for example, reduces the number of points in the buffer to one-third of its previous value. Lowpass Removes noise by emulating an analog RC lowpass filter. Similar to the CTC100’s lowpass filter, except it’s first-order rather than sixth-order. Median filter Removes single-point noise spikes with a sliding-window median filter.
"buffer", "fileName" load a file into a new buffer; specify a name for the buffer and the name of the file to load lowpass "buffer", 1.0 lowpass-filter a buffer; specify the time constant in seconds CTC100 Programmable Temperature Controller...
Page 140
"buffer" subtract initial: buffer = buffer - buffer[0] undo "buffer" undoes the last operation that modified the indicated buffer wave "buffer1", "buffer2", 1.0 weighted average: buffer1 = (buffer1 + buffer2*weighting factor) / (1 + weighting factor) CTC100 Programmable Temperature Controller...
Page 141
P P C Applications xLabel "state" Sets the X-axis label to "dateTime" (date and time), "elapsedTime" (elapsed time), or "off" (none), yLabel "text" Label the Y axis of the graph with the indicated text CTC100 Programmable Temperature Controller...
10 ADC conversions are occurring each second, the LED blinks 5 times per second. If the status LED does not blink while the CTC100 is running, or does not blink at the same rate as the status LEDs on the other I/O cards, the card has a hardware or software problem.
CONV* signal; see the description of pin C18 below) with the 50 or 60 Hz line frequency. If this circuit fails, the CTC100 may become unresponsive. Jumper J160 can be used to synchronize the CONV* signal to a 1 MHz clock instead of the line frequency; in this case, the A/D sampling period can be set to any integer multiple of 1 μs rather than being limited to an integer multiple of...
Page 145
The SPI bus is used to reprogram the Atmel microcontrollers on the I/O cards. The card’s Card Select (CS*) line must be pulled low for its SPI bus to become active. C20: SCK (SPI Clock). C21: MOSI (Master out, slave in). C22: MISO (Master in, slave out). CTC100 Programmable Temperature Controller...
C C ircuit Description UART Connected to the CTC100’s back-panel RS-232 port. The I/O cards do not use and are not connected to the backplane UART. A19: CTS (Clear to Send). A20: RTS (Request to Send). A21: RXD (Receive Data).
Vref is the difference between the voltages at pins ref+ and ref–. Temperature sensor: U140 reports the temperature of the board’s analog section and is used to regulate the CTC100’s fan speed. The sensor is read by a built-in ADC on the microprocessor. Heater driver cards Each heater driver card outputs 2 A of current with a compliance voltage of up to 55V.
U206 multiplexes the four channels into a 24-bit ADC. Since the ADC has a 0–5V range while the inputs are specified for a ±10V range, the input voltage is divided by 4 and offset by 2.5V. CTC100 Programmable Temperature Controller...
The DIO card also includes four non-latching relays, K401–K404. Each relay is double throw Pins 2, 3, and 4 serve as a monitoring relay. If the monitoring relay fails to switch as expected, XOR gates U410 notify the microcontroller by pulling one of OUT1MON, OUT2MON, etc. high. CTC100 Programmable Temperature Controller...
PTC520 Digital IO card Distribution in the UK & Ireland Lambda Photometrics Limited Lambda House Batford Mill Harpenden Herts AL5 5BZ United Kingdom Characterisation, info@lambdaphoto.co.uk Measurement & W: www.lambdaphoto.co.uk +44 (0)1582 764334 Analysis +44 (0)1582 712084 CTC100 Programmable Temperature Controller...
Need help?
Do you have a question about the CTC100 and is the answer not in the manual?
Questions and answers