Thermocoupler Calibration

Hannah Chu

2018-06-11

Back to main page

General info and notes before starting

  • To calibrate the Omega HH506RA, press “SET[]” and “[OFS]” to open up adjustment screen. On that screen adjust for the difference (+/-) in the actual temperature value and measured value using 25ÂșC as the base number.

Materials

  • ExTech Thermocoupler Easyview 15
  • Omega Thermocoupler HH506RA
  • T1 and T2 thermocouple attachments (comes with thermocoupler)
  • Mercury Thermometer

Method

  1. Plug in T1 and T2 attachments into ExTech the Easyview 15 Thermocoupler.
  2. Remove any tubes the attachments may be in, and place the attachments into the waterbath.
  3. Use mercury thermomemeters (wide range 0-50ÂȘC and narrow range 0-200ÂșC) as the reference to ensure the reported water bath temperature is accurate
  4. Measure the temperature in ice for 3 minutes
  5. Then measure the temperature in 5ÂșC intervals from 25-50ÂșC using the thermocouples and mercury thermometers.

ExTech Thermocoupler Easyview 15

ExTech Easyview 15 Thermocoupler

ExTech Easyview 15 Thermocoupler

Manual

Website

Catalog No. EA15
#settemp values are the values the water bath set temperatures
#T1 is thermocouple 1 and T2 is thermocouple 2
#wide is the wide range mercury thermometer readings and narrow is the narrow range mercury thermometer readings

settemp<- c(0, 25, 30, 35, 40, 45, 50)
T1 <- c(0.7, 24.2, 29.1, 34.1, 39.2, 44.2, 49.1)
T2 <- c(1, 23.9, 28.7, 33.8, 38.8, 43.9, 48.7)
wide <- c(0, 25.05, 30, 35, 40, 45, 50)
narrow <- c(0.2, 25.1, 30, 35, 40, 45, 50)

#Fitting to a linear model based on each thermocouple
fit<-lm(narrow~T1)
summary(fit)
## 
## Call:
## lm(formula = narrow ~ T1)
## 
## Residuals:
##        1        2        3        4        5        6        7 
## -0.35154  0.42319  0.29281  0.15977 -0.07593 -0.20896 -0.23934 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.16709    0.28604  -0.584    0.584    
## T1           1.02661    0.00821 125.041  6.2e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3227 on 5 degrees of freedom
## Multiple R-squared:  0.9997, Adjusted R-squared:  0.9996 
## F-statistic: 1.564e+04 on 1 and 5 DF,  p-value: 6.205e-10
(plot(T1, narrow, main = "ExTech") + abline(fit))

## integer(0)
fit2<-lm(narrow~T2)
summary(fit2)
## 
## Call:
## lm(formula = narrow ~ T2)
## 
## Residuals:
##        1        2        3        4        5        6        7 
## -0.50634  0.56862  0.47472  0.16871 -0.03326 -0.33928 -0.33318 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.33406    0.41007  -0.815    0.452    
## T2           1.04039    0.01188  87.588 3.68e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4606 on 5 degrees of freedom
## Multiple R-squared:  0.9993, Adjusted R-squared:  0.9992 
## F-statistic:  7672 on 1 and 5 DF,  p-value: 3.677e-09
(plot(T2, narrow, main = "ExTech") + abline(fit2))

## integer(0)

Omega Thermocoupler HH506RA

Omega HH506RA Thermocoupler

Omega HH506RA Thermocoupler

Manual

Website

Model No. HH506RA
#settemp values are the values the water bath set temperatures
#T1o is thermocouple 1 and T2o is thermocouple 2
#wide is the wide range mercury thermometer readings and narrow is the narrow range mercury thermometer readings

settemp<- c(0, 25, 30, 35, 40, 45, 50)
T1o <- c(-12.6, 25, 32.7, 40.3, 47.9, 55.4, 64.6)
T2o <- c(0, 25, 30, 35, 40.1, 45.2, 51.5)
wide <- c(0, 25.05, 30, 35, 40, 45, 50)
narrow <- c(0.2, 25.1, 30, 35, 40, 45, 50)

