wasserwiesel
Well-known member
Hello everyone,
I have an MS5611 (barometer) and an IMU, which are both connected to the Teensy's SPI0. (Used cs pins: 6 and 8)
They work properly individually. Together, however, there are many failed measurements at the IMU, regardless of the settings and frequency!
(What you see on both images are the ACC X and Y Angle)
This is the datasheet of the Baro: https://www.te.com/commerce/Documen...3pdfEnglishENG_DS_MS5611-01BA03_B3-pdfPSC
I had the same problem years ago, but via I2C. Back then I solved the problem by using a different I2C port only for the Baro.
But I don't have any more pins available with my circuit and, to be honest, I refuse, because we're talking about a simple bus protocol here!
I'd rather use a different sensor. Surely it cannot be that a company develops a sensor that blocks the SPI bus?!
The problem probably lies here:
Depending on which sensitivity is selected, the Baro needs a few milliseconds until the values are available.
It is precisely during this time that I get the incorrect measurements. According to the data sheet, this should be possible:
I cannot do without IMU measurements during this time.
So what do you recommend me to do? Should I just use a BME388/BME390 or am I doing something totally wrong and there is a way to get both to work together?
Here is a code snippet from my baro request:
(I have also seen in other libraries that they add a delay at this point. But that looks like a bad joke to me !?)
Thanks in advance for your help
I have an MS5611 (barometer) and an IMU, which are both connected to the Teensy's SPI0. (Used cs pins: 6 and 8)
They work properly individually. Together, however, there are many failed measurements at the IMU, regardless of the settings and frequency!
(What you see on both images are the ACC X and Y Angle)
This is the datasheet of the Baro: https://www.te.com/commerce/Documen...3pdfEnglishENG_DS_MS5611-01BA03_B3-pdfPSC
I had the same problem years ago, but via I2C. Back then I solved the problem by using a different I2C port only for the Baro.
But I don't have any more pins available with my circuit and, to be honest, I refuse, because we're talking about a simple bus protocol here!
I'd rather use a different sensor. Surely it cannot be that a company develops a sensor that blocks the SPI bus?!
The problem probably lies here:
Depending on which sensitivity is selected, the Baro needs a few milliseconds until the values are available.
It is precisely during this time that I get the incorrect measurements. According to the data sheet, this should be possible:
I cannot do without IMU measurements during this time.
So what do you recommend me to do? Should I just use a BME388/BME390 or am I doing something totally wrong and there is a way to get both to work together?
Here is a code snippet from my baro request:
(I have also seen in other libraries that they add a delay at this point. But that looks like a bad joke to me !?)
Thanks in advance for your help