ERR_IMU_COMM PCB1.3 | Azurit1.0a7

death_bandit

New member
Hallo mein IMU Modul macht Probleme. Es ist alles richtig angeschlossen:
3.3V/5V -> VCC_IN
GND -> GND
SDA - SDA
SCL -> SCL
3.3V -> ----
Wenn ich es unconnected lasse bekomme ich die übliche Fehlermeldung da der Jumper auf 3.3VP gesetzt ist, wenn ich das Modul verbinde bootet der Mikrocontroller, ich bekomme aber folgende Meldungen, und die Werte sind auch unbrauchbar, bzw ändern sich nicht. Ich habe auch schon versucht über die App zu kallibrieren aber das ändert auch nichts. Wenn ich den Mäher auf Line mowing stelle dreht er sich auf der Stelle im Kreis.

Code:
---calibGyro---
gyro calib min=70.00	max=84.00	ofs=78.20	noise=6124.20
gyro calib min=73.00	max=86.00	ofs=79.18	noise=9.67
counter=100
ofs=25.34,-1.68,78.20
------------



Code:
IMU comm error
pfod cmd=s7
IMU comm error
t    16 L  1 m0 OFF  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw  72 pit -46 rol 135 gps 255 bat 16.2 chg  0.0  0.0 imu  2 adc  2 Ardumower
IMU comm error
pfod cmd=s7
IMU comm error
t    18 L  2 m0 OFF  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw -57 pit -46 rol 135 gps 255 bat 16.2 chg  0.0  0.0 imu  2 adc  2 Ardumower
 
@Bernard I connected it like you did.
Mein Problem ist das der Ardumower nicht mit der IMU kommunizieren kann, obwohl alles richtig angeschlossen ist. Mit dem I2C Scanner bekomme ich folgende Werte:

Code:
Scanning...
I2C device found at address 0x1E  !
I2C device found at address 0x50  !
I2C device found at address 0x53  !
I2C device found at address 0x68  !
I2C device found at address 0x69  !
I2C device found at address 0x77  !
done


Und wenn ich die GY-80 Library verwende gibt mir die IMU korrekte Werte:

