My friend and I just received another IMU shield today, but I'm getting strange values from the ADC with APM_ADC_test:

ArduPilot Mega ADC library test

When running the same code with our working shields, we get numbers in the thousands that respond to rotational and acceleration movements.  The numbers on the new shield do not change regardless of inertial input.  I have tried r473 and r39 of the APM_ADC library (thinking maybe something got messed up recently), but they yield the same results.  The APM_BMP085 example runs fine on the new shield, and I can get the pressure & altitude values to change by blowing on the sensor.  I haven't had a chance to check the RC functionality.

In the unlikely event that it's helpful, the number below ADS7844N on one of the working shields is either 030G or 0306.  The number below the ADS7844N on the new shield is 0461.

Any ideas on what might be going on here?  Did we get a bad board?

Views: 385

Reply to This

Replies to This Discussion


What version of the IMU Mega Shield do you have? The original Foxtrap (F) or the new Hotel (H). It would help Jordi to know.

The new Hotel 1.0.
Benjamin, maybe is a defective board... We test every board before shipping, but we may missed that one...
Is there anything I can do to confirm or deny this? Perhaps measure the voltage at the input of the ADC for the accelerometers?
Look for any lifted pad... Double check your software.... and triple check your solder points. 50% of the failures is due to bad soldering.

If you are unable to get it work properly try the to measure the voltages, make sure the 3.3V is fine.. Also check every sensor individually... But I'm sure is an ADC solder problem.
Attached i the arduino software I use to test my boards...

Using the piano dip switch push them all down... Then lift the first (the No.1 is on the USB side), then you will see the ADC data.... Switch 2 is for pressure data, switch 3 is for MTK binary protocol data and switch 4 is for dataflash testing (only works when you reset the board).

Make sure you have all the libraries:
#include // ArduPilot Mega ADC Library
Thanks for the demo code -- the pressure data test worked fine, the dataflash testing I assume worked fine:

Dataflash Log Test 1.0
Writing to flash... wait...
Start reading page 1...

The ADC testing behaved as before:

I'm not sure I'll be able to fix any soldering problems with the sensors (QFN's are hard to rework), but I'll check my solder connections and the ADC solder connections tonight. From a cursory visual inspection without a magnifying glass, the ADC solder connections aren't obviously bad.

Thanks for the help!
Software's fine (just your demo code from below and APM_ADC example code), through-hole soldering looks fine. I tried remelting the solder on all the ADS7844's pins but that didn't change anything. The inner pad on Vref near the four switches measures at 3.3V, as do the output pins on the digital 3.3V regulator and analog 3.3V regulator.

We'll send it back for replacement?
Comparing the new shield to an old shield, it looks like there are at least three new solder jumpers, none of which are soldered. Is that how it should be?

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service