Do you have a question about the PTC10 and is the answer not in the manual?
Questions and answers
Subscribe to Our Youtube Channel
Summary of Contents for Stanford Research Systems PTC10
Page 1
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 User Manual +44 (0)1582 712084 PTC10 Programmable Temperature Controller Programmable Temperature Controller Programmable Temperature Controller Programmable Temperature Controller Version 3.290 (June 25, 2015)
Page 2
Stanford Research Systems certifies that this product met its published specifications at the time of shipment. Warranty This Stanford Research Systems product is warranted against defects in materials and workmanship for a period of one (1) year from the date of shipment.
Format of PTC10 log files ...................... 36 Using the system fan ..................... 38 Using PID feedback ......................39 How stable is the PTC10’s feedback control? ..............39 Basic PID feedback concepts ....................39 Manual tuning .......................... 40 Automatic tuning algorithms ....................43 Using the automatic tuner......................
Safety and preparation for use Line voltage The PTC10 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 PTC10, provides connection to the power source and to a protective ground.
Page 8
Symbols found on SRS products Symbol Description Alternating current Caution - risk of electric shock Frame or chassis terminal Caution - refer to accompanying documents Earth (ground) terminal Battery Fuse On (supply) Off (supply) PTC10 Programmable Temperature Controller...
±10 Ω 300 kΩ range ±250 Ω 2.5 MΩ range ±30 kΩ Drift due to temperature 30 Ω range ±0.002 Ω/°C 100 Ω range ±0.006 Ω/°C 300 Ω range ±0.006 Ω/°C 1 kΩ range ±0.01 Ω/°C PTC10 Programmable Temperature Controller...
Page 10
30 Ω range ±0.0006 Ω/°C 100 Ω range ±0.001 Ω/°C 300 Ω range ±0.0015 Ω/°C (=±5 mK/°C for Pt100 RTD at 25°C) 1 kΩ range ±0.005 Ω/°C 3 kΩ range ±0.01 Ω/°C 10 kΩ range ±0.03 Ω/°C PTC10 Programmable Temperature Controller...
Page 11
Initial accuracy (AC current, at midrange) 10 Ω range ±0.007 Ω 30 Ω range ±0.03 Ω 100 Ω range ±0.07 Ω 300 Ω range ±0.25 Ω 1 kΩ range ±0.6 Ω 3 kΩ range ±2 Ω PTC10 Programmable Temperature Controller...
Page 12
2.5 MΩ range 1 μA Initial accuracy (AC current, at midrange) 10 Ω range ±0.005 Ω 30 Ω range ±0.005 Ω 100 Ω range ±0.008 Ω 300 Ω range ±0.015 Ω (=±50 mK for Pt100 RTD at 25°C) PTC10 Programmable Temperature Controller...
Page 13
PTC420 AC output card Output One line voltage output switched by solid-state relay Connector NEMA 5-15 (3-prong North American wall socket); a heater cable with a mating plug on one side and stripped ends on the other is included PTC10 Programmable Temperature Controller...
Page 14
±5 mA Current noise 0.02 mA (at 0.5A current, 22 ohm resistive load, 0.01-10 Hz bandwidth) Temperature sensor input Compatible sensors Thermistors 2 or 4-wire NTC thermistors RTDs 4-wire platinum RTDs, 100 – 1000Ω at 0°C PTC10 Programmable Temperature Controller...
Page 15
ADC noise 30 μV RMS = 100 μV p-p (10 samples/s) Digital I/O Digital I/O Inputs/outputs 8 optoisolated TTL lines, configurable as either 8 inputs or 8 outputs Connector One DB-25F Relays Outputs 4 independent SPDT relays PTC10 Programmable Temperature Controller...
Page 16
Specifications Specifications Specifications Specifications Connector One 12-pin 3.5mm header Maximum current Maximum voltage 250 VAC PTC10 Programmable Temperature Controller...
Its features include: Modular design The PTC10 can accept up to four I/O cards, each of which can read up to four temperature sensors and/or drive one heater. The instrument can be customized by selecting the I/O cards best suited to your application.
However, each card’s factory calibration is stored on the card and is not lost. To add or replace an I/O card: 1. Unplug the PTC10 from the wall; otherwise, even if the instrument is switched off, live line voltage could be present. Removing and installing I/O cards while the power is turned on may permanently damage the instrument.
Page 19
Connecting the sensor The PTC320 has a 6-pin DIN socket that mates with standard 6-pin push-pull DIN plugs (i.e. Digi-Key CP-1060-ND). This is the pinout of the socket, as it appears when looking at the back panel: PTC10 Programmable Temperature Controller...
Page 20
Sense – Excitation – The outer shell of the plug is connected to the PTC10’s chassis. The PTC320 passes an excitation current through the attached RTD, thermistor, or diode, and senses the induced voltage. For the most accurate results all sensors should be read with a four-wire configuration, using separate sense and excitation leads.
Since the PTC10 enclosure is usually elevated 2 to 3 degrees above ambient temperature, the accuracy of the PTC321 may be reduced if the ambient temperature rises above about 32°C.
Page 22
Signal inputs Signal Signal sensing Ground element Excitation Excitation Solder two additional wires (thick lines) to the sensor and connect them to the Excitation inputs Connecting a 2-wire RTD to the PTC321 RTD reader PTC10 Programmable Temperature Controller...
Connecting the sensor The sensors are connected via a 9-pin D-sub (DB9) socket that mates with any standard DB9 plug, such as Amphenol L717SDE09P with backshell 17E-1657-09. One plug and backshell is PTC10 Programmable Temperature Controller...
Page 24
Spectrum Advanced Specialty Products. We have found their 4000 pF pi filters to be effective. These filters include capacitors to ground, which should be connected either to the ground pin (pin 3) of the PTC323’s sensor input connector or to chassis ground. PTC10 Programmable Temperature Controller...
Page 25
Sensor self-heating decreases as the measurement range is increased, such that the maximum self-heating at the 300 kΩ range is only 300 pW. This feature is important for cryogenic systems, in which the sensor resistance increases and heat conductivity decreases as the temperature approaches 0 K. PTC10 Programmable Temperature Controller...
1% silicon) wire. With a wide temperature range and good stability, it’s the most popular type of thermocouple. Type K thermocouples are resistant to oxidation, but corrode if used in a vacuum or other reduced-oxygen environment. PTC10 Programmable Temperature Controller...
Page 27
PTC10’s built-in calibration tables, assuming that the cold junction temperature is 25 °C. If the thermocouple temperature is outside the PTC10’s range, no reading appears on the display and any feedback loops for which the thermocouple is an input do not function.
57600 / R The total AC current delivered at any one time by the all the PTC420 cards in a single chassis cannot exceed 10 A. If it does, the PTC10’s main fuse will blow. PTC430 50 W DC output card The PTC430 DC output card can deliver up to 50 W of power and is intended for precise control of small heaters.
Page 29
The temperature of the heatsink can be monitored by setting the System.Display.T(PCB) button to “Show”, then turning the PTC10 off and back on again. A new display labeled “T(PCB)” should appear on the Select screen directly underneath the current value of the DC output card. If T(PCB) exceeds 60°C, the card’s output will be shut down.
Output Enable key, then re-enable the outputs by pressing the Output Enable key twice). In addition, one of the following error messages appears in a pop-up window on the PTC10’s screen: • Measured heater current differs from desired value: The PTC431’s output is on, and the current at the positive terminal differs from the desired current by more than 0.25A.
• Output is off but heater current was detected: current is flowing into the negative terminal even though the positive terminal isn’t producing any current. This error may indicate that the heater is shorted to a power source other than the PTC10. It can also indicate a failure of the card’s current output circuitry.
Page 32
There is normally no shield. In this case, the RTD should be wired in one of the following ways (assuming black and white wires): PTC10 Programmable Temperature Controller...
Page 33
Note that the resistance ranges overlap; if the sensor resistance is between 1 and 2 kΩ, for example, the TEC driver can use either 1 mA or 100 μA excitation. If possible, the excitation current is kept at its previous value. PTC10 Programmable Temperature Controller...
“NC” pin is unconnected. The relays appear on the PTC10 display as a single 4-bit integer value between 0 and 15. If no relays are activated, the value is 0. Each relay, if activated, adds the following to the displayed...
Page 35
The status of the eight digital I/O lines is reported on the PTC10 display as a single eight-bit integer value. Each I/O line is assigned an integer value as shown in the following table:...
Page 36
Value The “DIO” value shown on the PTC10’s display is the sum of the values of all set bits. For example, if only bits D1 and D3 are set, a DIO value of 2 + 8 = 10 is displayed.
Quick start tutorial Turn the instrument on Plug the PTC10 in and turn it on with the power switch located next to the AC power inlet. The SRS logo should appear on-screen immediately. It remains on-screen for about 30 seconds while the system boots.
6. If you’re using a resistive sensor and the reading in ohms is incorrect, remove the sensor and instead connect a resistor of about the same value to the PTC10. If the reading is still incorrect, the unit may need to be returned to SRS for recalibration.
• Verify that the heater leads are not shorted to ground or to each other. • If the heater is resistive, unplug it from the PTC10 and measure its resistance with a multimeter. Make sure that the resistance is appropriate for the output card: •...
If there’s no USB memory device plugged into it, the PTC10 only stores the most recent 4096 data points for each channel, and the data is lost if the PTC10 is turned off. A USB memory stick can be used to keep a permanent record of logged data.
Page 42
Read data from the PTC10 All RS-232, GPIB, USB, and Ethernet messages sent to the PTC10 must end with a linefeed (decimal 10 = hex 0x0a = ‘\n’). The PTC10 will not process the message until the linefeed is received. Instructions are not case-sensitive.
"3A", next 27.57375 Each time this command is sent, the PTC10 waits until a new point is added to channel 3A’s log, then returns the new data point. Control a temperature The PTC10 can control the temperature of one or more external devices. Each device must include a heater or cooler, and a temperature sensor that monitors the temperature of whatever is being heated or cooled.
Page 44
In the Lopass menu, select one of the six options. Select the largest value that is less than the response time of your heater. The lowpass filter reduces noise, improving the accuracy of the PID tuning process and the performance of the tuned PID feedback loop. PTC10 Programmable Temperature Controller...
Page 45
• Relay: For the best possible security, the output should be routed through one of the four relays (A, B, C, or D) and the Relay button should be set to A, B, C, or D accordingly. The relay will physically disconnect the heater whenever the alarm is beeping. PTC10 Programmable Temperature Controller...
Page 46
Operation 30 30 • Min: If the PTC10 is controlling a thermoelectric cooler, set the min to the lower temperature limit of your system. Otherwise, this value should be set well below the lowest temperature that could normally be produced, so that the min setting can only be exceeded if something is wrong with the sensor.
Page 47
If the outputs are disabled, turn them on by pressing the “Output Enable” key twice. The red Output Enable LED turns on and the PTC10 beeps (if pressed again, the Output Enable key immediately turns all the PTC10’s outputs off; inputs are not affected).
Plug the storage device into the PTC10, and the PTC10 automatically loads the files. If you are using a calibrated Lake Shore sensor, the PTC10 will accept the .dat calibration file included with the sensor. Just rename the file to <channel name>.txt, copy the file into the cal directory of your USB stick, and plug the USB stick into the PTC10.
Page 49
This line indicates that when the measured value is 100 ohms, the PTC10 should show a reading of 0 °C. The displayed value must be expressed in whichever units are declared in the first line of the calibration table, or in Kelvins if no units are declared.
Operation 34 34 the Channel menu. If in doubt, have the PTC10 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.
To create a permanent record of data, or to plot more than an hour of data, the PTC10 can store data on removable USB memory devices such as USB hard drives or flash memory keys. The back panel of the PTC has two plugs for such devices;...
Format of PTC10 log files The PTC10’s log files use a binary data format. The “PTCFileConverter” program, available for download from the SRS website, can convert the binary files to various text formats readable by other programs.
Page 53
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 per channel. At the default 1 second log rate, this limit is reached in about 15 years. PTC10 Programmable Temperature Controller...
Enable key (which will disable all the PTC’s outputs), or by pressing the Channel.Off button. Besides the main system fan, the PTC10 also has an internal fan that periodically turns on to keep the main power supply cool. This fan is unaffected by any user-accessible setting.
How stable is the PTC10’s feedback control? The stability of the PTC10’s feedback is usually limited not by the PTC10 itself but by all the things outside the PTC10: the sample that’s being heated, the heater, and the environment. The key factor is how rapidly the sample can be heated or cooled relative to how rapidly the temperature changes due to environmental factors such as ambient temperature variations.
70°C with a slight overshoot that serves to minimize the settling time. If P is increased to 2 W/°C, the temperature responds more quickly but then overshoots the setpoint by an excessive amount, causing the system to oscillate. PTC10 Programmable Temperature Controller...
Page 57
70° setpoint within the time period shown. Without enough integral gain, temperature errors tend to persist. As an approximate guide, the integral gain should be about one-tenth the proportional gain. PTC10 Programmable Temperature Controller...
Page 58
However, if the derivative gain is too large, it too can produce oscillations — because when the temperature is rising rapidly, derivative feedback reduces the heater output, which causes the temperature to rise more slowly, which makes the derivative feedback increase the heater output, and so on. PTC10 Programmable Temperature Controller...
During automatic tuning, the PTC10 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 PTC10: the relay tuner and the step response tuner.
Page 60
Lag time. The tuner continuously measures how quickly the feedback input changes, (i.e., the slope of the feedback input with respect to time). Tuning ends once the lag period has passed and the most PTC10 Programmable Temperature Controller...
Page 61
If the tuning mode is set to “Auto”, the PTC10 selects the relay tuner if both its high and low outputs are within the heater’s limits; otherwise, it selects the step response tuner. For example, if the output is off (and can’t go negative) when autotuning is started, the step response tuner runs...
D set to zero. Set the step size and lag time. Two controls on the channel setup screen help the PTC10 to separate the effect of the heater from random temperature fluctuations. “Step Y” controls how much the PTC10 increases the heater output, and “Lag”...
Page 63
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. PTC10 Programmable Temperature Controller...
Page 64
• The autotuning algorithm assumes that the temperature is a linear function of heater power. In most cases it isn’t, which means that the results produced by the algorithm may not be perfectly accurate and may need to be manually adjusted. PTC10 Programmable Temperature Controller...
When the PTC10 is logging to a USB memory device, a small white triangle appears in the upper-right corner of all screens; if a USB device is present but the PTC10 is not logging to it, the triangle is drawn in dark blue. If no USB device is present, the triangle doesn’t appear at all. The triangle confirms that the system is logging to USB and can also be used to start and stop USB logging.
PTC10 or unplug the PTC10 from the wall. Press and hold the "Output Enable" key for 3 seconds to put the PTC10 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.
(single, multi, custom, and ponytail). The Plot screen always shows logged data. If, for example, the log interval is set to 10 s, the graph will have a “stairstep” appearance with a step every 10 seconds. PTC10 Programmable Temperature Controller...
Page 68
Each channel is shown in its own graph with an independent Y axis. If more than eight channels are selected, only the first eight are shown. In multi plot mode, each sensor gets its own graph. The X scale is the same for all 3 graphs, but the Y scale is different. PTC10 Programmable Temperature Controller...
Page 69
Using the ponytail plot does not affect how channel values are logged; the offsets are only applied to the plots, not to the log files. In ponytail plot mode, all traces are offset so that they start at zero. PTC10 Programmable Temperature Controller...
Page 70
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. How to change the X axis scale How to pan the graph horizontally PTC10 Programmable Temperature Controller...
Page 71
Operation 55 55 By default, the PTC10 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.
The Program screen has an Input window, which shows text received over RS-232 or GPIB; a Messages window, which shows responses and error messages from the PTC10; and a Progress window, which shows the list of instructions that make up the current program.
Page 73
GPIB port. Each line of text sent to the PTC10 is run as a separate program (the entire program must be on a single line). If two or more lines are sent to the PTC10 in quick succession, the programs may run concurrently; that is, the PTC10 does not finish running the first program before beginning the second.
Page 74
“Progress” window is now a left square bracket. Touch the Progress window again, anywhere beneath the first line. The list of possible instructions appears. Select “program.” from the list. Touching this button brings up a list of PTC10 Programmable Temperature Controller...
Page 75
Select “print”. An alphanumeric input screen appears where you can enter an argument for the “program.print” instruction. Type “hello”. Touch the OK button. You are returned to the Program screen and the instruction “program.print “hello”” appears in the second line of the Progress window. PTC10 Programmable Temperature Controller...
Page 76
Messages window. Once the program is finished you can press the start button to run the program again, the “Save” button to save the program, or the “Clear” button to erase the program and the Messages window. PTC10 Programmable Temperature Controller...
I/O ports, and macros started from the Program screen). If an eleventh macro is started, a “Too many macros” assembly error is generated and the macro does not run. If the PTC10 is turned off and turned back on again, macros that were running when the PTC10 was turned off are not restarted.
Page 78
The Cycle instruction sets the on/off cycle time. Shortening the cycle period will reduce temperature swings associated with switching the current on and off, but will also reduce the lifetime of the relay. The cycle time must be between 1 and 240 seconds inclusive. PTC10 Programmable Temperature Controller...
Page 79
If the A/D rate is set (for example) to 1000 ms, the algorithm only changes the TEC output current once each second and the output current therefore changes in discrete steps, each of which may exceed the desired slew rate. PTC10 Programmable Temperature Controller...
Page 80
This value should be a few degrees above room temperature, (i.e., 25°C). Reducing the maximum PCB temperature results in tighter regulation of the PTC10’s internal temperature, particularly of the selected card, at the expense of more fan noise.
Page 81
The list of available sensor types varies with the I/O card. Changing the sensor type has three effects. First, it changes the calibration curve that the PTC10 uses to convert raw sensor readings into temperature. Second, changing the sensor type may affect how the PTC hardware acquires data from the sensor.
Page 82
The Polarity setting ensures that the relays are in an acceptable state when the PTC10 is switched off. When the Polarity is 0, the relays revert to the “alarm off” state when the PTC10 is switched off. When the Polarity is 1, they revert to the “alarm on” state.
Page 83
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 PTC10’s relays and the relay associated with the alarm. Without such a safety mechanism, it’s possible for the PTC10 to enter a “runaway feedback”...
Page 84
25°C. Thermistors from Omega, Measurement Specialties, Inc. (formerly YSI), and others that conform to the same calibration curve are supported. Note that unlike RTDs and thermocouples, there are no international standards for thermistors. Therefore, thermistors from PTC10 Programmable Temperature Controller...
Page 85
Operation 69 69 different companies may not be compatible with each other or with the PTC10’s built-in calibrations even though they have the correct resistance at 25°C. Diodes: Choose from the list of commercial cryogenic diodes. See the description of the PTC320 I/O card on page 2 for more information on standard diode calibrations.
Page 86
In “Follow” mode, this value is subtracted from the input. Thus, when the input is equal to this value, the output is zero. In follow mode, the output is determined by the equation: Output = (Input – Zero pt)Gain PTC10 Programmable Temperature Controller...
Page 87
If Ramp is set to zero, ramping is disabled and the PTC10 heats or cools your system at the maximum possible rate.
Page 88
Whenever the feedback parameters change (for example, if the feedback is tuned), the selected zone is automatically updated with the new values. To have the PTC10 automatically select zones based on the temperature, assign each zone a minimum temperature using the “Min” column of the memory table. The min temperatures can be in any order;...
Page 89
PID loop. To use cascade feedback, select one of the PTC10’s virtual channels (V1, V2, or V3) and then press the “Channel” key. Make sure the direction of the channel is “Set out” or “Meas out”, and then touch the button labeled “Casc”.
A macro button appears to be selected whenever a macro with the name shown on the button is running. Touching a selected macro button stops all currently-running macros with that name. See the Macro Names topic in the Remote Programming section for more information on macro names. PTC10 Programmable Temperature Controller...
Page 91
In this case, the Plot screen only shows at most an hours’ worth of data. If set to “none”, the PTC10 does not store data at all, and the plots on the Plot screen are always empty.
Page 92
In “medium” mode, the PTC10 also sends an error message if an instruction could not be processed (error messages always begin with “Error”). In “high” mode, the PTC10 also sends a message in response to each instruction that sets or gets a parameter, and the message includes the parameter name.
Page 93
The elapsed time is reset to zero once per minute, hour, or day, depending on the X range of the graph. Absolute X labels PTC10 Programmable Temperature Controller...
Page 94
Date The system date. Changing the date can affect the display of previously-acquired data; see the “Time” entry above. About Displays a text box with information about the firmware version and installed I/O cards. PTC10 Programmable Temperature Controller...
Page 95
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. PTC10 Programmable Temperature Controller...
4. The PTC10 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 PTC10 off and back on again to start using the new firmware.
2. Remove the four black screws that secure the top cover. Lift the cover off of the instrument. 3. Looking at the front of the PTC10, the battery should be clearly visible. It is a 20 mm diameter coin cell located 8 inches directly behind the LCD screen. The PTC10 only has one battery.
All of these ports are always enabled and accept the same commands. In addition, the front panel controls are always enabled. To control the PTC10 remotely, you transmit lines of ASCII text to one of its ports. No action is taken until one of the following end-of-line characters is received: •...
Page 100
If the RS-232 interface does not respond at all, make sure the baud rate is set correctly and also make sure that each line of text sent to the PTC10 ends with a linefeed character (decimal 10 = hex 0x0a = ‘\n’). The System.COM.History window can sometimes help to debug communication issues.
Page 101
On Linux systems, the Gadget Serial Driver can be used to communicate with the PTC10. If the PC does not register the presence of the PTC10, unplug the USB cable and plug it back in. In addition, if the PTC10 is turned off and back on again while the PC application is running, the application must be closed and re-opened before it can communicate with the PTC10.
Remote Programming 86 86 2. Enter a suitable IP address into the PTC10's System menu. The IP address should be within your computer’s subnet. If you’re testing a direct connection (i.e. nothing else is connected to the network), try using your computer’s IP address, but change the last digit.
Low, a message is placed on the error queue. Concurrent macros A macro can run for a long period of time or even indefinitely. When the PTC10 receives a macro over an I/O port, the new macro may start running before the previous macro has finished.
Spaces are optional in all instructions that include a space. Omitting the spaces eliminates the need for quotation marks around instructions. However, spaces are required in arguments. For example: "Out 1.IO type" = "meas out" is equivalent to... PTC10 Programmable Temperature Controller...
Page 105
“List” on its own prints out a list of top-level menus. A question mark after the “.list” query is optional. The .list suffix is only available for instructions that set some sort of variable and is not available for program flow instructions such as if, while, abort, and kill. PTC10 Programmable Temperature Controller...
Page 106
4A is between 39 and 41 degrees: while (4A < 39 || 4A > 40) { pause 1 s } The pause instruction is not necessary, but it helps to reduce the load on the CPU. PTC10 Programmable Temperature Controller...
Page 107
Conversely, a channel name (or any other conditional term) can be preceded with a pound sign (#) to force the PTC10 to treat it as a query. The pound sign is required if you’ve changed a channel name to a numeric value that don’t contain any letters. For example, if you’ve renamed one of the I/O channels “2”, this statement:...
When #<variable> is used as an argument, a question mark can optionally be added after the variable name to indicate that the variable is being queried: #y=5 Out1=#y? Variables can be used within conditional statements. The macro: PTC10 Programmable Temperature Controller...
Page 109
"In 1", "units = °C 0, 100.00, 10, 103.90, 20, 107.79, 30, 111.67" The next time the PTC10 is powered down or rebooted, the custom calibration table will be forgotten and the channel will revert back to its most recently used built-in calibration.
Page 110
Returns a single comma-separated string containing the names of all channels. getOutput.units Returns a single comma-separated string containing the units of all channels. group { 1, 2, 3, 4 } Changes the channel selection group. PTC10 Programmable Temperature Controller...
Page 111
Indicates how many seconds have elapsed since the user last touched the touchscreen or pushed a button. If the user has not touched the touchscreen or a button since the PTC was turned on, the return value indicates how many seconds have elapsed since the PTC10 finished booting. <macro name>...
Register. When an alarm is tripped, the channel’s bit in the Alarm Status Register is set. The bit is not cleared when the alarm turns off. Use the <channel>.alarm.mask instruction to determine which bit a particular channel is associated with. *CLS Clear Status. Sets all status registers to zero, disabling all standard events. PTC10 Programmable Temperature Controller...
Page 113
*EMC? queries whether macros ar(.s enabled and returns either 0 (macros disabled) or 1 (macros enabled). Since the state of the *EMC control does not persist when the PTC10 is rebooted, macros are always enabled when the PTC10 is turned *ESE <integer>...
Page 114
Most PTC10 instructions are non-overlapping; that is, each instruction is fully processed before the next instruction in the macro is begun. The exceptions are PID autotuning (i.e., <channel>.PID.tune.mode) and ramp-to-setpoint (the <channel>.setpoint, if <channel>.ramp...
Page 115
The amount of time that it takes to process this command is twice the value of the “A/D rate” setting. After receiving a trigger command, the PTC10 stops automatically acquiring data. The inputs are only read, and PID feedback loops only update their outputs, when a *TRG or GET message is received.
A single macro cannot both define a macro and call it, because submacro calls are expanded before the parent macro runs. Example: define Hello([print "Hello world!" pause 1 second]3) The macro “Hello” can now be run by issuing the remote command: PTC10 Programmable Temperature Controller...
Page 117
2 s print world! prints the word “hello” on the program screen and also transmits “hello” to the serial port that the command was received from. After two seconds, the macro prints and sends the “world!”. The PTC10 Programmable Temperature Controller...
Page 118
“run” instruction. standby Puts the PTC10 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.
{ Auto, Manual } If set to Auto, any time a memory device is plugged into one of the PTC10’s USB ports, the PTC automatically begins logging to it. If set to Manual, each time a USB device is plugged in, a “system.log.log to”...
Page 120
High System.IP submenu system.IP.Address <string> Sets the PTC10'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 zero.
Page 121
22°F was recorded. If the units are set to “Sensor”, thermocouple readings are shown in millivolts and RTD and thermistor readings are shown in ohms, and custom calibration tables are ignored (see the “Custom calibration” section). PTC10 Programmable Temperature Controller...
Page 122
Different arguments are available depending on whether the line frequency is 50 or 60 Hz. If the “Trigger source” jumper on the PTC10’s motherboard is moved to the “1 MHz clock” position, the A/D sampling can set to any value between 10 and 1000 ms.
μ character on a PC. If “auto” is selected, the excitation current is set at every ADC conversion according to the measurement range or sensor resistance; see page 63 for a description of how the auto excitation current is determined. PTC10 Programmable Temperature Controller...
Page 124
If the argument is a valid channel name, the value of the virtual channel is updated with the value of the argument channel each time an ADC conversion occurs. To exit follow mode, issue the Follow instruction with an empty argument. PTC10 Programmable Temperature Controller...
Page 125
Changes the name of this channel. A macro cannot change a channel’s name and then use the new name to set or get the channel’s parameters. This is because the PTC10 checks the syntax of a macro before the macro runs. Since the channel’s name hasn’t been changed at this point, the PTC10 will produce an “unrecognized instruction”...
Page 126
Select “ROX” for a ruthenium oxide sensor. E, J, K, N, and T refer to thermocouple types. Since the PTC10’s thermocouple input hardware determines which type of thermocouple can be read, the thermocouple type can be queried but not changed with the Sensor instruction.
Page 127
If the indicated channel is an output, <channel>.value changes the channel’s output value. Regardless of whether the channel is an input or an output, <channel>.value? returns the current value of the channel. Attempting to set its value of an input channel produces a run-time error. PTC10 Programmable Temperature Controller...
Page 128
“NaN” (not a number). For input channels and measured output channels, the current value reported by the PTC10 is the most recent ADC reading (after being calibrated and filtered). 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 129
<channel>.alarm.sound { None, 1 beep, 2 beeps, 3 beeps, 4 beeps } Controls which sound plays if the alarm goes off. <channel>.cal submenu All <channel>.cal.* instructions are only available for input channels. PTC10 Programmable Temperature Controller...
Page 130
P, I, and D are the derivative gains, e is the error (the difference between the setpoint and the PID input signal) at time t, and T is the ADC sampling time. Thus, larger values of P, I, or D PTC10 Programmable Temperature Controller...
Page 131
However, if the feedback parameters are already known, they can be loaded into the table with a macro such as the following: Out1.PID.Zone 1 ' select the first line of the table PTC10 Programmable Temperature Controller...
Page 132
Ramp temperature. The ramp temperature is an internally-generated setpoint for the PID feedback loop; it is the temperature that the PTC10 is trying to maintain at the present moment. If the feedback is not running, the ramp temperature always equals the sensor temperature, since the PTC10 has no control over the sensor temperature when the feedback is not running.
Page 133
Out1.PID.RampT = #Out1.PID.setpoint tells the PTC10 to stop gradually ramping the temperature and instead proceed as quickly as possible to the setpoint. On the other hand, Out1.PID.setpoint = #Out1.PID.RampT stops ramping by freezing the temperature at its current value.
(thus, the assembled macro only contains native instructions). The assembled macro cannot be longer than 1024 lines. -200 – -299: runtime errors Produced after the macro starts running. After a runtime error occurs, the macro continues to run. PTC10 Programmable Temperature Controller...
RAM or in a “Macros” folder on an attached USB storage device, it is automatically run. For example, the following remote command defines a startup macro that displays a message each time the PTC boots up: define Startup(popup "Power has cycled") PTC10 Programmable Temperature Controller...
Remote Programming Sample macros The sample macros are shown on multiple lines for clarity, but if they are sent to the PTC10 via the RS-232, GPIB, USB, or Ethernet port, each macro must be formatted as a single line, otherwise each line will be treated as a separate macro.
3A reads less than 50 degrees, channel 3A is selected as the PID input; otherwise, channel 3B is the PID input. pause 1 s if (3A<50 && Out1.PID.input==$3B) { Out1.PID.input = 3A } if (3A>50 && Out1.PID.input==$3A) { Out1.PID.input = 3B } PTC10 Programmable Temperature Controller...
With a macro, the virtual channel can likewise be made to echo any PTC10 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”...
If the $ prefix were left out, the statement would attempt to compare the name of the PID input channel to the value of channel 3A, rather than to the string “3A”. PTC10 Programmable Temperature Controller...
The following procedure transforms the output of a PID feedback loop into a variable duty cycle square wave that can be output on the PTC10’s digital IO lines and used to drive a solid state relay. The macro works well as long as a period of about 10 seconds or longer and a resolution of 0.1 seconds is acceptable.
Page 141
Remote Programming Remote Programming Remote Programming Remote Programming The macro can automatically run every time the PTC10 is turned on; just send the command “define Startup (...)”, replacing the ... with the macro contents. PTC10 Programmable Temperature Controller...
PC Applications PC applications SRS offers a package of PC applications for displaying PTC10 logfiles and converting them to 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 PTC log files to the .exe icons.
The Timestamp setting is ignored when binary output files are produced. Timestamp When converting data to a text or HTML file, this setting determines how the time of each data point is recorded: PTC10 Programmable Temperature Controller...
Page 145
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. PTC10 Programmable Temperature Controller...
Opens a window that controls the appearance of the graph. Click “Apply” to update the graph with the new settings; “OK” to update the graph and close the window; “Cancel” to undo all changes since the last time the graph was updated and close the window. PTC10 Programmable Temperature Controller...
Page 147
• Antialias: if checked, the plot is drawn with antialiased lines. This improves the appearance of the graph but also significantly increases the amount of time that it takes to draw the graph. PTC10 Programmable Temperature Controller...
(i.e., a buffer) and do not affect log files on disk. When you select an item from the process menu, a dialog may appear asking which of the currently-plotted buffers you’d like to apply the operation to. PTC10 Programmable Temperature Controller...
Page 149
Average plotted buffers Replaces the contents of whichever buffer is plotted in black with the average of all plotted buffers. Copy Creates a new buffer that contains a copy of all data from an existing buffer. PTC10 Programmable Temperature Controller...
Undoes the last operation performed with the Process menu. Special menu This contents of this menu are defined in the file Resource\SpecialMenu.rsc. Each item in the menu is the name of a macro which is located in the Resource directory. PTC10 Programmable Temperature Controller...
Page 151
Adds a 50-pixel-tall graph with no X axis labels above the current graph. Add large header Adds a 100-pixel-tall graph with no X axis labels above the current graph. Remove headers Removes all graphs except for the bottom graph. PTC10 Programmable Temperature Controller...
PC Applications PC Applications PC Applications PC Applications Command line and macro instructions PTC10 Programmable Temperature Controller...
Page 153
= buffer1 * buffer2 mpyx " buffer ", 0.0 multiply by constant: buffer = buffer * constant normalizes a buffer, i.e. performs linear scaling such that all y values are between 0 norm " buffer " and 1 PTC10 Programmable Temperature Controller...
Page 154
Sets the X-axis label to "date Time " (date and time), "elapsed Time " (elapsed time), or xLabel " state " "off" (none), yLabel " text " Label the Y axis of the graph with the indicated text PTC10 Programmable Temperature Controller...
Circuit Description Circuit description Each of the PTC10’s circuit boards has a 4-digit model number, i.e. “PTC2104”. The first number indicates the general type of board (2=core system board, 3=input card, 4=output card, 5 = input and output card). The second and third numbers indicate the specific type of board. The last number, which is sometimes omitted, indicates the revision.
50 pF. A 4 MB flash chip (U202) stores the PTC10’s software. When the instrument is first switched on, a bootloader program copies the firmware from flash into SDRAM, after which the flash is no longer used.
Page 157
C27–C28: +5V. Powers the Atmel microcontrollers and all other digital components on the I/O cards. A25–A26, B25–B26, C25–C26: +24V. Connects directly to the PTC10’s 24V “brick” power supply. Used for all high-current outputs. A23–A24, B23–B24, C23–C24: 24VR. Ground return for the +24V supply.
Page 158
C21: MOSI (Master out, slave in). C22: MISO (Master in, slave out). UART Connected to the PTC10’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).
+5V supply, while the other CPU bus components use a +3.3V supply, 5V-tolerant transceivers are needed to interface the chip with the CPU bus. A glue logic chip, U160, resolves incompatibilities between the GPIB’s data bus and the CPU bus. PTC10 Programmable Temperature Controller...
ADC input buffers: These FET-input op amps isolate the signal and reference resistors from the current produced or drawn by the ADC input pins. The buffers are equipped with RC networks that allow them to drive 1 μF capacitors. PTC10 Programmable Temperature Controller...
25 and 35 degrees C. The microcontroller continuously monitors the circuit board temperature and interpolates between the two calibrations as necessary. The output of the PTC321 is an accurate resistance value; the PTC’s main processor is responsible for converting that value to a temperature. PTC10 Programmable Temperature Controller...
Cold junction temperature measurement is accomplished with an RTD and a circuit similar to the PTC321, except the direction of the excitation current cannot be reversed. PTC10 Programmable Temperature Controller...
(pin 3) is connected to +5V and the current source is disabled. When the control voltage is low, pin 3 is connected to the output of U233 and the current source is enabled. The switch is somewhat sensitive to damage from static discharge. PTC10 Programmable Temperature Controller...
(2A in this case), the output is 4.0 V. Switch U290A enables or disables the 2A current source. When the control voltage at pin 1 is high, the switch output (pin 3) is connected to +5V and the current source is disabled. When the PTC10 Programmable Temperature Controller...
Step-down regulator: a variable-voltage power supply for the current source, switching regulator U320 steps the PTC10’s 24V supply from 24V down to 3, 6, 9, or 12V. Current monitor: the 0.05 ohm current sense resistor R240 is used to monitor the current passing through the TEC.
The ADC’s BUSY signal, which is high while the ADC is performing a conversion, is also connected to the microcontroller through an optoisolator; this signal tells the microcontroller when an ADC conversion is complete and without it the microcontroller freezes up. PTC10 Programmable Temperature Controller...
The DIO card also includes four non-latching relays, K401–K404. Each relay is double throw Pins 2, 3, and 4 serve as a monitoring relay. If the monitoring relay fails to switch as expected, XOR gates U410 notify the microcontroller by pulling one of OUT1MON, OUT2MON, etc. high. PTC10 Programmable Temperature Controller...
Page 174
U 110 3-01345-360 74ABT541CSC Integrated Circuit (Surface Mount Pkg) U 120 3-01346-360 74HC4040M Integrated Circuit (Surface Mount Pkg) U 130 3-00795-360 74AC138 Integrated Circuit (Surface Mount Pkg) U 140 3-01498-360 74ABT16245CMTD Integrated Circuit (Surface Mount Pkg) PTC10 Programmable Temperature Controller...
D 302 3-00926-360 MBR0540T1 Integrated Circuit (Surface Mount Pkg) D 341 3-00626-301 MUR1100E Diode IS350 3-00446-340 6N137 Integrated Circuit (Thru-hole Pkg) J 101 1-00251-130 10 PIN DIL Connector, Male J 106 1-00166-130 60 PIN DIL Connector, Male PTC10 Programmable Temperature Controller...
Page 176
U 102 3-01498-360 74ABT16245CMTD Integrated Circuit (Surface Mount Pkg) U 201 3-01215-360 MAX1234EGI Integrated Circuit (Surface Mount Pkg) U 202 3-00741-360 74HC04 Integrated Circuit (Surface Mount Pkg) U 203 3-01216-360 HEF4794BTD Integrated Circuit (Surface Mount Pkg) PTC10 Programmable Temperature Controller...
Page 187
U 520 3-01500-360 LTC2440CGN Integrated Circuit (Surface Mount Pkg) U 560 3-00814-360 78M05 Integrated Circuit (Surface Mount Pkg) U 610 3-01322-360 LT1425CS Integrated Circuit (Surface Mount Pkg) U 621 3-00114-329 7815 Voltage Reg., TO-220 (TAB) Package PTC10 Programmable Temperature Controller...
D 211 3-00403-301 1N459A Diode D 212 3-01253-313 B270-13 Diode, SMT D 214 3-00626-301 MUR1100E Diode F 221 6-00644-611 1A 60V Fuse J 111 1-00251-130 10 PIN DIL Connector, Male J 201 0-01097-035 571-0100 Banana jack PTC10 Programmable Temperature Controller...
SMT Ceramic Cap, all sizes C 215 5-00601-578 0.1UF - 16V X7R SMT Ceramic Cap, all sizes C 216 5-00627-578 0.1U X 4 SMT Ceramic Cap, all sizes C 217 5-00601-578 0.1UF - 16V X7R SMT Ceramic Cap, all sizes PTC10 Programmable Temperature Controller...
PTC520 Digital IO card Distribution in the UK & Ireland Lambda Photometrics Limited Lambda House Batford Mill Harpenden Herts AL5 5BZ United Kingdom Characterisation, info@lambdaphoto.co.uk Measurement & W: www.lambdaphoto.co.uk +44 (0)1582 764334 Analysis +44 (0)1582 712084 PTC10 Programmable Temperature Controller...
Need help?
Do you have a question about the PTC10 and is the answer not in the manual?
Questions and answers