I wanted 60v battery level indicator circuit. Can anyone hep??

Status
Not open for further replies.
Ok, the generic name for what you want is an "Expanded scale voltmeter", eg. full range on the meter display is only part of the actual input voltage.

This shows the principle; it uses an analog meter but you could equally use a digital voltmeter or LED bar graph setup. The zener sets the minimum voltage reading point, then the resistor divider sets the scaling to maximum reading.

Or if you want to build a digital display as well, something like this could be a starting point:

Add a zener in series with the measurement voltage input to increase the voltage you start to get a reading, then adjust the scaling in software to match a display of 0-100 with the battery capacity range.

The source code for the PIC program is in the downloads as "Project documentation"
 
kparjun416
How accurate of a voltage measurement do you want?
35 to 80v is a reasonable range for 20 in series. 2.65 max per cell x 20 is 73v. 2.0V absolute min discharge so 40v min plus some bottom buffer.

1 volt resolution is likely enough, right?

also, when you ask for a circuit, what output do you want? A 0-5v voltage on a pin, an 8-bit parallel digital output on 8 pins? A serial output (I2c or spi or UART?), do you want an app to display it on your phone? Or a 2, 3, or 4 digit display? An LCD panel with the number? A bar graph with 40 LEDs in blocks of 10? What is a circuit in your mind?
 
Arduino and ADS1115 using this circuit possible??
The battery level indicated on LEDs (0% red led, 50% Yellow led, 100% green led )
 
If you just put a 150k ohm (connected to positive of battery pack in series with a 10k ohm and connect to ground. Then use the on-board ADC (I.e. analogRead(A0)). This will give you a reasonable range of 0 to 80v on the 5-volt scale (assuming you're using a 5v Arduino). The voltage divider will draw only 0.5 mA.

that is 80v battery will read: 1023 = analogRead(A0).
40v (absolute minimum discharge = 511 counts
Full charge (absolute maximum) at 3.65v/cell = 73 volts = 933 counts.
So your working range should be 511 to 933 counts or 422 counts over the 33v working range.
This is just a bit better than 0.1V per count as resolution.

no need for an external ADC.

C++:
void setup()
{
  pinMode(2, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(8, OUTPUT);
}

void loop()
{
  int i = analogRead(A0);
  if (i < 562) {
    digitalWrite(2, HIGH);
    digitalWrite(4, LOW);
    digitalWrite(8, LOW);
  }
  else if (i < 740) {
    digitalWrite(2, LOW);
    digitalWrite(4, HIGH);
    digitalWrite(8, LOW);
  }
  else {
    digitalWrite(2, LOW);
    digitalWrite(4, LOW);
    digitalWrite(8, HIGH);
  }
    delay(1000);
}





 
Last edited:
Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…