GY-88A Kompatibel?

Ich hatte Probleme mit dem I2C Bus und habe daraufhin ein neues GY88A Modul gekauft um das alte MPU9250 zu ersetzen. Daher musste ich auch die Firmeare wechseln. Jetzt versuche ich AzuritBer-master in Betrieb zu nehmen. Leider bekomme ich keine Daten vom Kompass und Gyro:

--------------------------------- COMPASS HMC5883L INITIALISATION ---------------
COMPASS HMC5883L ID NEED TO BE 72 IF ALL IS OK ------> ID=0
COMPASS HMC5883L FAIL
IMU error: no calib data
-------- IMU CALIBRATION --------
ACCEL GYRO MPU6050 OFFSET ax: 376 ay: -1768 az: 1512 gx: 91 gy: 12 gz: -2
COMPASS OFFSET X.Y.Z AND SCALE X.Y.Z
comOfs=0.00,0.00,0.00
comScale=2.00,2.00,2.00
.
--------------------------------- GYRO ACCEL INITIALISATION ---------------
MPU6050 connection failed
0
Initializing DMP...
DMP Initialization failed

Das GY88A enthält MPU6050 und HMC5983L (nicht HMC5883!). Das board soll kompatibel ohne Softwareänderung zu dem HMC5883 sein - ist es aber seinbar nicht. Die Hardware scheint ansich OK zu sein. Zumindes bekomme ich mit den I2C-Tests folgende Info:

Tiny RTC on I2C:
Scanning...
I2C device found at address 0x50
I2C device found at address 0x68

GY-88 on I2C1:
Scanning bus I2C1...
I2C1 device found at address 0x30
I2C1 device found at address 0x69
I2C1 device found at address 0x77

Zudem habe ich ein Dauerpiepsen, das nicht abzustellen ist (womöglich wegen dem fehlenden Kompass?).
Ich würde mich über die Info freuen, ob das Bord GY-88A mit dem HMC5983 benutzt werden kann und welche Anpassungen dafür nötig sind. Sind die Adressen OK?

Vielen Dank
Jens
 
What PCB and CPU (DUE ?)
Adress 0x69 is use if connected to I2C2 and shunt of AD0 on IMU is mandatory.
see here
and use
I2C_SCANNER if GY-88 is connected I2C2 with the jumper on 3.3V

If not OK test this way
I2C1_SCANNER if GY-88 is connected I2C1 no jumper needed.

Share the result
 
Hi Bernard,
Thanks for the answer. I've changed my wiring and the GY-88A is now connected to the same I2C as the RTC:


I2C Scanner
Scanning...
I2C device found at address 0x30
I2C device found at address 0x50
I2C device found at address 0x68
I2C device found at address 0x69
I2C device found at address 0x77
17

I2C connection seems to be OK and the bus is running.

The seller's information was apparently not correct
(HMC5983). A chip with the inscription 5883 can be found on the board.

5883Chip.jpg

This can also be addressed as QMC5883L, but it does not provide any values:


--------------------------------- GYRO ACCEL INITIALISATION ---------------
MPU6050 connection successful
52
Initializing DMP...
Enabling DMP... Packet size 42
Wait 3 secondes to stabilize the Drift
AccelGyro Yaw: 0.01

The deviceID of the MPU is 52 as shown on startup(?). Does it mean anything to the readings?
I also tried to calibrate the GYRO. It seems to be OK (?!):


AccelGyro calibration deleted
Reading sensors for first time... without any offset
Reading ax: 20737 ay: -9564 az: 3421 gx: -11 gy: 0 gz: -22

Calculating offsets...
Wait until accel 3 val are < 8 : 4212 733 1411 and Gyro 3 val are < 1 : 11 0 20
Wait until accel 3 val are < 8 : 849 41 148 and Gyro 3 val are < 1 : 8 0 15
Wait until accel 3 val are < 8 : 169 9 12 and Gyro 3 val are < 1 : 6 0 12
Wait until accel 3 val are < 8 : 21 7 5 and Gyro 3 val are < 1 : 5 0 9
Wait until accel 3 val are < 8 : 1 10 11 and Gyro 3 val are < 1 : 4 0 7
Wait until accel 3 val are < 8 : 1 5 8 and Gyro 3 val are < 1 : 3 0 5
Wait until accel 3 val are < 8 : 1 9 8 and Gyro 3 val are < 1 : 2 0 4
Wait until accel 3 val are < 8 : 0 10 9 and Gyro 3 val are < 1 : 2 0 3
Wait until accel 3 val are < 8 : 2 9 8 and Gyro 3 val are < 1 : 1 0 3
Wait until accel 3 val are < 8 : 2 7 15 and Gyro 3 val are < 1 : 1 0 2
Wait until accel 3 val are < 8 : 1 8 6 and Gyro 3 val are < 1 : 1 0 2
Wait until accel 3 val are < 8 : 2 8 12 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 2 7 11 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 1 8 10 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 0 10 7 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 2 9 11 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 1 10 5 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 0 8 5 and Gyro 3 val are < 1 : 1 0 1
FINISHED reading Value with new offset,If all is OK need to be close 0 exept the az close to 16384
New reading ax: 0 ay: -8 az: 16388 gx: -1 gy: 0 gz: -1
THE NEW OFFSET ax: -2153 ay: 1109 az: 1462 gx: 21 gy: 0 gz: 43
Save Calibration

In ArduRemote >Settings-IMU< there are Gyro Yaw values, but they do not change while moving the sensor.
Starting the Compass with ArduRemote leads to the ERROR COUNTER "IMU comm" and in the console "error when read compass" is shown.

