7

I would like to monitor the battery voltage of a 48v solar battery system. The expected voltage range is 40-65v.

I have tried creating a voltage divider with 2 resistors but with all values I have tried one resistor almost melts as soon as you connect to battery.

Also, using a voltage divider creates a (small) drain which I would like to avoid.

Can anyone suggest a way of reading high DC voltage (40-65v) with and Arduino (really I'm using an ESP8266)?

If Voltage Divider

please suggest resistor types (e.g. 1/4watt or 1-2% etc, I'm new here but know there are many types) and values that I could read with A0 (analog pin, max 5v)

Can I use a MOSFET to connect the voltage divider just before reading the voltage? How?

or another way

like a circuit (from AliExpress) or using some other component that would be greatly appreciated.

So far this article has been helpful, it talks about a voltage divider with a opamp to get more accuracy, but I need a bit more advice from someone that knows more than myself.

https://openenergymonitor.org/forum-archive/node/11011.html

Thanks in advance for any help.

Joelm
  • 73
  • 4
  • 3
    Is this what you are trying to do? https://electronics.stackexchange.com/questions/42710/how-to-read-high-voltages-on-microcontroller – VE7JRO May 21 '19 at 23:44
  • 1
  • the resistance of your voltage divider (the sum of both resistors) needs to be that high so that the current is rather small, milliamps or less (to prevent the melting of the resistors and the discharge of the battery). Note that the proportions of both resistors define the voltage level for the analog in while the sum of both resistors are relevant for the current. So higher is better but unfortunately you also need 2) that resistance to be low compared to the input impedance of the analog input. This is where the OPAMP might come into play. Both are adressed in the link posted by VE7JRO.
  • – Ghanima May 22 '19 at 00:18