Hi,
We have added the MPU6000 to our latest revision of our PCB.
We had it working on a prototype (wired to the previous PCB) and it worked fine.
There are very few hardware differences, but with the new PCB we have a problem with fast INT pulses!
Basically there are too many of them coming too quick.
We are using the same settings as we used in the prototype:
#define SMPRT_DIV 0x09 // We want 100Hz so set to 9: 100 = 1000/(1+9)
#define CONFIG 0x03 // FSYNC not used + Low pass Filter = 44hz
#define GYRO_CONFIG 0x18 // Gyro full scale range = 500deg/sec
#define ACCEL_CONFIG 0x10 // Accel full scale = 8g/high pass filter = 0
#define INT_PIN_CFG 0x80 // Int pin active low/push-pull/50us
#define INT_ENABLE 0x01 // Enable Data ready interrupt
#define USER_CTRL 0x01
#define PWR_MGMT_1 0x00 // Used to put into sleep mode + clock source
#define PWR_MGMT_2 0x06 // Switch off unused gyros
The problem is that we are expecting a non latching low INT pulse every 10msec but they are coming about every 129usec, but that varies too.
The i2c comms seems to work fine, when we tried changing to latching INT pulses there was another INT as soon as we had read the previous readings.
I am wondering if there are interrupts coming from elsewhere?
The INT_PIN_STATUS register has a value of 0xD3 every time we read it, indicating a FF_INT, MOT_INT, FIFO_OFLOW_INT and DATA_RDY_INT however we only enable DATA_RDY_EN in INT_ENABLE?
Could the others be causing this and if so how can I switch them off I thought they were all off as default?
Thanks
Ian
- Log in to post comments
phpbb Topic ID
13986
Re: Re: MPU6000 too many INT pulses
Can you provide the following information so that we can investigate the issue -
1. What are the hardware differences between the latest revision of the PCB and the prototype version ?
2. Which clock source are you using ? Is it the internal oscillator or one of the gyroscopes ?
3. At power up the INT_ENABLE regsiter should contain 0s. However, can you make sure that all bits of this register are set to '0' except the DATA_RDY_EN bit. You can do so by writing 01h to this register and reading back to verify the contents.
4. Can you let us know the revision of the part that you are using. The letter on the bottom right of the device package indicates the revision.