Arduino_MCP3x6x_Library icon indicating copy to clipboard operation
Arduino_MCP3x6x_Library copied to clipboard

Strange issue with MCP3561

Open y3nd opened this issue 1 year ago • 3 comments

Hello, I know the question is not directly related to the library, but I still want to give it a shot, since I am a bit stuck there.

I have a MCP3561 with a MAX4208 amplifier to measure the voltage at the output of a strain gauge. The MCP3561 is drived by an ESP32 using this library. I would like the system to work in continuous mode in MUX mode (differential). Everything is working well (config settings, continuous mode, irq pin) but I have very strange steps showing in the output signal. It seems to be related to some specific ADC count values, and I can't find anything similar on the web too. After some digging I found out that sometimes, somehow, a group of samples has missing ADCDATA bytes, always the less significant ones. So data like 0x3Cxxxx becomes 0x3C0000 and it stays like this until a high/low enough sample appears and change the current value.

image Like you can see on this picture (values are calibrated values for my use), there are somes value-based steps appearing at 11.27-21.68-31.04, on the ascent and the descent of the curve.

There is a small antialiasing filter consisting of two RC (1k/100n) filters in between, like in the schematics of the weight scale example application provided by microchip

I have tried with a signal generator directly on the input of the antialiasing filter and it still the same.

If you have any clue or something I could check/test/do to know what's causing this issue...

y3nd avatar Jul 04 '23 17:07 y3nd