SRS Labs CTC100 User Manual

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

Advertisement

Quick Links

User Manual
CT C100
Cryogenic Temperature Controller
Version 2.1 (May 14, 2019)

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 CT C100 Cryogenic Temperature Controller Version 2.1 (May 14, 2019)
  • Page 2 Information in this document is subject to change without notice. Copyright © Stanford Research Systems, Inc., 2018. 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

    Logging data to internal memory ................... 26 Logging data to USB ....................... 27 ADC sampling and logged data ..................... 27 Format of CTC100 log files ....................28 T he system fa n ......................29 Ra ck m ounting the CT C100 .................. 29 U sing P ID feedba ck ....................
  • Page 4 Repla cing the clock ba ttery ................... 75 Rem oving a n I/O or CP U ca rd ................76 Rem ote prog ra m m ing Connecting to the CTC100 ....................77 Communication, assembly, and run-time errors ..............80 Concurrent macros ........................ 80 Macro names ..........................
  • Page 5 GPIB option (assembly 289) ....................152 2-channel thermistor/RTD/diode reader (assembly 310) ..........152 100W DC output card (assembly 206) ................157 Analog I/O card (assembly 297) ..................160 Digital I/O card (assembly 298) ..................162 S chem a tics CTC100 Programmable Temperature Controller...
  • Page 7: Safety And Preparation For Use

    Safety and Preparation for Use L ine voltage The CTC100 operates from an 88 to 264 VAC power source having a line frequency between 47 and 63 Hz. P ow er 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

    ±0.25 30 k range ±25 ±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) range ±0.0002 /°C ±0.0001 /°C CTC100 Programmable Temperature Controller...
  • Page 10 A nalog 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 a nd 4 unpowered hea ter 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 Inp Uts A N D Outp Uts

    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 Resistive sensors: Four-wire RTDs usually have two wires of one color attached to one side of the RTD, and two of a second color attached to the other side. In this case, the RTD should be wired to the CTC100 in one of the following two ways (assuming the leads are white and black): Ground...
  • 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 RTD. The CTC100 has 12 measurement ranges. Within any given range, it generates a constant excitation current as shown in the table below. Note that the range has to be greater than the sensor resistance, so if the sensor resistance is 10 k , for example, the range should be 30 k .
  • Page 19 Noise, accuracy, and amount of self-heating at 25°C for several sensors. 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 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 AWG wires or 35559 for 14 16 AWG wires) to the end of each heater wire.
  • Page 21 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: ±10V Analog I/O Channels

    Lo Lmt setting to about 0.5V (to prevent integral windup). R elay s, 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 l...
  • Page 23 Introduction The CTC100 also has eight isolated TTL I/O lines on a 25-pin connector. The pinout of this connector is compatible with the standard PC parallel port. The TTL lines can be used as inputs or outputs, but all eight must have the same direction. The pinout follows (the pin numbers are...
  • Page 24 CTC100 with the Output Enable button. However, virtual PID feedback loops do stop running when the CTC100 outputs are disabled. When the value of a virtual channel is changed by a macro or via the front panel, the new value does not become effective until an ADC conversion occurs.
  • Page 25: Operation

    Operation CTC100 Programmable Temperature Controller...
  • Page 26: Quick Sta Rt Tutoria L

    Plug the CTC100 in and turn it on with the power switch on the back of the instrument. If the CTC100 does not turn on, a fuse may have blown. Two internal fuses can be accessed by unplugging the instrument and then removing its top cover.
  • Page 27: If The Sensor Reading Does Not Appear

    6. If 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 logs three data points per second for each channel. To change this rate for all channels, press the Setup key on the front panel and then t Under interval only affects how often data is recorded;...
  • Page 29: Save Data To And Retrieve Data From A Usb Memory Device

    Save data to and retrieve data from a U SB memory device If no USB memory stick or hard drive is present, the CTC100 only stores the most recent one million data points for each channel; older points are erased. Therefore, if the logging interval is 0.3 seconds per point, only the most recent 3 days of data can be displayed.
  • Page 30 Operation 2. Optional: the default baud rate for the FTDI driver is 9600. For faster communication, change the baud rate to 230400 on both the PC and the CTC100. On the CTC100, press the Setup key, touch the System tag .
  • Page 31: Control A Temperature

    Operation C ontrol a temperature The CTC100 can control the temperature of one or more external devices with a resistive heater and a temperature sensor. Each of the CTC100 channels can use proportional-integral-differential (PID) feedback software to monitor a temperature sensor and determine how much power to send to the heater.
  • 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 . Then, on the list of channels that appears, touch the temperature input channel . This tells the CTC100 that we want heater Out 1 to control the temperature of sensor In 1. desired temperature entered the setpoint.
  • 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 , select the tab for the output channel, and then button in the bottom-right corner. When tuning is finished, the CTC100 beeps and the PID feedback is automatically enabled. If the temperature is still below the setpoint, the CTC100 starts increasing power to the heater. The temperature may overshoot the setpoint, but should eventually stabilize at the setpoint.
  • Page 36: A Cquiring A Nd Log G In G Da Ta

    Operation Input filters The CTC100 has several numeric filters for processing sensor readings. Except for the sensor calibration, the filters are disabled by default and can be enabled by the user. In the order in which they are applied, the filters are: 1.
  • Page 37 Calibration data: The data contains pairs of numeric values: the value to be displayed, followed by the raw sensor reading. For example, the sample table above tells the CTC100 to display 0 °C when the sensor resistance is 100 ohms.
  • Page 38: Virtual Channels

    Turning the CTC100 off and back on again. Virtual channels The CTC100 has three virtual channels named V1, V2, and V3. You can set these channels to any value or make their value follow the value of another channel. The value can then be graphed or saved to the log like any other channel.
  • Page 39: Logging Data To Usb

    Touch the circle again to stop logging. retrieved with the getLog instruction always comes from internal memory. Do not unplug a USB device or switch the CTC100 off while USB logging is enabled. Either of these actions causes If the USB logging indicator is light red, always touch it and wait for it to darken before unplugging the USB device or turning the CTC100 off.
  • Page 40: Format Of Ctc100 Log Files

    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 41: T He System Fa N

    Show. The fan speed can be overridden with the System.Other.Fan remote command. This should only be done if it s 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 42: U Sing P Id Feedba Ck

    The CTC100 supplies a varying current, voltage, or power to the heater, and assumes that the measured temperature will increase or decrease in a roughly linear fashion with this output signal.
  • Page 43: 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 44 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 45 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 46: Automatic Tuning Algorithms

    Operation A utom atic 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: the relay tuner and the step response tuner.
  • Page 47 PID gains. Because the the feedback input channel to achieve accurate tuning results. Since the relay tuner does not require response tuner. CTC100 selects the relay tuner if both its high and low . In particular, if CTC100 Programmable Temperature Controller...
  • Page 48 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 49: Using The Automatic Tuner

    CTC100 increases the heater output, and ag 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 50 Unable to tune feedback because the outputs are disabled. Press the Output Enable button to enable outputs. The outputs must be enabled before autotuning, or else the CTC100 will not be able to provide any power to the heaters. Unable to tune feedback because the heater is disconnected This message appears when the heater is connected to channels Out 1 or Out 2 and the measured heater resistance is less than 1 or greater than 10 k .
  • Page 51: 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 52: F Ront-Pa Nel Controls

    System.log.logTo { RAM, USB, None } If a USB memory stick is plugged into the CTC100, a small dark-red circle appears in the upper- right corner of the screen. Touch the circle to turn USB logging on; the circle will turn light red to indicate that data is being logged to USB.
  • Page 53 Each of the green buttons represents one I/O channel. The buttons are arranged in roughly the same order as the connectors on the back of the CTC100. Each . If no sensor or heater is connected, the value may be blank.
  • Page 54 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 2 and 4 have both been assigned to plot 2. CTC100 Programmable Temperature Controller...
  • Page 55 Plot screen. If ch the CTC100 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 56 To show current data and 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 57 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 58 Operation How to change the Y scale of the bottom graph How to pan the bottom graph vertically CTC100 Programmable Temperature Controller...
  • Page 59 Operation P rogram 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 60 Ethernet (via Telnet or a raw UDP data stream), 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 61 The menu of instructions closes, and the first line in the Progress window is now a left square bracket. Touch the Progress window again, anywhere beneath the first line. The list of possible instructions appears again The sub-menu that appears contains a CTC100 Programmable Temperature Controller...
  • Page 62 Operation , on which you can enter an argument for Touch the OK button. The Program screen re-appears CTC100 Programmable Temperature Controller...
  • Page 63 The CTC can run up to ten concurrent macros started from the front panel. If an eleventh macro When the CTC100 i macro. Any other macros that might have been running when the CTC100 was switched off are not re-started.
  • Page 64 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 65 Clea r System.Log.clear { RAM, USB, all } Erases logged data. There are three options: RAM deletes all logged data from the CTC100 memory and can be used to clear old data from the plot screen. USB deletes all log files (not just the current file) from the log folder on the external USB memory stick.
  • Page 66 System.COM.Verbose { Low, Medium, High } Determines how the CTC100 responds to RS-232, USB, GPIB, and Ethernet messages. Low: the CTC100 only sends messages in response to queries. This mode should be selected for IEEE488.2 compatibility. Medium: the CTC100 also sends error messages whenever a command could not be understood.
  • Page 67 DHCP server. Close System.IP.Close The CTC100 only accepts messages from a single computer and only in a single protocol (Telnet or raw UDP stream). To change the computer or the protocol, press the Close button. CTC100 a Telnet connection is being used and the computer closes it.
  • Page 68 Elapsed: the labels only indicate the amount of time between grid lines. The elapsed time labels do not actually reflect the amount of time elapsed since any particular event and reset to zero once per minute, hour, or day, depending on the X range of the graph. Absolute X labels CTC100 Programmable Temperature Controller...
  • Page 69 Displays a text box with information about the firmware version and installed I/O cards. Reset System.Other.Reset { "Running macros", "Saved macros", Display, Ports, "Port settings", Channels, Log, All } Running macros: stops all running macros. Has no effect on saved macros. CTC100 Programmable Temperature Controller...
  • Page 70 Touch this button to change the name of the channel. The name must have 10 or fewer characters. V a lue Channel.Value? Channel? This button shows the most recent sensor reading. T be changed by typing in a new value, so the button is greyed out. CTC100 Programmable Temperature Controller...
  • Page 71 Sets the sensor measurement range. The default range is Auto. In general, a lower range produces a larger excitation current, less noise, and more accurate measurements. The range should be manually set if it is critical to limit sensor self-heating; otherwise the CTC100 may change the range and excitation current at unexpected times.
  • Page 72 Touch a channel and its value is then continuously subtracted from the channel indicated by the blue tab at the top of the Setup screen. If, for example, the Setup menu for CTC100 Programmable Temperature Controller...
  • Page 73 The sensor is disconnected (except on analog I/O channels, which cannot detect disconnected sensors) When an alarm is triggered, it can do any of the following: Play a sound Trigger a relay on the digital I/O card Shut off an output channel CTC100 Programmable Temperature Controller...
  • Page 74 Controls which sound plays when the alarm goes off. Output Channel.Alarm.Output "Output name" The alarm, when triggered, can shut off one of the CTC100 ut channels, setting the output lue 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...
  • Page 75 The CTC100 offers four different ways to calibrate sensor readings: Built-in calibration tables: the easiest but least accurate way to calibrate your sensors. You select a sensor type and the CTC100 uses built-in calibration data that describes a typical sensor of that type. No experimental data is needed.
  • Page 76 -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...
  • 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 Touch this button to place a lower limit on the output. If the minimum is greater than zero, the output is still set to zero whenever outputs are disabled with the Output Enable key. Limits are CTC100 Programmable Temperature Controller...
  • Page 79 "3 min", "10 min", "30 min", "1 hr", Default } By default, at a global log rate that is set from the System Setup screen (System.Log.Interval). The Logging button makes it possible to override the global log rate for individual channels. CTC100 Programmable Temperature Controller...
  • 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 PID zone editor CTC100 Programmable Temperature Controller...
  • Page 82 The min temperatures can be in any order; they do not have to be monotonically ascending or descending. Next, set the zone to he CTC100 automatically selects the zone with the largest Min value that is less than the ramp temperature mode.
  • Page 83 This setting only applies to the Relays channel on the digital I/O card. Changing the polarity reverses the state of all four relays. The Polarity setting ensures that the relays are in an acceptable state when the CTC100 is switched off. When the Polarity switched off.
  • Page 84 Closed Closed Open is what the relays revert to when the CTC100 is switched off. If no alarms are configured, they will stay in that state when the CTC100 is turned back on again. Setup screen for virtual channels , and V3 have the same front- panel settings as either the sensor input or the heater output channels.
  • Page 85 Operation To disable cascade cont select it. CTC100 Programmable Temperature Controller...
  • Page 86: F Irm Wa Re Upda Tes

    6 minutes. rogram the CTC100 again. 5. At this point, the old firmware is still running. Turn the CTC100 off and back on again to start using the new firmware. I/O card firmw are updates 1. Copy all files in the firmware update package to the root directory of a USB flash drive or hard drive.
  • Page 87: Repla Cing The Clock Ba Ttery

    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 88: Rem Oving A N I/O Or Cp U Ca Rd

    Usually the best way is to gently push on the In 1 & 2 port with one thumb and on the DIO port with the other, but make sure not to apply so much force that you bend the connectors. 13. It should now be possible to pull the I/O or CPU card out. CTC100 Programmable Temperature Controller...
  • Page 89: Remote Programming

    (decimal 13 = hex D hex A 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 U SB device port The CTC100 has a USB 1.1 device interface that can be connected to a PC with a standard USB A-to-B cable. The CTC100 appears on the PC as a virtual COM port, and any software that can communicate with an RS-232 port can be used to send remote commands to the CTC100.
  • Page 91 Remote Programming G P IB 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

    C ommunication, assembly , and run-time errors If the CTC100 is unable to receive a macro due to a problem with the I/O port, a communication error may be generated and the macro does not run. If the macro is successfully received, the CTC analyzes it and any macros that it calls to ensure...
  • Page 93: Macro Names

    If a macro is started by a remote command with 32 or fewer characters, the macro name is the same as the remote command. If the command has more than 32 characters, the CTC100 assigns -digit number.
  • Page 94 If the right bracket is omitted, all instructions after the left bracket do not run. A negative number after the right bracket causes the group of instructions to repeat indefinitely. Therefore, [print Hello pause 1 s]-1 is equivalent to while (1) { print Hello pause 1 s } 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 .list for the menu or submenu. If appended to an instruction, the suffix returns a list of .list...
  • 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 contain any letters.
  • Page 97 Spaces are not allowed before the *, /, -, and ^ operators. The equals sign is optional and can be replaced with a space. The CTC100 has three virtual channels that behave like much like variables. However, while a variable can only be used by the macro that defined it, the value of a virtual channel can be accessed by any macro.
  • Page 98 Errors: If the child macro contains any invalid instructions, an assembly-time error occurs and neither macro runs. A macro cannot be both defined and called by another macro; either an assembly- will occur, or an older version of the macro will be called instead of the new one. CTC100 Programmable Temperature Controller...
  • Page 99: Rem Ote Instruction S

    Courier 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. italicized Courier Words in...
  • Page 100 { Select Channels, Show Data, Program, Setup, Help, Output Enable } menu 1 Makes the CTC100 behave as if one of the front-panel buttons has been pressed. The argument can be the name of a front-panel button or a numeric value between 1 and 6, inclusive ( 1 for...
  • Page 101: Ieee 488.2 Instructions

    Returns the current value of the Alarm Status Register (ASR), and then clears the register. The Alarm Status Register is a 32-bit integer that indicates which alarms were triggered since the last *ASR? time the command was issued. Each of the CTC100 in the Alarm Status Register. When an alar channel.alarm.mask set.
  • Page 102 *EMC either 0 (macros disabled) or 1 (macros enabled). Since the state of does not persist when the CTC100 is rebooted, macros are always enabled when the CTC100 is turned on. *ESE 0 *ESE? Sets (or gets) the value of the Standard Event Status Enable (ESE) register. If a bit in the ESR register is set and the corresponding bit in the ESE register is also set, bit 5 of the Status Byte register is set.
  • Page 103 Remote Programming *OPC 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., channel.tune.mode channel.setpoint channel.ramp ) and ramp-to-setpoint ( , if has finished.
  • Page 104 Trigger command. Identical to the Group Execute Trigger (GET) bus message. Causes all channels to read their outputs. The amount of time that it takes to process this command is twice After receiving a trigger command, the CTC100 stops automatically acquiring data. The inputs *TRG...
  • Page 105: Program Menu

    The name of the text file should be the name of the macro plus the extension 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 "Popup text" popup.close Produces a popup window on the CTC100 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...
  • Page 107 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

    Enables or disables hardware flow control for the RS-232 and USB-to-PC interfaces. system.com.verbose { Low, Medium, High } Determines how the CTC100 replies when a remote instruction is processed. : the CTC100 only replies when a query is processed. Medium : messages are also produced whenever an error occurs.
  • Page 109 Errors: a run-time error occurs if the argument is less than 10000 (10 seconds) or greater than 2592000000 (30 days). system.IP.Address 0.0.0.0 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 system.IP.DHCP...
  • Page 110 Determines which folder on the USB memory device 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. system.log.interval { off, "0.1 s", "0.3 s", "1 s", "3 s", "10 s", "30 s", "1 min", "3 min", "10 min", "30 min", "1 hr"...
  • Page 111: Channel Setup

    Selects the direction of the excitation current. In AC mode, the current direction is switched with each ADC reading and each measurement is the average of the two most recent readings, thereby eliminating errors caused by thermal EMFs. The excitation current can also be switched CTC100 Programmable Temperature Controller...
  • Page 112 Not all options are available for every output channel. Input If the IO type is set and does not produce an output; it becomes a high-impedance input. Set out Meas out If the either voltage, current, or Channel.Units Set out power, depending on the CTC100 Programmable Temperature Controller...
  • Page 113 Channel.Off (Output channels only) Turns the selected channel off. The instruction cancels any active autotuning process, turns PID feedback off, channel.Low lmt Errors: attempting to use this instruction on an input channel results in a compile-time CTC100 Programmable Temperature Controller...
  • Page 114 System.Other.Fan Auto PCB). If the temperature of the circuit exceeds this value and , the CTC100 increases the fan speed to cool the air inside the chassis. The PCB temperature is always System.Display.Units expressed in °C, regardless of the setting.
  • Page 115 Sets channel Out 1 to output 1 watt of power. Note that omitted. In1.value? Queries the output of channel In1. The response is a numeric value such as 37.4722 System.Com.Verbose is set to Low or Medium, or CTC100 Programmable Temperature Controller...
  • Page 116 High. If sensor In1 is not connected or is out of the range of its 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.
  • Page 117 See the description of the Type button on page 63 for more information. C hannel.P ID submenu channel.PID instructions can only be used on output channels. Attempting to use a PID instruction on an input cha CTC100 Programmable Temperature Controller...
  • Page 118 Channel.PID.Mode { Off, On, Follow } Enables or disables PID feedback. Turning feedback off freezes the output at its current value current PID gain of the channel input Zero pt Gain selected with the instruction, adjusted by the factors. 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 ' select the third line of the table Out1.PID.Tmin 1000 ' ensure that this line is never used Out1.PID.Zone Auto ' enable zoned feedback Errors: Attempting to change the zone when no PID input channel is selected produces a run- error. CTC100 Programmable Temperature Controller...
  • Page 121: Error Codes

    Starts or stops PID autotuning. starts the step response tuning algorithm; starts the Auto relay tuning algorithm. In mode, the CTC100 begins a step response if the PID output is less Channel.Tune.StepY than half of ; otherwise it begins the relay tuning procedure. cancels Channel.Tune.Type { Cons, Moderate, Aggr, Auto }...
  • Page 122: Startup Macros

    USB stick. The macro 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. For example, the following remote command defines a startup macro that displays a message each time the CTC boots up: define Startup(popup "Power has cycled")
  • Page 123: S A M Ple M A Cros

    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

    This macro turns selection group 1 into a display of channels with tripped alarms. Once per channels are deselected. The macro is best used with the Numeric screen visible, but also works with the Select or Plot screens. if (group==1) { selectAlarmed } pause 1 s CTC100 Programmable Temperature Controller...
  • Page 125: Show The Pid Setpoint In A Virtual Channel

    L inearizing outputs w hen interfacing w ith ex ternal pow er supplies If you need more heater power than the CTC100 can deliver, you can use the CTC100 outputs to control a programmable power supply. Since the analog input on programmable power...
  • 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 relay.
  • Page 127 V1, and add these lines after the { #d = 1 } statement: if (#V2>#t) { #d+=2 } if (#V3>#t) { #d+=4 } The macro can automatically run every time the CTC100 is turned on; just send the command CTC100 Programmable Temperature Controller...
  • Page 129 Remote Programming CTC100 Programmable Temperature Controller...
  • Page 131: Pc Applications

    SRS website at www.thinksrs.com; click on Downloads > Software. Once unzipped, the applications can be run by double-clicking the .exe icon or dragging CTC100 log files to the .exe icon. It is not necessary to run an installation program.
  • Page 132: P T Cf Ilecon Verter

    When converting data to a text or HTML file, this setting determines how the time of each data point is recorded: -bit decimal value that indicates how many milliseconds have elapsed since midnight on January 1, 1970. CTC100 Programmable Temperature Controller...
  • Page 133 S ta rt Press the Start button to begin the conversion. Close Press the Close button to save all settings and close PTCFileConverter. -right corner of the window closes the program without saving any settings. CTC100 Programmable Temperature Controller...
  • Page 134: F Ilegra Pher

    To plot a file, either drag a log file onto the File Grapher icon or double-click the FileGrapher 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 irst 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 all data from an existing buffer. Crop Creates a new buffer that contains a copy of data from an existing buffer. Only points that falls Deriva tive 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. L owpa ss Removes noise by emulating an analog RC lowpass filter. Similar to the CTC100 filter, -order rather than sixth-order.
  • 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 PC 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 m 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

    Circuit Description U A R T Connected to the CTC100 -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

    (OUT+) is 55V; when U220A outputs 0.8V, OUT+ is 24V. Diode D221 protects the feedback pin from an over-voltage condition during start-up. R214 sinks current when the op amp output is near its lower rail. CTC100 Programmable Temperature Controller...
  • 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 383)

    1206 surface mount LED, green 3-02252 BSZ105N04NS G N-channel MOSFET, Vds=40V, Rds=10 mOhm, Id=40A 3-02252 BSZ105N04NS G N-channel MOSFET, Vds=40V, Rds=10 mOhm, Id=40A 3-02252 BSZ105N04NS G N-channel MOSFET, Vds=40V, Rds=10 mOhm, Id=40A 3-02254 BAT54T1G Schottky diode, 200 mA, 0.35V@10 mA CTC100 Programmable Temperature Controller...
  • Page 153 Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R182 4-02075 Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R185 4-02075 Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R188 4-02075 Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip CTC100 Programmable Temperature Controller...
  • Page 154 R170 4-02282 20.0K Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R171 4-02282 20.0K Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip R200 4-02282 20.0K Resistor, Thin Film, 1%, 50 ppm, 1/16W 0603 Chip CTC100 Programmable Temperature Controller...
  • Page 155 Capacitor, Mono, 50V, ª0.25pF or 5%, NPO, 0603 C312 5-00718 120P CAP CER 120PF 50V C0G/NP0 0603 C324 5-00738 820P Capacitor, Mono, 50V, ª0.25pF or 5%, NPO, 0603 C325 5-00738 820P Capacitor, Mono, 50V, ª0.25pF or 5%, NPO, 0603 CTC100 Programmable Temperature Controller...
  • Page 156 10 µF 1206 capacitor, 6.3V X7R 10% C395 5-00870 10 µF 10 µF 1206 capacitor, 6.3V X7R 10% C483 5-00871 0.01 µF 0.01 µF 0402 capacitor, 6.3V X5R 10% C485 5-00871 0.01 µF 0.01 µF 0402 capacitor, 6.3V X5R 10% CTC100 Programmable Temperature Controller...
  • Page 157 0.1 µF 0402 capacitor, 6.3V X5R 10% 5-00877 0.1 µF 0.1 µF 0402 capacitor, 6.3V X5R 10% 5-00877 0.1 µF 0.1 µF 0402 capacitor, 6.3V X5R 10% 5-00877 0.1 µF 0.1 µF 0402 capacitor, 6.3V X5R 10% CTC100 Programmable Temperature Controller...
  • Page 158 0.47 µF 0402 capacitor, 6.3V X5R 10% C187 5-00878 0.47 µF 0.47 µF 0402 capacitor, 6.3V X5R 10% C191 5-00878 0.47 µF 0.47 µF 0402 capacitor, 6.3V X5R 10% C192 5-00878 0.47 µF 0.47 µF 0402 capacitor, 6.3V X5R 10% CTC100 Programmable Temperature Controller...
  • Page 159 C459 5-00903 4.7 µF 4.7 µF 6.3V 0402 capacitor C468 5-00903 4.7 µF 4.7 µF 6.3V 0402 capacitor C472 5-00903 4.7 µF 4.7 µF 6.3V 0402 capacitor C473 5-00903 4.7 µF 4.7 µF 6.3V 0402 capacitor CTC100 Programmable Temperature Controller...
  • Page 160: Backplane (Assembly 209)

    22U - 35V C244 5-00399 .01U - 5% Capacitor, Mono, 50V, 5%, X7R, 1206 C245 5-00640 100U - 10V C246 5-00640 100U - 10V C251 5-00375 100P Capacitor, Mono, 50V, 5%, NPO, 1206 C252 5-00628 22U - 35V CTC100 Programmable Temperature Controller...
  • Page 161 Resistor, Thick Film, 5%, 300 ppm, SMT R207 4-01406 Resistor, Thick Film, 5%, 300 ppm, SMT R211 4-01479 1.0K Resistor, Thick Film, 5%, 200 ppm, SMT R212 4-01158 2.67K Resistor, Thin Film, 1%, 50 ppm, MELF CTC100 Programmable Temperature Controller...
  • Page 162: Front Panel (Assembly 210)

    0.1UF - 16V X7R C201 5-00601 0.1UF - 16V X7R C202 5-00601 0.1UF - 16V X7R C203 5-00601 0.1UF - 16V X7R C205 5-00601 0.1UF - 16V X7R C211 5-00604 0.01UF / 16V C212 5-00604 0.01UF / 16V CTC100 Programmable Temperature Controller...
  • Page 163 12MM TACT SWITC S203 2-00065 12MM TACT SWITC S204 2-00065 12MM TACT SWITC S205 2-00065 12MM TACT SWITC S206 2-00065 12MM TACT SWITC U101 3-01497 ATMEGA162-16AI U102 3-01498 74ABT16245CMTD U201 3-01215 MAX1234EGI U202 3-00741 74HC04 74HC04, Hex Inverter CTC100 Programmable Temperature Controller...
  • Page 164: Gpib Option (Assembly 289)

    10 PIN DI Header, DIM J500 1-00281 10 PIN DI Header, DIM 1-00468 8 PIN, 24AWG/WH Non board mount, Female, 24 AWG 1-01067 9 PIN 1-01068 9 PIN J260 1-01331 1201-066 D111 3-00011 LED, T1 Package, 3mm diameter CTC100 Programmable Temperature Controller...
  • Page 165 Analog mux, 8-to-1, +/-15V okay, TTL compat. U650 3-01398 OPA2131UJ FET-input dual opamp, 4 MHz GBW, U750 3-01398 OPA2131UJ FET-input dual opamp, 4 MHz GBW, U270 3-01469 MAX6250BCSA +5V Reference U640 3-01469 MAX6250BCSA +5V Reference U740 3-01469 MAX6250BCSA +5V Reference CTC100 Programmable Temperature Controller...
  • Page 166 R651 4-01869 1.0K Resistor, Thick Film, 5%, 200 ppm, 1/16W, 0603 Chip R743 4-01869 1.0K Resistor, Thick Film, 5%, 200 ppm, 1/16W, 0603 Chip R751 4-01869 1.0K Resistor, Thick Film, 5%, 200 ppm, 1/16W, 0603 Chip CTC100 Programmable Temperature Controller...
  • Page 167 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 C124 5-00601 0.1UF - 16V X7R C210 5-00601 0.1UF - 16V X7R CTC100 Programmable Temperature Controller...
  • Page 168 Capacitor, Mono, 50V, 0.25pF or 5%, NPO, 0603 C306 5-00716 100P Capacitor, Mono, 50V, 0.25pF or 5%, NPO, 0603 C307 5-00716 100P Capacitor, Mono, 50V, 0.25pF or 5%, NPO, 0603 C200 5-00740 1000P Capacitor, Mono, 50V, 0.25pF or 5%, NPO, 0603 CTC100 Programmable Temperature Controller...
  • Page 169: Dc Output Card (Assembly 206)

    5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C240 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C245 5-00627 0.1U X 4 C250 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 C251 5-00299 Capacitor, Mono, 50V, 10%, X7R, 1206 CTC100 Programmable Temperature Controller...
  • Page 170 Resistor, Thin Film, 1%, 50 ppm, MELF R206 4-01186 5.23K Resistor, Thin Film, 1%, 50 ppm, MELF R207 4-01309 100K Resistor, Thin Film, 1%, 50 ppm, MELF R208 4-00436 Resistor, Wire-wound R211 4-01157 2.61K Resistor, Thin Film, 1%, 50 ppm, MELF CTC100 Programmable Temperature Controller...
  • Page 171 TL431C, Adjustable Shunt Voltage Regulator, 100 mA, SOT23-5 U233 3-01821 LTC6102HMS U234 3-01821 LTC6102HMS U235 3-01821 LTC6102HMS U240 3-00675 LTC1655 16 bit Rail-Rail DAC U250 3-01257 LMC6484AIM U260 3-01386 DG408DY Analog mux, 8-to-1, +/-15V okay, TTL compat. U270 3-01257 LMC6484AIM U271 3-01186 MAX6241BCSA CTC100 Programmable Temperature Controller...
  • Page 172: Analog I/O Card (Assembly 297)

    SMT Tantalum, 16V, A-case (1206, but NEEDS POLARITY mark) D101 3-00011 LED, T1 Package, 3mm diameter D201 3-00544 BAV70LT1-ROHS BAV70LT1 D202 3-00544 BAV70LT1-ROHS BAV70LT1 D203 3-00544 BAV70LT1-ROHS BAV70LT1 D204 3-00544 BAV70LT1-ROHS BAV70LT1 D246 3-01384 MMBZ5232BLT1 5.6V Zener CTC100 Programmable Temperature Controller...
  • Page 173 MAX6250BCSA +5V Reference U202 3-01499 DAC8534IPW U203 3-01838 MC33079D U204 3-01365 DG411DY Quad SPST 25ohms-ONRes U205 3-01838 MC33079D U206 3-01369 DG409DY Diff Analog MUX 4-ch U209 3-01500 LTC2440CGN U302 3-00743 74HC138D 74HC138, 3-to-8 line decoder/demultiplexer; inverting CTC100 Programmable Temperature Controller...
  • Page 174: Digital I/O Card (Assembly 298)

    BAV170LT1, DUAL DIODE COMMON CATHODE D421 3-00011 LED, T1 Package, 3mm diameter D422 3-00011 LED, T1 Package, 3mm diameter D423 3-00011 LED, T1 Package, 3mm diameter D424 3-00011 LED, T1 Package, 3mm diameter IS230 3-01320 HCPL-2630 CTC100 Programmable Temperature Controller...
  • Page 175 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 177: Schematics

    Circuit boa rd P a g e count PTC211 CPU board PTC222 Backplane PTC232 Front panel PTC240 GPIB card PTC323 2-channel thermistor/diode/RTD reader PTC431 100W DC output card PTC510 Analog IO card PTC520 Digital IO card CTC100 Programmable Temperature Controller...

Table of Contents