Pixhawk BAD ACCEL HEALTH APM 3.2 - collecting data

A few users, myself included, appear to be having issues calibrating accels and/or arming when using APM 3.2 on a Pixhawk.  I see posts here and there, but thought it may be best if those having the issue could all 'check in' to one post so that the developers can see how widespread the issue is and gather data.

My Pixhawk will arm occasionally, and will even fly successfully.  Occasionally however it will not arm and I will receive the pre-arm error "Accels not healthy".  A few days ago I was able to arm and fly thorugh one lipo, then after landing and swapping batteries I could not arm due to this reason.  I have attached the logs from the successful flight, as well as the failed pre-arm logs, to this post.

As you can see from these images there is something amiss with IMU2.  This is a snippit from the good flight, showing values for AccX on IMU1 and IMU2:

3691166950?profile=original

and here are the same values on the second attempt, pre-arm.

3691167027?profile=original

In the 3.2 release thread a few users had mentioned the issue and Randy advised to set the log_bitmask to "131070" so that it will log everything including the pre-arm checks.  I encourage others having the issue to do the same and share the logs and experiences here so that we can find out what is going on here - is there a bad batch of Pixhawks in the wild that only now show the hardware errors due to something new in 3.2, or is there an issue in the APM software?

goodlog.bin

badlog.bin

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Hi!

    I can confirm that the fix provided by Dmitry Prokhorov works great. Dmitry already merged the fix into the Pixhawk Hardware repo on github, but for those that want a fix for their 2.4.5 board, and can solder SMD without issues, i posted my implementation here:

    http://diydrones.com/forum/topics/solution-proposal-for-pixhawk-imu...

    • Does this fix work with colder weather?

      As soon as the temperature around here dropped below about 35F in mid December I've been having trouble with the LSM303D flatlining accel values at ~18000. Watching the telemetry logs, if I power the unit on indoors, the accel2 will be working with normal values,  then as I go outside the values will go bad.

      I disabled IMU2 with ins_use2=0, and disabled all arming checks but it still can't get passed this error. I can't seem to find this error in the source code, I grep'd the code and it didn't find "BAD ACCEL HEALTH" Can someone point me to where it may be?

      • I got this same issue tonight on an AUAV-X2 board. I was out in the cold - about 2DegC. First flight OK, then on resetting the quad I was getting pre-arm inconsistent Accelerometer warnings. After a while and several re-powering I got it to arm OK, but I nearly gave up trying.

        • same thing with X2, but its not only IMU2 both IMUs go slightly crazy, I sometimes have to wait 15-20 mins with lipos plugged in for the board to boot in the mountains... 

  • Hello,

    Thank you all for investigating the issue with IMU2 and especially my thanks to Artem who proposed a way to reset LSM303D chip power.

    Solution with investigation details are proposed for IMU2-related BAD ACCELL HEALTH issue.

    http://diydrones.com/forum/topics/solution-proposal-for-pixhawk-imu...

  • I'm having this problem on a new build with a pixhawk clone (Thought it was 3dr when i bought it :()

    Shorting out the PM seems to have no effect...

    I never have a horizon going all over the place, just the accel not healthy warning.

    How dangerous is it to disable the IMU prearm check? I just want to be in the air!

    • Make sure you have good calibration first. And yes, "imu is not healthy" is critical, i wouldn't advise you to override it as IMU is the only thing which tells AC where is UP and down :)

      • Thanks for replying! 

        Sometimes recalibrating the accels lets me arm, but most of the time I get calibration failed, and often I dont have a flat surface to calibrate...

        I understand that this problem only surfaced once AC 3.2 started using both IMU's, is there a parameter that will let me just use one IMU? Obviously redundancy would be better but people were flying with 1 for ages before 3.2 and copters were not just falling out of the sky?

        I guess I will need to replace this board eventually, but I want to wait for the Pixhawk 2 or some other new release, spending 300 on a 3dr pixhawk which is close to end of life cycle seems silly.

        • Developer

          James,.

          Post a dataflash log from the board (maybe turn on logging-while-disarmed) and we can have a look if one of the IMUs is unhealty.  Copter 3.3 which is in beta testing at the moment has a new set of parameters (INS_USE, INS_USE2) which can be used to turn off the bad IMU.  I think there's an issue with the pre-arm checks still blocking the take-off so we will need to resolve that but this may allow you to keep using the board (although I wouldn't recommend it!).

          By the way, I don't think the Pixhawk2 is really much better than the Pixhawk1 for most users.  In my experience, the Pixhawk2's build-in vibration isolation is not better than using the standard 3M foam or the hobbyking orange foam.  It has an extra IMU and baro but we don't use them for control or estimation anyway.  I'm hoping for a pixhawk-like Linux board to appear (i.e. like the NAVIO+ but smaller and with a case) but I think it's still at least 6 months away.

          • By using the new parameters that you mentioned (INS_USE, INS_USE2), are we able to disable IMU2 without further implications (EKF ? ) arming etc.. ?

This reply was deleted.

Activity