Capgo datalogger, data logger, datalogging and data logging.

  

Sensor Software

 
 

Sensor Support Software

Capgo has developed a range of software for data acquisition while developing hardware products. The software is intended for embedded applications such as data loggers and controllers. Some proprietary software is available for royalty free purchase in the form of well documented standard C / C++ source code. Presently Thermocouple and RTD suites are available.

Thermocouple Support Suite

The Thermocouple Support Suite provides an easy to use function that fully supports 15 thermocouple types:

  • Types B, C, D, E, G, J, K, L, M, N, P, R, S, T and U (NEW: Types L and U added for legacy applications)
  • Linearized over full defined range to ITS-90
  • Very fast and efficient code using multiple spliced low order polynomials
  • Well suited for development environments with single precision floating point support as often found on small 8 and 16 bit micro-controllers
  • Linearization precision exceeds 4 times Class 1 (or Special Grade) accuracy requirements over entire range
  • Reference (cold) junction support over -45°C to +105°C equipment temperature range
  • Extended reference junction support for equipment operation at low temperatures for thermocouple types not formally defined below 0°C
  • Reference junction support to 105°C for high temperature operation as required by water cooled through-process, kiln and harsh environment data loggers
  • Comprehensive error flagging
  • Small memory foot-print - typically 11k bytes
Type Reference Junction Compensation Accuracy Measurement Junction Linearization Accuracy
B ±0.30µV over 25°C to 105°C
± 1.5µV over -45°C to 25°C
±(0.03 + 0.00002 t)°C over 200°C to 1820°C
±0.8°C over 2°C5 to 200°C
C* ±0.60µV over 0°C to 105°C
±10µV over -45°C to 0°C
±(0.03 + 0.000021 t)°C over 0°C to 2315°C
D* ±0.13µV over 0°C to 105°C
±10µV over -45°C to 0°C
±(0.04 + 0.000035 t)°C over 0°C to 2315°C
E ±1.0µV over -45°C to 105°C ±(0.04 + 0.00017 | t |)°C over -270°C to 1000°C
G* ±0.70µV over 0°C to 105°C
±10µV over -45°C to 0°C
±0.2°C over 0 to 2315°C
J ±1.3µV over -45°C to 105°C ±(0.025 + 0.000035 | t |)°C over -210°C to 1200°C
K ±2.2µV over -45°C to 105°C ±(0.1 + 0.00018 | t |)°C over -270°C to 1372°C
L ±1.0µV over -5°C to 105°C
±10µV over -45°C to -5°C
±(0.03 + 0.00013 t)°C over 0°C to 900°C
M* ±0.75µV over -45°C to 105°C ±0.03°C over -50°C to 1410°C
N ±0.40µV over -4°C5 to 105°C ±(0.08 + 0.00017 | t |)°C over -270°C to 1300°C
P* ±0.50µV over 0°C to 105°C
±10µV over -45°C to 0°C
±0.02°C over 0°C to 1395°C
R ±0.40µV over -45°C to 105°C ±0.05°C over -50°C to 1768°C
S ±0.35µV over -45°C to 105°C ±0.04°C over -50°C to 1768°C
T ±1.0µV over -45°C to 105°C ±(0.025 + 0.00013 t)°C over 0°C to 400°C
±(0.025 - 0.00017 t)°C over -270°C to 0°C
U ±1.0µV over -5°C to 105°C
±10µV over -45°C to -5°C
±(0.03 + 0.00013 t)°C over 0°C to 600°C

* Not formally letter designated types
" t " is the temperature being measured in °C and
" | t |" is the a absolute value of the temperature being measured in °C

The principle function that provides thermocouple support is:

int Thermocouple( char cType, float *pfRefTemperature, struct gDataRecord *pData)

where

cType is the single letter thermocouple type designation
pfRefTemperature is a pointer to the measured reference junction temperature in °C
pData is a pointer to a structure containing a member fData that contains the measured thermocouple output in mV. If the input data is valid, the fData data is replaced by the measured temperature in degrees Celsius.

