MCP3551 - May have misunderstood operation. - Page 1
Forum section: electronics / projects

author: SpottedDick
author_rank: Regular Contributor
timestamp: May 02, 2024, 08:05:23 pm
content: Hi All!I'll try and not rabble on too much, but just to give some back story.I had a plan to use the MCP3551 to measure a 1V voltage between 2-3V. I needed the finest resoloution I could get, so had planned to bias the MCP3551. I thought I had this in my head, however when I went to datasheet to start laying things out for the PCB, I realised I had probably made an error.I've attached the block diagram of the MCP3551.So my plan was to connect both a 3V and a 2V reference to the MCP3551, which should give the detail I want (or at least would on a standard ADC with with a Vref and a -Vref).When I realised the MCP3551 was built differently to what I expected, I realised this probably wouldn't work, but the connections I have are as follows.Vin- : To 2V reference.Vin+: Actual voltage input.Vref: 3V reference.I know now that I've read the data sheet, that I'll lose the negative half of the 22bits, but will the above connections give me the top half at least? If not, what is the correct way to use the MCP3551 as a "standard" ADC with a negative and positive Vref?I have gone through the datasheet, but I'm just not getting it! Sorry.

author: magic
author_rank: Super Contributor
timestamp: May 02, 2024, 08:47:02 pm
content: Is the result you want (Vin - 2V) / (3V - 2V)?This chip can't really do it, you will get (Vin - 2V) / 3V instead due to lack of Vref-.If you really must use this chip, you could wire Vref to 3V, Vin- to ground and then measure Vin and 2V separately and do the math in software (with some sacrifice of accuracy and resolution, and assuming the reference voltages don't drift too fast). But the chip doesn't have a built-in input mux either...

author: SpottedDick
author_rank: Regular Contributor
timestamp: May 02, 2024, 08:50:02 pm
content: Sorry if I wasn't clear.I'm trying to measure between 2v to 3v and use as much range of the ADC as possible.

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 02, 2024, 09:04:32 pm
content: So, you did get the differential input about right, but not the role of Vref.The ADC will convert the *differential input* in the -Vref / +Vref range. If you use a Vref of 3V, then your differential range is effectively +/-3V, which is not what you want.With a Vin- at 2V and the expected input signal on Vin+ between 2V and 3V, your differential input is in the 0V / 1V range. You'll need a Vref of 1V to get the full positive scale for 3V input.And yes, you'll still lose the negative half in this case, so 1 bit of resolution.If you want to get the full ADC resolution, you'll have to approach it like this:- Put a reference voltage of 2.5V at Vin- (instead of 2V).- Use a 0.5V reference voltage for Vref. (Vref accepts from 0.1V to VDD, so no problem there.)You'll get the full 22 bits, obviously "centered" around 2.5V, but that doesn't matter, you'll just use the numeric output appropriately. You'll have negative values for inputs in the 2V to 2.5V range, and positive from 2.5V to 3V.

author: SpottedDick
author_rank: Regular Contributor
timestamp: May 02, 2024, 09:06:48 pm
content: Ah, OK! That was a perfect explanation! Vref is the centre voltage.I get it now, thank you!EDIT: I also had an OP-amp before this giving a small amount of gain to amplify the signal, I'm thinking this is just adding noise and will probably bring it out of the equation entirely.

author: SpottedDick
author_rank: Regular Contributor
timestamp: May 03, 2024, 11:18:37 pm
content: I'm fairly certain I understand how this works now, but just to double check before I start building this.I wanted to decrease the amount of precision references I'm using, so have managed to condition the input voltage to 0-2.5V.With this range, can I just tie -Vref to ground, use a reference of 1.25V on Vref, then place my input on +Vref. I should then get the full scale between 0-2.5V? (VDD is 3V)