SRS Labs CTC100 User Manual

Cryogenic temperature controller
Hide thumbs Also See for CTC100:
Table of Contents

Advertisement

Quick Links

User Manual
CTC100
Cryogenic Temperature Controller
Distribution in the UK & Ireland
Characterisation,
Measurement &
Analysis
Lambda Photometrics Limited
Lambda House Batford Mill
Harpenden Herts AL5 5BZ
United Kingdom
E:
info@lambdaphoto.co.uk
W: www.lambdaphoto.co.uk
T:
+44 (0)1582 764334
F:
+44 (0)1582 712084
Version 1.9 (January 27, 2017)

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the CTC100 and is the answer not in the manual?

Questions and answers

Summary of Contents for SRS Labs CTC100

  • 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)
  • Page 2 Information in this document is subject to change without notice. Copyright © Stanford Research Systems, Inc., 2017. All rights reserved. Stanford Research Systems, Inc. 1290-C Reamwood Avenue Sunnyvale, California 94089 Phone: (408) 744-9040 Fax: (408) 744-9049 www.thinkSRS.com Printed in the USA CTC100 Programmable Temperature Controller...
  • Page 3: Table Of Contents

    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...
  • Page 7: Safety And Preparation For Use

    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.
  • Page 9: Specifications

    ±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...
  • Page 13: Introduction

    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.
  • Page 15: Connecting The Inputs And Outputs

    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...
  • Page 20: 100W Heater Outputs

    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...
  • Page 21: ±10V Analog I/O Channels

    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.
  • Page 22: Relays, Digital I/O, And Virtual Channels

    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.
  • Page 25: Operation

    O O peration Operation CTC100 Programmable Temperature Controller...
  • Page 26: Quick Start Tutorial

    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.
  • Page 27: If The Sensor Reading Does Not Appear

    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.
  • Page 28: Test The Outputs

    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.
  • Page 29: Save Data To And Retrieve Data From A Usb Memory Device

    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.
  • Page 31: Control A Temperature

    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”...
  • Page 36: Acquiring And Logging 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.
  • Page 38: Virtual Channels

    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.
  • Page 39: Logging Data To Usb

    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.
  • Page 40: Format Of Ctc100 Log Files

    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...
  • Page 42: The System Fan

    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.
  • Page 43: Using Pid Feedback

    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.
  • Page 44: Manual Tuning

    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...
  • Page 47: Automatic Tuning Algorithms

    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...
  • Page 50: Using The Automatic Tuner

    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 Ω...
  • Page 52: Using Alarms With Pid Feedback Loops

    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.
  • Page 53: Front-Panel Controls

    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.
  • Page 54: Select Channels" Screen

    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...
  • Page 60: Program" Screen

    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...
  • Page 64: Setup" Screen

    “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”.
  • Page 85: Firmware Updates

    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.
  • Page 86: Replacing The Memory Backup Battery

    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.
  • Page 87: Removing An I/O Or Cpu Card

    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.
  • Page 89: Remote Programming

    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.
  • Page 92: Communication, Assembly, And Run-Time Errors

    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’).
  • Page 93: Macro Names

    “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"...
  • Page 99: Remote Instructions

    &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.
  • Page 101: Ieee 488.2 Instructions

    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.
  • Page 105: Program Menu

    “.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"...
  • Page 108: System Setup

    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.
  • Page 111: Channel Setup

    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...
  • Page 121: Error Codes

    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...
  • Page 122: Startup Macros

    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.
  • Page 123: Sample Macros

    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.
  • Page 124: Control A Feedback Setpoint With An Analog Input

    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...
  • Page 125: Show The Pid Setpoint In A Virtual Channel

    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”...
  • Page 126: Drive A Solid State Relay With The Digital Io Lines

    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...
  • Page 131: Pc Applications

    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.
  • Page 132: Ptcfileconverter

    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...
  • Page 134: Filegrapher

    “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...
  • Page 136: Process Menu

    (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...
  • Page 138: Special Menu

    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.
  • Page 139: Command Line And Macro Instructions

    "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...
  • Page 143: Circuit Description

    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.
  • Page 144: Backplane

    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...
  • Page 146: Front Panel

    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).
  • Page 147: Heater Driver Cards

    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.
  • Page 148: Analog I/O Card

    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...
  • Page 149: Digital I/O Card

    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...
  • Page 151: Parts List

    "IGC, RCK SHELF" Rack mount tray 7-02180 CTC100 CHASSIS Chassis metal 7-02181 CTC100 F/P Front panel 7-02182 CTC100 LEXAN Plastic front panel overlay 7-02184 CTC100 M/B BRKT Motherboard bracket 7-02185 CTC100 BRKT P/S Power supply mounting bracket CTC100 Programmable Temperature Controller...
  • Page 152: Cpu Card (Assembly 207)

    C213 5-00601 0.1UF - 16V X7R C215 5-00601 0.1UF - 16V X7R C216 5-00601 0.1UF - 16V X7R C218 5-00601 0.1UF - 16V X7R C302 5-00601 0.1UF - 16V X7R C303 5-00601 0.1UF - 16V X7R CTC100 Programmable Temperature Controller...
  • Page 153 C604 5-00601 0.1UF - 16V X7R C605 5-00366 Capacitor, Mono, 50V, 5%, NPO, 1206 C606 5-00366 Capacitor, Mono, 50V, 5%, NPO, 1206 C621 5-00601 0.1UF - 16V X7R C631 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 CTC100 Programmable Temperature Controller...
  • Page 154 R634 4-01406 Resistor, Thick Film, 5%, 300 ppm, SMT R642 4-01406 Resistor, Thick Film, 5%, 300 ppm, SMT R643 4-01406 Resistor, Thick Film, 5%, 300 ppm, SMT RN101 4-00911 4.7KX4D Network, DIP, Isolated, 1/16W, 5%, Tiny CTC100 Programmable Temperature Controller...
  • Page 155: Backplane (Assembly 209)

    0.1UF - 16V X7R C150 5-00601 0.1UF - 16V X7R C160 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C161 5-00393 3300P Capacitor, Mono, 50V, 5%, NPO, 1206 C201 5-00601 0.1UF - 16V X7R C202 5-00601 0.1UF - 16V X7R CTC100 Programmable Temperature Controller...
  • Page 156 96 PIN VERTICAL 3 Row, Vertical JD104 1-00235 96 PIN VERTICAL 3 Row, Vertical JD105 1-00235 96 PIN VERTICAL 3 Row, Vertical JD107 1-00237 120 PIN VERTICA 3 Row, Vertical Mount L241 6-00691 22UH - SMT CTC100 Programmable Temperature Controller...
  • Page 157 2 PIN, 22AWG/RD Non board mount, Female, Seperate wire, 22 AWG 1-00259 4 PIN, 18AWG/OR Non board mount, Female, Seperate wire, 18 AWG 0-00043 4-40 KEP 0-00129 5 #24 0-00187 4-40X1/4PP 0-00390 1-72X1/4 TO HOLD CNCTRS. DOWN CTC100 Programmable Temperature Controller...
  • Page 158: Front Panel (Assembly 210)

    R361 4-00954 Resistor, Thin Film, 1%, 50 ppm, MELF R362 4-00954 Resistor, Thin Film, 1%, 50 ppm, MELF R363 4-01423 Resistor, Thick Film, 5%, 300 ppm, SMT R364 4-01423 Resistor, Thick Film, 5%, 300 ppm, SMT CTC100 Programmable Temperature Controller...
  • Page 159: Gpib Option (Assembly 289)

    Connector, IEEE488, Standard, R/A, Female J160 1-00251 10 PIN DIL Header, DIM, Locking Clips J202 1-01291 40 PIN 7-01892 PTC240, GPIB R131 4-01406 Resistor, Thick Film, 5%, 300 ppm, SMT U110 3-01236 74LCX16245MTD U120 3-01236 74LCX16245MTD U130 3-01019 TNT4882-BQ GPIB CTC100 Programmable Temperature Controller...
  • Page 160: 2-Channel Thermistor/Rtd/Diode Reader (Assembly 310)

    K437 3-01316 G6SK-2F-DC5 K438 3-01316 G6SK-2F-DC5 K439 3-01316 G6SK-2F-DC5 K440 3-01316 G6SK-2F-DC5 K441 3-01316 G6SK-2F-DC5 K442 3-01316 G6SK-2F-DC5 K443 3-01316 G6SK-2F-DC5 K444 3-01316 G6SK-2F-DC5 K445 3-01316 G6SK-2F-DC5 D205 3-01319 MMBD1503A D206 3-01319 MMBD1503A D207 3-01319 MMBD1503A CTC100 Programmable Temperature Controller...
  • Page 161 RN345 4-00911 4.7KX4D Network, DIP, Isolated, 1/16W, 5%, Tiny RN591 4-00911 4.7KX4D Network, DIP, Isolated, 1/16W, 5%, Tiny RN200 4-00916 47X4D Network, DIP, Isolated, 1/16W, 5%, Tiny RN201 4-00916 47X4D Network, DIP, Isolated, 1/16W, 5%, Tiny CTC100 Programmable Temperature Controller...
  • Page 162 4-02253 10.0K Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R561 4-02253 10.0K Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R434 4-02483 R442 4-02483 R250 4-02519 MAX5491WC30000 R251 4-02519 MAX5491WC30000 R550 4-02519 MAX5491WC30000 CTC100 Programmable Temperature Controller...
  • Page 163 C651 5-00601 0.1UF - 16V X7R C660 5-00601 0.1UF - 16V X7R C661 5-00601 0.1UF - 16V X7R C670 5-00601 0.1UF - 16V X7R C671 5-00601 0.1UF - 16V X7R C672 5-00601 0.1UF - 16V X7R CTC100 Programmable Temperature Controller...
  • Page 164: Dc Output Card (Assembly 206)

    C111 5-00601 0.1UF - 16V X7R C112 5-00601 0.1UF - 16V X7R C113 5-00601 0.1UF - 16V X7R C121 5-00601 0.1UF - 16V X7R C122 5-00601 0.1UF - 16V X7R C123 5-00601 0.1UF - 16V X7R CTC100 Programmable Temperature Controller...
  • Page 165 HCPL-2630 J111 1-00251 10 PIN DIL Header, DIM, Locking Clips JDR121 1-00234 96 PIN RT ANGLE 3 Row, Right Angle Mount L211 6-01005 22 UH L310 6-00684 10UH Inductor, SMD, Type R, 23MHz, 240mA, 10%, 1210 CTC100 Programmable Temperature Controller...
  • Page 166 Resistor, Thick Film, 5%, 200 ppm, SMT R502 4-01471 Resistor, Thick Film, 5%, 200 ppm, SMT RN111 4-01707 47KX4D RN112 4-01707 47KX4D RN113 4-00910 1.0KX4D Network, DIP, Isolated, 1/16W, 5%, Tiny RN121 4-01707 47KX4D RN272 4-01764 10X4D CTC100 Programmable Temperature Controller...
  • Page 167: Analog I/O Card (Assembly 297)

    0.1UF - 16V X7R C225 5-00601 0.1UF - 16V X7R C226 5-00601 0.1UF - 16V X7R C227 5-00381 330P Capacitor, Mono, 50V, 5%, NPO, 1206 C232 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C233 5-00471 10U/T16 SMD TANTALUM, C-Case CTC100 Programmable Temperature Controller...
  • Page 168 Resistor, Thin Film, 1%, 50 ppm, MELF R228 4-01117 1.00K Resistor, Thin Film, 1%, 50 ppm, MELF R230 4-01139 1.69K Resistor, Thin Film, 1%, 50 ppm, MELF R231 4-01110 Resistor, Thin Film, 1%, 50 ppm, MELF CTC100 Programmable Temperature Controller...
  • Page 169: Digital I/O Card (Assembly 298)

    C313 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C314 5-00381 330P Capacitor, Mono, 50V, 5%, NPO, 1206 C316 5-00519 .33U/T35 SMD TANTALUM, Y-Case C360 5-00513 1U-16V A-CASE SMT Tantalum, 16V, A-case (1206, but NEEDS POLARITY mark) CTC100 Programmable Temperature Controller...
  • Page 170 RN410 4-01707 47KX4D RN411 4-01707 47KX4D RN412 4-00911 4.7KX4D Network, DIP, Isolated, 1/16W, 5%, Tiny RN421 4-00908 270X4D Network, DIP, Isolated, 1/16W, 5%, Tiny T300 6-00683 VP1-0190 U110 3-01497 ATMEGA162-16AI U120 3-01498 74ABT16245CMTD U210 3-01343 74HC166D CTC100 Programmable Temperature Controller...
  • Page 171 7815, 3 Terminal, 15V, 1A Regulator U360 3-00814 78M05 78M05, U410 3-01375 74HC86AD Quad XOR gate U420 3-00741 74HC04 74HC04, Hex Inverter 7-01738 PTC DIG.I/O BRK 0-00306 4-40X3/16PP 0-00306 4-40X3/16PP 0-01093 563002B00000 Heat sink 1-01186 1690520000 Relay connector CTC100 Programmable Temperature Controller...
  • Page 173: Schematics

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

Table of Contents