It seems to me that the communication to the bord is not OK even if the I2C Test was OK. Do you have any Idea to solve this?

Thanks
Jens
 
Do not use the compass with this GY-88A module ,only GYRO and accel over the MPU6050 DMP .
So into setting /IMU/ Compass Use to NO
Reboot and test to see if Yaw value change
Normaly the MPU6050 can work without issue ,but not the compass (did you test with QMC5883 option into mower.
Code:
// ---------------- COMPASS Selection ---------------------------
//#define COMPASS_IS HMC5883L
#define COMPASS_IS QMC5883L


 
Hi Bernard,
I tryed both compass selections (HMC5883L and QMC5883L) and also only the gyro (no compass). With QMC I could run calibration but do not get any readings.
So, gyro no readings and compass Error >IMU comm< with I2C Test OK.
Hmm, I would guess, the bord does not work with the 1.85 AzuritBer. Is there a board test like the I2C test available? Or do you have another Idea how to get this board up and running? Which boards would you suggest instead to have gyro and compass? The GY88 is also suggested in the Wiki(?).
Thanks
Jens
 
I use now GY-521 in all my project and teensy PCB.

But i don't understand because the screen copy
--------------------------------- GYRO ACCEL INITIALISATION ---------------
MPU6050 connection successful
52
Initializing DMP...
Enabling DMP... Packet size 42
Wait 3 secondes to stabilize the Drift
AccelGyro Yaw: 0.01

The deviceID of the MPU is 52 as shown on startup(?). Does it mean anything to the readings?
I also tried to calibrate the GYRO. It seems to be OK (?!):


AccelGyro calibration deleted
Reading sensors for first time... without any offset
Reading ax: 20737 ay: -9564 az: 3421 gx: -11 gy: 0 gz: -22

Calculating offsets...
Wait until accel 3 val are < 8 : 4212 733 1411 and Gyro 3 val are < 1 : 11 0 20
Wait until accel 3 val are < 8 : 849 41 148 and Gyro 3 val are < 1 : 8 0 15
Wait until accel 3 val are < 8 : 169 9 12 and Gyro 3 val are < 1 : 6 0 12
Wait until accel 3 val are < 8 : 21 7 5 and Gyro 3 val are < 1 : 5 0 9
Wait until accel 3 val are < 8 : 1 10 11 and Gyro 3 val are < 1 : 4 0 7
Wait until accel 3 val are < 8 : 1 5 8 and Gyro 3 val are < 1 : 3 0 5
Wait until accel 3 val are < 8 : 1 9 8 and Gyro 3 val are < 1 : 2 0 4
Wait until accel 3 val are < 8 : 0 10 9 and Gyro 3 val are < 1 : 2 0 3
Wait until accel 3 val are < 8 : 2 9 8 and Gyro 3 val are < 1 : 1 0 3
Wait until accel 3 val are < 8 : 2 7 15 and Gyro 3 val are < 1 : 1 0 2
Wait until accel 3 val are < 8 : 1 8 6 and Gyro 3 val are < 1 : 1 0 2
Wait until accel 3 val are < 8 : 2 8 12 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 2 7 11 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 1 8 10 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 0 10 7 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 2 9 11 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 1 10 5 and Gyro 3 val are < 1 : 1 0 1
Wait until accel 3 val are < 8 : 0 8 5 and Gyro 3 val are < 1 : 1 0 1
FINISHED reading Value with new offset,If all is OK need to be close 0 exept the az close to 16384
New reading ax: 0 ay: -8 az: 16388 gx: -1 gy: 0 gz: -1
THE NEW OFFSET ax: -2153 ay: 1109 az: 1462 gx: 21 gy: 0 gz: 43
Save Calibration

is OK and show that the GYRO part of your module work well , so certainly the issue is not in the GY-88 and maybe on the I2C bus part near RTC maybe.
Did the save setting and reset error work after a reboot ?
 
Hi Bernard,
The time can be set and all savings are OK, so the I2C bus works well.
I found the reason why I could not see changes on the values in the ArduRemote >Settings-IMU<. I pressed the button and the mower changed the state - from there the values changed :)
So the Gyro is OK as you already assumed.(y)

The compass and the pressure sensor can be found on the bus (0x30 and 0x77) also:

I2C Scanner
Scanning...
I2C device found at address 0x30
I2C device found at address 0x50
I2C device found at address 0x68
I2C device found at address 0x69
I2C device found at address 0x77

Could be an addressing issue the reason for the problems with the compass? Is there a debugging mode for the IMU? Is this a known issue?
Thanks
Jens
 
Remember that compass read the magnetic field. and it's a stupid thing inside a mower with motor magnetic field.
It's better to not use it.
My test to put compass as far as possible from motor and PCB on big chassis ( RL1000 robomow ) always fail with a very bad repetitive reading absolute value.

If you really want to use one you can try to order a low cost GY-273 to test or simply upload a compass APP inside your mobile phone and move the phone near the mower when it's running and you can see what i mean.

Here very old post on GY-88A maybe you have a MMC5883 compass ship ,unfortunatly i use only HMC and QMC module.



Code work perfectly without compass
 
Hi Bernard,
Thank you very much for the clear words. I already had in mind that the motors can interfere with finding the course by compass. However, since the use of the compass is recommended on the website, I assumed that a useful result could also be achieved with good positioning. This is obviously not possible. It would then be good to have a corresponding note in the WIKI or even to remove the passage with the compass completely.
Why do you still use the >compass< option in the firmware? At what point does it have its justification if only unreliable data is to be expected?
So I will follow your reccomendation and will not use the compass anymore.

Thank you again
Jens
 
Oben