0
\$\begingroup\$

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: !(http://imgur.com/lv0UKya) !(http://imgur.com/ISq9ou8)

\$\endgroup\$
  • \$\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 Jan 4 '16 at 12:54
2
\$\begingroup\$

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: -

enter image description here

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: -

enter image description here

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.

\$\endgroup\$
  • \$\begingroup\$ Okay, thanks! Is there a solution that would allow me to use the Arduino's inbuilt ADC capabilities? \$\endgroup\$ – agakshat Jan 4 '16 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 Jan 4 '16 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 Jan 4 '16 at 16:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.