Code:
Mag:13.04,-2.17,-46.34 Acc:0.068,0.0.61,-2.61,-46.34 Acc:0.080,0.020,0.980 Gyro:0.0,0.5,-0.1 P:0.09460 T:115.8
16,0.980 Gyro:0.5,-0.9,1.0 P:0.09448 T:115.8
Mag:12.61,-2.61,-46.34 Acc:0.080,0.020,0.980 Gyro:0.0,0.5,-0.1 P:0.09460 T:115.8
Mag:12.61,-2.17,-46.34 Acc:0.084,0.020,0.984 Gyro:-0.6,1.0,0.2 P:0.09453 T:115.8
Mag:11.74,-2.61,-46.34 Acc:0.096,0.020,0.980 Gyro:1.0,-0.4,1.8 P:0.09470 T:115.8
Mag:11.30,-3.04,-46.34 Acc:0.096,0.028,0.976 Gyro:2.7,-1.0,0.0 P:0.09467 T:115.8
Mag:9.13,-2.61,-46.83 Acc:0.144,0.024,0.968 Gyro:0.4,-13.4,0.8 P:0.09470 T:115.8
Mag:6.52,-2.61,-47.32 Acc:0.216,0.024,0.952 Gyro:-0.1,-3.1,6.8 P:0.09462 T:115.8
Mag:5.22,-2.17,-47.32 Acc:0.280,0.024,0.956 Gyro:4.7,-36.9,1.3 P:0.09481 T:115.8
Mag:-3.91,-3.04,-46.34 Acc:0.316,0.024,0.784 Gyro:-0.2,5.9,-17.2 P:0.09477 T:115.8
Mag:13.91,1.30,-45.37 Acc:0.040,0.072,0.908 Gyro:-13.4,71.2,-14.7 P:0.09479 T:115.8
Mag:17.39,1.30,-44.39 Acc:-0.104,-0.024,0.996 Gyro:0.5,0.8,0.4 P:0.09477 T:115.8
Mag:16.96,1.30,-43.90 Acc:-0.092,-0.024,0.988 Gyro:0.4,0.6,1.0 P:0.09474 T:115.8
Mag:16.96,1.30,-43.90 Acc:-0.092,-0.028,0.992 Gyro:0.3,0.7,0.9 P:0.09489 T:115.8
Mag:16.96,1.30,-43.90 Acc:-0.096,-0.016,0.992 Gyro:0.1,0.5,1.5 P:0.09479 T:115.8
Mag:16.96,1.30,-44.39 Acc:-0.096,-0.020,0.992 Gyro:0.0,0.4,0.9 P:0.09493 T:115.8
Mag:16.52,1.74,-44.39 Acc:-0.088,-0.024,0.988 Gyro:15.6,0.3,2.7 P:0.09488 T:115.8
Mag:17.39,1.30,-43.90 Acc:-0.096,-0.024,0.988 Gyro:0.1,0.3,0.7 P:0.09493 T:115.8
Mag:16.09,2.17,-43.90 Acc:-0.116,-0.028,0.992 Gyro:4.5,2.0,-37.2 P:0.09495 T:115.7
Mag:10.87,4.35,-44.39 Acc:-0.076,-0.056,1.000 Gyro:5.9,-15.0,-80.0 P:0.09507 T:115.7
Mag:6.96,3.91,-44.39 Acc:-0.104,-0.008,0.988 Gyro:2.7,1.0,-42.4 P:0.09542 T:115.7
Mag:4.78,3.91,-44.39 Acc:-0.104,-0.012,0.988 Gyro:1.6,1.1,-17.0 P:0.09557 T:115.7
Mag:-2.61,1.30,-44.88 Acc:-0.112,-0.016,0.988 Gyro:0.8,0.7,-18.6 P:0.09593 T:115.6
Mag:-4.78,0.00,-45.37 Acc:-0.100,-0.016,0.992 Gyro:2.4,-4.5,7.7 P:0.09648 T:115.6
Mag:-4.35,0.00,-44.88 Acc:-0.072,-0.020,0.992 Gyro:53.4,-7.1,-28.0 P:0.09680 T:115.6
Mag:-0.43,-13.48,-48.78 Acc:-0.148,0.252,0.952 Gyro:50.1,25.1,-77.4 P:0.09723 T:115.6
Mag:33.91,-6.96,-36.10 Acc:-0.852,0.140,0.488 Gyro:-21.7,162.8,1.4 P:0.09747 T:115.6
Mag:41.74,3.91,-18.05 Acc:-1.004,-0.120,0.128 Gyro:17.9,-3.9,-1.8 P:0.09745 T:115.6
Mag:42.17,3.91,-17.07 Acc:-1.024,-0.140,0.092 Gyro:28.1,32.7,61.6 P:0.09750 T:115.6
Mag:45.22,1.74,-12.68 Acc:-1.052,-0.076,-0.016 Gyro:-3.7,6.9,2.4 P:0.09724 T:115.6
Mag:45.65,1.74,-11.22 Acc:-1.044,-0.060,-0.068 Gyro:1.5,4.0,7.8 P:0.09703 T:115.6
Mag:45.65,1.30,-11.71 Acc:-1.032,-0.052,-0.060 Gyro:1.0,0.7,1.2 P:0.09696 T:115.6
Mag:46.09,0.87,-11.22 Acc:-1.036,-0.048,-0.060 Gyro:-0.5,-2.1,0.7 P:0.09703 T:115.6
Mag:45.65,1.30,-11.22 Acc:-1.040,-0.052,-0.056 Gyro:-2.9,0.6,-4.9 P:0.09689 T:115.6
Mag:46.09,0.87,-11.22 Acc:-1.040,-0.052,-0.052 Gyro:1.0,0.7,9.4 P:0.09689 T:115.6
Mag:48.26,-12.61,-12.68 Acc:-1.004,0.264,-0.048 Gyro:-0.4,-8.4,237.2 P:0.09691 T:115.6
Mag:29.13,-50.43,-11.22 Acc:-0.416,0.956,-0.108 Gyro:24.8,76.8,122.6 P:0.09687 T:115.6
Mag:15.65,-56.96,-10.73 Acc:0.044,1.012,-0.060 Gyro:9.9,-10.6,-27.3 P:0.09686 T:115.6
Mag:18.26,-56.52,-9.76 Acc:-0.032,1.020,-0.088 Gyro:-1.8,2.3,-3.8 P:0.09684 T:115.6
Mag:19.13,-55.65,-9.27 Acc:-0.048,1.016,-0.076 Gyro:1.1,-3.0,-1.8 P:0.09674 T:115.6
Mag:19.57,-55.65,-10.24 Acc:-0.080,1.020,-0.076 Gyro:1.6,10.6,1.8 P:0.09682 T:115.6
Mag:20.87,-54.78,-13.17 Acc:-0.096,1.004,0.000 Gyro:-4.0,-6.3,3.1 P:0.09681 T:115.6
Mag:16.52,-54.35,-18.54 Acc:-0.028,1.008,0.060 Gyro:-15.7,-32.4,11.5 P:0.09681 T:115.6
Mag:13.48,-53.48,-22.44 Acc:-0.004,1.000,0.100 Gyro:-2.1,-33.2,-7.1 P:0.09694 T:115.6
Mag:5.65,-51.30,-27.80 Acc:0.048,0.996,0.172 Gyro:-36.4,-49.4,25.6 P:0.09696 T:115.6
Mag:3.48,-43.91,-36.59 Acc:0.156,0.952,0.376 Gyro:-19.9,39.5,-30.7 P:0.09705 T:115.6
Mag:18.70,-33.91,-40.98 Acc:-0.240,0.804,0.544 Gyro:-12.0,-5.4,-52.6 P:0.09699 T:115.6
Mag:20.43,-31.30,-41.46 Acc:-0.376,0.720,0.580 Gyro:2.1,-4.0,-10.1 P:0.09692 T:115.6
 
