11 years, 6 months ago.

AnalogIn .read-u16() returning half span readings on one channel of all six used

Hi,

I'm a bit stumped by this one, and was wondering if anyone could shed some light on this please...

I have an application that uses all six analog inputs on p15-p20, which, on receiving a 'poll request' character from the USB serial port, sequentially reads all six analog values to an array, and after analog capture 'spits out' the readings via the USB serial port as a comma seperated string (CrLf terminated)

The analog inputs, hardware wise are all connected via 150R resistor to the MBED common 0V bus, which is in turn connected to the 0V reference on external equipment. I am using the 150R resistors as current sense resistors for 4-20mA transducers.

When checking with a multimeter, I am seeing between 0.6 to about 3V on each of the 6 analog input channels, as would be expected from an ohmic arrangement for 4-20mA forward current...

However, one of the inputs (consistantly channel 4) allways reads about half span 32 to 34K regardless of input current (but can be forced to near 0 count by external shorting link to 0V!!)... I've checked the prototype board wiring, and all seems OK... All inputs read around 150R to 0V rail, no shorts or splashes etc..

I've also swapped out the MBED, and ensured that no ISR's are called during analog capture... ... Any ideas??? Does the MBED have internal pull-ups I can disable??

Be the first to answer this question.