ESP32/MPU-9250 losing accuracy
Posted: Tue Oct 23, 2018 8:15 am
Hi, I'm using an ESP32 in connection with an MPU-9250 to measure acceleration over SPI. Interrupts are used to measure 10'000 samples. Those are sent over WIFI and the process is started again. After around 100+ measurements the sensor suddenly loses accuracy (and also gets a small offset compared to the normal measurement).
This is how it normally looks This is how it looks after The hex values, depending on the sensors position, look something like this:
But when I inspect the data coming from the MPU-9250 with an oscilloscope it looks like valid data.
This only happens around 50% of the time, the other 50% the ESP core dumps first. I'm not sure if this is related but I need to fix it as well. This core dump happend after 386 measurements.
Has anyone seen this before?
Please let me know what more information I can provide.
*Edit*: It was different yesterday but today the core dump is much more of an issue than losing the accuracy.
This is how it normally looks This is how it looks after The hex values, depending on the sensors position, look something like this:
Code: Select all
00DF 00DF 00DF 00DF 00E0 00DF 00DF 00DF 00DF 00E0 00E0 00DF 00E0 00DF 00DF 00DF 00E0 00E0 00E0 00DF 00DF 00E0 00DF 00DF
This only happens around 50% of the time, the other 50% the ESP core dumps first. I'm not sure if this is related but I need to fix it as well. This core dump happend after 386 measurements.
Code: Select all
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x40083f0c PS : 0x00060031 A0 : 0x4008206d A1 : 0x3ffb05d0
0x40083f0c: spi_intr at C:/msys32/esp-idf/components/driver/spi_master.c:433
0x4008206d: _xt_lowint1 at C:/msys32/esp-idf/components/freertos/xtensa_vectors.S:1105
A2 : 0x3ffc43a4 A3 : 0x3ffc43b8 A4 : 0x3ffb0570 A5 : 0x3ffc441c
A6 : 0x3ffb8570 A7 : 0x3ffb3684 A8 : 0x80083f05 A9 : 0x9fffcffc
A10 : 0x4001f140 A11 : 0x00000000 A12 : 0xc8746060 A13 : 0x00000001
A14 : 0x00060021 A15 : 0x00060021 SAR : 0x0000001a EXCCAUSE: 0x0000001c
EXCVADDR: 0x9fffd104 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Core 0 was running in ISR context:
EPC1 : 0x40083f0c EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x00000000
0x40083f0c: spi_intr at C:/msys32/esp-idf/components/driver/spi_master.c:433
Backtrace: 0x40083f0c:0x3ffb05d0 0x4008206a:0x3ffb0600 0x4008cf52:0x00000000
0x40083f0c: spi_intr at C:/msys32/esp-idf/components/driver/spi_master.c:433
0x4008206a: _xt_lowint1 at C:/msys32/esp-idf/components/freertos/xtensa_vectors.S:1105
0x4008cf52: xQueueGenericReceive at C:/msys32/esp-idf/components/freertos/queue.c:2037
CPU halted.
Has anyone seen this before?
Please let me know what more information I can provide.
*Edit*: It was different yesterday but today the core dump is much more of an issue than losing the accuracy.