You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+58-36Lines changed: 58 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,50 +8,79 @@
8
8
9
9
# MAX6675
10
10
11
-
Arduino library for MAX6675 chip for K type thermocouple.
11
+
Max6675 is an Arduino library for MAX6675 chip with a K type thermocouple.
12
12
13
13
The library is based upon (stripped and adapted version of) the https://github.com/RobTillaart/MAX31855_RT library.
14
14
15
-
Experimental as not tested with hardware yet.
15
+
Currently the library is experimental, so use with care.
16
+
17
+
Hardware has finally arrived (April 2022) and I had time to do my first round of tests with an UNO @ 16 MHz. The library works and it reads temperatures well, both with HW SPI and SW SPI.
18
+
16
19
17
20
## Description
18
21
19
-
The MAX6675 is a chip to convert the reading of a K-type thermocouple to a temperature. The MAX6675 only supports positive degrees Celsius.
22
+
The MAX6675 is a chip to convert the reading of a K-type thermocouple to a temperature.
23
+
The MAX6675 only supports positive degrees Celsius.
24
+
25
+
The values are read with an precision of **0.25°C.**
26
+
Typical noise seen during usage are **± 0.5°C**, so using a low pass filter on the temperature might be a good idea.
20
27
21
28
The working of thermocouples (TC) is based upon Seebeck effect.
22
-
Different TC's have a different Seebeck Coefficient (SC) expressed in µV/°C.
29
+
Different TC's have a different Seebeck Coefficient (SC) expressed in µV/°C.
23
30
See http://www.analog.com/library/analogDialogue/archives/44-10/thermocouple.html
24
31
25
-
Library tested with breakout board -
26
32
27
-
```
28
-
TODO
33
+
### Breakout
34
+
35
+
The library is tested with a breakout board with following pins:
29
36
37
+
```
38
+
+---------------------+
39
+
| signal out | --> MISO
40
+
| - chip select | <-- SELECT
41
+
TC here | clock | <-- CLOCK processor side
42
+
| + VCC | --- VCC
43
+
| GND | --- GND
44
+
+---------------------+
30
45
```
31
46
32
47
33
48
## Hardware SPI vs software SPI
34
49
50
+
51
+
### Pins
52
+
35
53
Default pin connections. ESP32 can overrule with **setGPIOpins()**.
@@ -70,7 +100,8 @@ To be used only if one needs a specific speed.
70
100
71
101
-**void setSPIspeed(uint32_t speed)** set SPI transfer rate.
72
102
-**uint32_t getSPIspeed()** returns SPI transfer rate.
73
-
-**void setSWSPIdelay(uint16_t del = 0)** for tuning SW SPI signal quality. Del is the time in micros added per bit. Even numbers keep the duty cycle of the clock around 50%.
103
+
-**void setSWSPIdelay(uint16_t del = 0)** for tuning SW SPI signal quality.
104
+
Del is the time in micros added per bit. Even numbers keep the duty cycle of the clock around 50%.
74
105
-**uint16_t getSWSPIdelay()** get set value in micros.
75
106
76
107
@@ -91,29 +122,17 @@ The function **getStatus()** returns the same status value.
91
122
92
123
Table: values returned from **uint8_t read()** and **uint8_t getStatus()**
0 commit comments