I use the Due with Azurit 1.0a7

It makes no sense to calibrate the IMU when it cannot communicate with the Main.

Code:
IMU comm error
Error: missing IMU calibration data
pfod cmd=s7
pfod cmd=g07
acc calib restart...
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
243.00,63.00,-41.00
side 1 of 6 completed
 
Hi.

When you have tested the IMU with the GY80 Library, did you do it with the PCB1.3 or in a breadboard ?
Maybe you can try to plug the IMU into the slot 3 to verify if the board is OK.

I don't use azurit 1.0a7 and if you have odometry and due on your board maybe you can upload this code and verify if you have the same issue with your IMU.
Be carreful that all the setting are for Denna and Paranello Platform so you need a factory reset to make it work.


By.
Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3545/azuritbb.zip/
 
Zuletzt bearbeitet von einem Moderator:
I tested the IMU on a breadboard and on the PCB with the same sample code from the library. Both worked.
I get the same errors with your code. To plug in the IMU in slot 3 does not change anything.
 
Hi.

I also have this kind of issue in the past with the PCB1.2 but the problem was the RTC (the IMU works but only during 10 or 15 Minutes).
Maybe RTC issue explain why the IMU work with the GY80 Library and not with Azurit.
Possible try to disable the TIMER in PFOD to avoid call the RTC ,but really not sure .
Verify the two I2C component and not only the IMU.
By.
 
Hi
Did you test the mower without Imu for a minimum of 10 minutes ?
[li][/li]

You need to test the Rtc on the board without pluging the Imu (RTC is an I2C device)
Try to set a time and date with pfod and TIMER ON .
Unplug the 24V from the board for 2 minute.
Plug again the 24V and be sure the pfod time change for 2 Minutes.
If it's work so maybe your imu is damage.
By
 
