I am having a hard time to come up with a solution for shifting/converting a 10-24v varying voltage to a 0-3.3v signal for ADC measurement.
My application is to measure the supply voltage which will never be less than 10v, and never exceed 24v. Therefore I would like the full scale of the ADC in this range (10-24v), so I need to convert this to 0-3.3v for the Arduino board I am using.
Both the supply voltage and the Arduino are sharing a common 0v ground. The Arduino is also supplied by a 3.3v regulator on this supply.
I would appreciate any comments/suggestions.
I have tried resistor dividers, but these never go down to 0v when the input is 10v, and when I adjust the values to get (close to) 0v out at 10v in, it never goes up to 3.3v!! I understand using resistors will be linear, but I just need to 'offset' the lower voltage of 10v to 0v.
I have tried simulations with OP-AMPS, but these give a very similar result as resistors.
Hope this is possible.
I would say the easiest way is to just use a ADC with more resolution so loosing 40% doesn't matter.
Otherwise you can use an opamp as differential amp and subtract the voltage. But you would need an opamp suitable for your supply voltages you have available.
Hi, maybe you could use this ADC 12bit module
and this is 16bit ADC that reads between 0-24V
I go with septillion (post# 2).
Use an external A/D with a higher resolution, and ignore the 0-10volt part.
Much easier, and potentially more accurate than subtracting 10volt with an opamp.
"Convert to 0-3.3volt" rings warning bells. Is this a 3.3volt processor.
Then it most likely has a ratiometric A/D, and could be a bad idea for measuring 'voltage'.
A voltage divider to 2.048volt, and an ADS1115 breakout board set to PGA2 could solve your problem.
An INA216 breakout board (voltage AND current) could also work. No other parts needed there.
Thanks for your input guys.
I will go with an external ADC with a higher resolution and measure the full voltage range as suggested. Thanks.
I did try a differential op-amp set-up but could not get it to work on my simulator. I do not have any op-amps to rig up a breadboard.