ChrisOhara wrote: ↑Mon Aug 23, 2021 4:18 pm
Hi Nesan
What you have read in google is correct.
I have not written this software but I had a close look at it cause I did some private extensions for me.
I can assure you that Mstrens (who wrote the code) was well aware of the points you found in google.
there are three I2C addresses on the GY-86
0x77 is the MS5611 barometer
0x68 is the MPU6050
0x1E is the HMC5883 magnetic compass which is addressed through the MPU (IMU)
Have you checked and found these with an I2C scanner (if you do not find them it is no genuine GY86) ?
You uncommented "#define GENERATE_MAG_CALIBRATION_DATA" combined with "CALCULATE_YAW_WITH_HMC5883 YES".
What you then see in your screenshot is the calibration data of the magnetic compass HMC5883.
So the addressing through the MPU6050 seems to work.
But this is the second step of calibration.
What doesn't seem to work is the first step: #define DISPLAY_ACC_OFFSET.
This should display the data of the gyro (MPU6050) calibration.
If the three correct I2C addresses really show up (checked with I2C scanner) then this does look like a faulty MP6050 to me.
I once bought two single MPU6050 and one of them had the same problem.
(Always assuming, that you have the correct software version and the the correct wiring (for example interrupt line))
regards ChrisOHara
Hi ChrisOhara Thanks for your reply!
Thats exactly what is not shownig "#define DISPLAY_ACC_OFFSET
I have attached some screen shots of my GY-86 " Raw pulling and DMP pulling "
They proves my GY-86 is working.
every thing below is my guess so do not get offended.
I could see in both case the mpu6050 initializing is failed then the out put is pulled some how; may be from DMP registry." that could be the one to be bypassed and deactivate sleep mode to external I2C bus".
my I2C scan pull "0X68 and 0X77" only MPU is 0X68 if I am correct.
0x1E may be in internal I2C bus so not seen by external I2C scan.
I check the values by tilting the GY-86 for Yaw,Pitch,Roll they behave accordingly. "in DMP6 sketch".
if it is because the variations in GY-86 then the solution is not looking for the one it work but modify the drivers that interpret among different GY-86's I do not thing this is a big problem to a programmer. any way I am not arguing here.
Thanks for your involvement. and hope be there till find the solution.
regards
Nesan