Arduino_MCP3x6x_Library
Arduino_MCP3x6x_Library copied to clipboard
Strange issue with MCP3561
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.
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...