11//
22// FILE: MAX31855.h
33// AUTHOR: Rob Tillaart
4- // VERSION: 0.1.05
4+ // VERSION: 0.1.06
55// PURPOSE: MAX31855 - Thermocouple
66// DATE: 2014-01-01
77// URL:
1717#include " Arduino.h"
1818#endif
1919
20- #define MAX31855_VERSION " 0.1.05 "
20+ #define MAX31855_VERSION " 0.1.06 "
2121
2222#define STATUS_OK 0x00
2323#define STATUS_OPEN_CIRCUIT 0x01
2424#define STATUS_SHORT_TO_GND 0x02
2525#define STATUS_SHORT_TO_VCC 0x04
2626#define STATUS_NOREAD 0x80
2727
28+ // Thermocouples working is based upon Seebeck effect.
29+ // Different TC have a different Seebeck Coefficient (µV/°C)
30+ // From http://www.analog.com/library/analogDialogue/archives/44-10/thermocouple.html
31+ //
32+ // As the MAX31855 is designed for K type sensors, one can calculate
33+ // the factor needed to convert other sensors measurements.
34+ //
35+ // E_TC = 61 => 41/61 = 0.6721311475
36+ // J_TC = 52 => 41/52 = 0.7884615385
37+ // K_TC = 41 => 41/41 = 1
38+ // N_TC = 27 => 41/27 = 1.5185185185
39+ // R_TC = 9 => 41/9 = 4.5555555556
40+ // S_TC = 6 => 41/6 = 6.8333333333
41+ // T_TC = 41 => 41/41 = 1
42+
43+ #define E_TC 0.6721311475
44+ #define J_TC 0.7884615385
45+ #define K_TC 1
46+ #define N_TC 1.5185185185
47+ #define R_TC 4.5555555556
48+ #define S_TC 6.8333333333
49+ #define T_TC 1
50+
2851
2952class MAX31855
3053{
@@ -36,11 +59,18 @@ class MAX31855
3659
3760 double getInternal (void ) const { return _internal; };
3861 double getTemperature (void ) const { return _temperature; };
62+ double getTemperatureE (void )const { return _temperature * E_TC; };
63+ double getTemperatureJ (void )const { return _temperature * J_TC; };
64+ double getTemperatureK (void )const { return _temperature * K_TC; };
65+ double getTemperatureN (void )const { return _temperature * N_TC; };
66+ double getTemperatureR (void )const { return _temperature * R_TC; };
67+ double getTemperatureS (void )const { return _temperature * S_TC; };
68+ double getTemperatureT (void )const { return _temperature * T_TC; };
3969
4070 uint8_t getStatus (void ) const { return _status; };
4171
42- void setOffset (const double t) { _offset = t; };
43- double getOffset () const { return _offset; };
72+ void setOffset (const double t) { _offset = t; };
73+ double getOffset () const { return _offset; };
4474
4575private:
4676 uint32_t _read ();
0 commit comments