#Fitting to a linear model based on each thermocouple
fito<-lm(narrow~T1o)
summary(fito)
## 
## Call:
## lm(formula = narrow ~ T1o)
## 
## Residuals:
##        1        2        3        4        5        6        7 
## -0.25446  0.18971  0.08147  0.13827  0.19507  0.31691 -0.66696 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 8.649766   0.261893   33.03 4.78e-07 ***
## T1o         0.650421   0.006074  107.08 1.35e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.3768 on 5 degrees of freedom
## Multiple R-squared:  0.9996, Adjusted R-squared:  0.9995 
## F-statistic: 1.147e+04 on 1 and 5 DF,  p-value: 1.347e-09
(plot(T1o, narrow, main = "Omega") + abline(fito))

## integer(0)
fit2o<-lm(narrow~T2o)
summary(fit2o)
## 
## Call:
## lm(formula = narrow ~ T2o)
## 
## Residuals:
##       1       2       3       4       5       6       7 
## -0.3306  0.1441  0.1591  0.2741  0.2913  0.3086 -0.8466 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   0.5306     0.4135   1.283    0.256    
## T2o           0.9770     0.0115  84.961 4.28e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.4748 on 5 degrees of freedom
## Multiple R-squared:  0.9993, Adjusted R-squared:  0.9992 
## F-statistic:  7218 on 1 and 5 DF,  p-value: 4.281e-09
(plot(T2o, narrow, main = "Omega") + abline(fit2o))

## integer(0)

Overview

4-panel comparing the linear regression of each thermocouple

4-panel comparing the linear regression of each thermocouple

layout(matrix(c(1,2,3,4), 2, 2, byrow = TRUE))

Calculating the offset using 0ÂșC as the base

  • The offset is the actual temperature value - measured temperature value (difference between the actual value and measured value)
  • Longer bars indicate inaccurate measured values
#Calculate the offset values for each thermocoupler and thermocouple
#oT1 and oT2 refer to Omega and eT1 and eT2 refer to ExTech
eT1 <- c(0.7, 24.2, 29.1, 34.1, 39.2, 44.2, 49.1)
ExTechT1 <- (settemp-eT1)
eT2 <- c(1, 23.9, 28.7, 33.8, 38.8, 43.9, 48.7)
ExTechT2 <- c(settemp-eT2)
oT1 <- c(-12.6, 25, 32.7, 40.3, 47.9, 55.4, 64.6)
OmegaT1 <- c(settemp-oT1)
oT2 <- c(0, 25, 30, 35, 40.1, 45.2, 51.5)
OmegaT2 <- c(settemp-oT2)

#Create barplot
library(ggplot2)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
offsets <- c(ExTechT1, ExTechT2, OmegaT1, OmegaT2)
df<-data.frame(settemp, ExTechT1, ExTechT2, OmegaT1, OmegaT2)
df
##   settemp ExTechT1 ExTechT2 OmegaT1 OmegaT2
## 1       0     -0.7     -1.0    12.6     0.0
## 2      25      0.8      1.1     0.0     0.0
## 3      30      0.9      1.3    -2.7     0.0
## 4      35      0.9      1.2    -5.3     0.0
## 5      40      0.8      1.2    -7.9    -0.1
## 6      45      0.8      1.1   -10.4    -0.2
## 7      50      0.9      1.3   -14.6    -1.5
library(tidyr)
df.long<-gather(df,therm,offset,ExTechT1:OmegaT2)

#ggplot(df.long,aes(x=settemp,y=offset,colour=therm))+geom_point()
## Complete barplot
ggplot(df.long,aes(x=settemp,y=offset,fill=therm))+geom_bar(stat="identity",position="dodge")

## setting limits of the y axis to hone in values around 0
ggplot(df.long,aes(x=settemp,y=offset,fill=therm))+geom_bar(stat="identity",position="dodge")+coord_cartesian(ylim=c(-2,1.4))