The function returns the status of the conversion, zero if the data is valid, or one of seven error codes if there is a problem with the conversion. Additional status information, including descriptive text, can be placed into the gDataRecord structure if required.

A sample program is included to demonstrate how the function is called.

The hardware requirements include the ability to measure voltages in the -10mV to +80mV range with a resolution of at least 10µV (2µV or better preferred) and an accuracy of 0.1% or better. A reference junction sensor is required with an accuracy of 0.5°C (0.2°C preferred). The reference junction sensor must be in good thermal contact with the reference junctions, preferably utilizing an isothermal block design shielded from heat sources and temperature gradients.

The Thermocouple Software Suite is fast and requires minimal processing resources. It typically requires 70% less processor time than standard algorithms. For example, on a typical 8 bit processor with a 10MHz clock the function execution time is about 35mS. For 32 bit RICS processors with a 100MHz clock the execution time is typically less than 1mS. The speed also depends on the performance of the floating point arithmetic support by the "C" or "C++" compiler. Processors with hardware floating point support are obviously much faster.

Speed is an important issue, even in relatively slow measuring systems. Faster algorithms allow the processor to spend more time on other functions such as communications, control loops, data filtering, alarm management, data storage and user interface support. In battery operated systems, faster algorithms can be translated directly into extending battery life.

RTD Support Suite

The RTD (Resistance Temperature Detector) Support Suite provides high speed precision linearization of five RTD types:

  • Linearized over full defined temperature range to ITS-90
  • Fast and efficient algorithm using multiple spliced low order polynomials
  • Error flagging
  • Small memory foot-print - typically 8k bytes
  • Allows RTDs of any 0°C resistance value that the hardware is able to support
RTD Type Alpha (Ω/Ω/°C) Range (°C) Accuracy (°C)
Platinum (USA) 0.00392 -200 to +660 ±(0.05°C + 0.0004.|t|)
Platinum (European, DIN 43760) 0.00385 -200 to +850 ±(0.05°C + 0.0004.|t|)
Copper 0.00427 -200 to +260 ±(0.1°C + 0.002.|t| )
Nickel 0.00672 -80 to +260 ±(0.1°C + 0.002.|t| )
Nickel-Iron 0.00518 -200 to +205 ±(0.2°C + 0.002.|t| )

"Alpha" is the mean temperature coefficient of the resistance between 0°C and 100°C.
" | t |" is the a absolute value of the temperature being measured in °C.
The linearizations are normalized to the resistance value at 0°C.


The principle function that returns the measured temperature in degrees Celsius is:

int Rtd( int iType, struct gDataRecord *pData)

where

iType is an integer representing the alpha value e.g. 392
pData is a pointer to a structure containing a member fData that contains the ratio of the RTD's measured resistance to the resistance at 0°C. If the input data is valid, the fData data is replaced by the measured temperature in degrees Celsius.

The function returns the status of the conversion, zero if the data is valid, or one of three error codes if there is a problem with the conversion. Additional status information, including descriptive text, can be placed into the gDataRecord structure if required.

A sample program is included to demonstrate how the function is called.

The RTD Support Suite is optimized for speed and processing efficiency. Hardware requirements include the ability to measure resistance or resistance ratios with at least 0.1% accuracy, but 0.01% or better preferred for precision platinum types if full sensor accuracy is to be achieved. Depending on the resistance and accuracy requirements, the hardware is likely to require support for 3-wire and 4-wire measurement methods.

Purchase Details

Media By email  
     
Price Thermocouple Suite for education use on a single platform US$95.00
  Thermocouple Suite for original equipment manufacturers US$950.00
  RTD Suite for education use on a single platform US$35.00
  RTD Suite for original equipment manufacturers US$350.00
  Production and delivery of CD (allow 2 weeks) US$30.00
     
Payment Bank transfer  
     
Product Order Codes Thermocouple Support Suite
RTD Support Suite

TSS-1
RSS-1

     
To Order Contact sales@capgo.com