Okay it looks like there is a problem with the rtc. Even with the fresh downloaded firmware without my customisations sometimes the rtc holds the time and sometimes it doesn't. I tested it a few times and one time the rtc only lots the time after I connected the IMU. Very strange.
And yes I used the mower without the IMU for more than 10 minutes, and there weren't any problems.
 
Try to mow withTimer on and without Imu so the rtc is read and you can view is an RTC error occur after 10 or 20 minutes.
 
Ok it seems that the rtc is broken.

Screenshot_20170903-174930.png

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/3881/Screenshot_20170903-174930.png/
 
Zuletzt bearbeitet von einem Moderator:
Hi.
I have 1 from marotronics and 1 from ebay who are dead.
I order the 2 other on ebay electron-discount.

But it's in France
 
I got a replacement from marotronics, and it seems that the RTC works now.... the most time at least.
But the IMU still has a problem. There is still the same error in the serial monitor and also to calibrate doesn't work. But the IMU is not dead the Gy-80 Library still works, and ironically the IMU sends some data to the robot in the calib gyro mode:

Code:
initL3G4200D
---calibGyro---
gyro calib min=-152.00	max=143.00	ofs=12.92	noise=5040.20
gyro calib min=-219.00	max=251.00	ofs=-0.20	noise=9354.61
gyro calib min=-125.00	max=226.00	ofs=18.52	noise=6181.69
gyro calib min=-134.00	max=131.00	ofs=-7.84	noise=3282.70
gyro calib min=-237.00	max=109.00	ofs=-0.68	noise=4126.12
gyro calib min=-152.00	max=192.00	ofs=28.72	noise=6505.60
gyro calib min=-23.00	max=59.00	ofs=-11.98	noise=1849.95
gyro calib min=-24.00	max=-4.00	ofs=-15.62	noise=34.85
gyro calib min=-24.00	max=-8.00	ofs=-15.92	noise=17.32
counter=450
ofs=-7.14,10.08,-15.62

After I stopped moving arround the sensor the noise got lower and the calib stoped. So there is some kind of communication????

I tested the IMU with the arduremote app and some restarts from the arduino, and one time I got some good values for roll and pitch in the app.
And after some seconds it didn't worked anymore and I only got this like everytime:

Code:
pfod cmd=s7
IMU comm error
Error: missing IMU calibration data
t    51 L  1 m0 ERR  rpm    0    0 set    0    0 sen    0    0    0 bum    0    0 dro    0    0 son   0 yaw -24 pit -45 rol -113 bat 12.5 chg  0.0  0.0 imu  1 adc  1 Ardumower
pfod cmd=s7
pfod cmd=g07
acc calib restart...
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00
155.00,-137.00,-57.00


Do you have an idea what I can still try out?
 
Hi.
After I stopped moving arround the sensor the noise got lower and the calib stoped. So there is some kind of communication????
I don't understand this, the compass calibration never stop itself.

Acc and Gyro Calibration.
Be carreful that when you start you need to do all the 6 sides.
So you need to click 6 times on the Acc Cal next side after putting the mower in correct position(see WIKI).
At the end a long Beep tell you it's OK.

For the Compass Calibration the Correct procedure is.
In arduremote
1 click only one time on the Com Cal Start/Stop.
2 Move slowly the mower arround the 3 axis . (You need to hear a lot of small beep)
Move the mower until no beep
3 click again one time on the Com Cal Start/Stop.(You need to hear 1 long melody).

And Now you can reboot the mower,
In the console the message missing calibration DATA must disappear..

Verify in setting Imu the value need to match the position of the mower.
Pitch 0 when the mower on the normal position and 90 or -90 if you lift the front or the rear of the mower
Rol 0 when the mower on the normal position and 90 or -90 if you lift the right or the left of the mower.
Yaw change for 0 to 180 from N NNE NE SE SSE S and decrease from -180 to 0 from S SSW SW W NW NNW N.
N=North S=South etc..

By.
 
Oben