8
8
9
9
# MS5611
10
10
11
- Arduino library for MS5611 temperature and pressure sensor.
11
+ Arduino library for MS5611 pressure ( and temperature) sensor.
12
12
13
13
14
14
## Description
15
15
16
- The MS5611 is a high resolution temperature and pressure sensor a.k.a GY-63.
16
+ The MS5611 is a high resolution pressure ( and temperature) sensor a.k.a GY-63.
17
17
The high resolution is made possible by oversampling many times.
18
18
19
19
The device address is 0x76 or 0x77 depending on the CSB/CSO pin.
@@ -24,6 +24,28 @@ An experimental SPI version of the library can be found here
24
24
- https://github.com/RobTillaart/MS5611_SPI
25
25
26
26
27
+ #### Self heating
28
+
29
+ In some configurations especially when using SPI the sensor showed a self heating.
30
+ First this was approached as a problem, so investigations were done to understand the
31
+ cause and how to solve it. During this process the view changed of seeing the higher
32
+ temperature as a problem to being the solution.
33
+
34
+ The sensor is primary a pressure sensor and if it is heated by a cause (don't care)
35
+ it needs compensation. For that the temperature sensor is build in the device.
36
+ Depending on the configuration self heating can be as low as 0.1°C to as high as 10++ °C.
37
+
38
+ ** WARNING** One should ** NOT** use 5V to control I2C address line, SPI select, or
39
+ the protocol select line. This causes extreme heat build up > 10°C.
40
+
41
+ One should only use 3V3 lines for these "selection lines".
42
+
43
+ See also - https://github.com/RobTillaart/MS5611_SPI/issues/3
44
+
45
+ Note: the self heating offset can be compensated with ** setTemperatureOffset(offset)**
46
+ which allows you to match the temperature with the ambient temperature again.
47
+
48
+
27
49
#### Breakout GY-63
28
50
29
51
``` cpp
@@ -178,7 +200,7 @@ Note: this is not an official ID from the device / datasheet, it is made up from
178
200
179
201
#### 2nd order pressure compensation
180
202
181
- - ** setCompensation(bool flag = true)** to enable/desiable the 2nd order compensation.
203
+ - ** setCompensation(bool flag = true)** to enable/desirable the 2nd order compensation.
182
204
The default = true.
183
205
Disabling the compensation will be slightly faster but you loose precision.
184
206
- ** getCompensation()** returns flag set above.
0 commit comments