I wish to make a voltage sensing circuit (range -15V to +15V) using an Arduino's ADC. The problem is that since this circuit will be part of a much larger circuit in which the Arduino is performing many other functions as well, the circuit needs to work both when the Ground of the Arduino and the Ground of the circuit whose voltage is to be sensed are shorted, and when they are not. I do have a waveshaping circuit which works when the grounds are shorted together. Please suggest some circuit or any other way I could approach this problem. The two circuits I have designed can be found at: !(https://i.sstatic.net/DBMI3.jpg) !(https://i.sstatic.net/n59IH.jpg)
-
\$\begingroup\$ To measure voltage you must have a reference. A schematic would go a long way to explain what you want. The question is not very clear. \$\endgroup\$vini_i– vini_i2016年01月04日 12:54:07 +00:00Commented Jan 4, 2016 at 12:54
1 Answer 1
the circuit needs to work both when the Ground of the Arduino and the Ground of the circuit whose voltage is to be sensed are shorted, and when they are not.
I read the above and the only sensible way to achieve this is to design an isolating circuit maybe like this: -
However, given you want a digital number representing your analogue value inside the Arduino I would go for your Arduino controlling an ADC that is isolated via an isolating SPI interface such as: -
The ADuM5401 is key because it also supplies power to the ADC chip. The ADC chip above is typically an AD77xx type device that comes in several flavours from ADI.
-
\$\begingroup\$ Okay, thanks! Is there a solution that would allow me to use the Arduino's inbuilt ADC capabilities? \$\endgroup\$agakshat– agakshat2016年01月04日 14:07:30 +00:00Commented Jan 4, 2016 at 14:07
-
2\$\begingroup\$ If you want the grounds to be un-shorted they could float to non-determinable values and this means you need isolation unless of course you can properly define how the two grounds can be with respect to each other. \$\endgroup\$Andy aka– Andy aka2016年01月04日 14:10:34 +00:00Commented Jan 4, 2016 at 14:10
-
\$\begingroup\$ Being a noob, I had to spend an hour figuring out your answer completely and checking out other possibilities related to it. It does seem like this is the best way to do it, so thanks. \$\endgroup\$agakshat– agakshat2016年01月04日 16:37:27 +00:00Commented Jan 4, 2016 at 16:37
Explore related questions
See similar questions with these tags.