0% found this document useful (0 votes)
14 views3 pages

Usecase 17

The document outlines a Battery Cell Monitoring System using Arduino and various sensors to monitor voltage, current, and temperature of battery cells. It includes components, wiring details, and Arduino code for real-time monitoring and safety measures against overcharging and overheating. The system alerts users through a buzzer and LED indicators while displaying data on an LCD and Serial Monitor.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views3 pages

Usecase 17

The document outlines a Battery Cell Monitoring System using Arduino and various sensors to monitor voltage, current, and temperature of battery cells. It includes components, wiring details, and Arduino code for real-time monitoring and safety measures against overcharging and overheating. The system alerts users through a buzzer and LED indicators while displaying data on an LCD and Serial Monitor.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

⚡ Use Case 17: Battery Cell Monitoring System

🎯 Objective:
Develop a hardware system that monitors the voltage, current, and temperature of individual battery cells to prevent overcharging,
overheating, and failures using Arduino and sensors.

📋 Components Used (From Your List)


Component Purpose

Arduino Uno Main microcontroller for monitoring and control

Voltage Sensor (x2) Measures voltage of battery cells

Current Sensor Monitors current flow through battery pack

Temperature Sensor (LM35) Measures temperature of battery cells

Relay Module Disconnects battery if unsafe conditions are


detected

Buzzer Alerts user in case of overheating or overcharging

LCD Display (I2C) Displays real-time voltage, current, and temperature

LED Indicators (Red/Green) Shows normal and warning states

🔌 Pin Connections & Wiring Details


Component Arduino Pin

Voltage Sensor 1 A0

Voltage Sensor 2 A1

Current Sensor A2

Temperature Sensor (LM35) A3

Relay Module D3

Buzzer D4

LED (Green - Normal) D5

LED (Red - Warning) D6

LCD Display (I2C) SDA/SCL

📜 Arduino Code for Battery Cell Monitoring System


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// LCD setup
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Sensor and control pins


#define VOLTAGE_SENSOR_1 A0
#define VOLTAGE_SENSOR_2 A1
#define CURRENT_SENSOR A2
#define TEMP_SENSOR A3
#define RELAY_PIN 3
#define BUZZER_PIN 4
#define LED_GREEN 5
#define LED_RED 6
// Battery safety thresholds
float MAX_VOLTAGE = 4.2; // Max safe voltage per cell
float MIN_VOLTAGE = 3.0; // Min safe voltage per cell
float MAX_TEMPERATURE = 50.0; // Max safe temperature in °C
float MAX_CURRENT = 10.0; // Max safe current in A

void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.backlight();

pinMode(VOLTAGE_SENSOR_1, INPUT);
pinMode(VOLTAGE_SENSOR_2, INPUT);
pinMode(CURRENT_SENSOR, INPUT);
pinMode(TEMP_SENSOR, INPUT);
pinMode(RELAY_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_RED, OUTPUT);

digitalWrite(RELAY_PIN, HIGH); // Battery connected


digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_RED, LOW);
}

void loop() {
// Read sensor values
float voltage1 = analogRead(VOLTAGE_SENSOR_1) * (5.0 / 1023.0) * 5; // Scale voltage
float voltage2 = analogRead(VOLTAGE_SENSOR_2) * (5.0 / 1023.0) * 5;
float current = analogRead(CURRENT_SENSOR) * (5.0 / 1023.0) * 30; // Scale to real current range
float temperature = analogRead(TEMP_SENSOR) * (5.0 / 1023.0) * 100; // Convert to °C

// Display values on LCD


lcd.clear();
lcd.setCursor(0, 0);
lcd.print("V1:");
lcd.print(voltage1, 2);
lcd.print("V V2:");
lcd.print(voltage2, 2);
lcd.print("V");

lcd.setCursor(0, 1);
lcd.print("I:");
lcd.print(current, 2);
lcd.print("A T:");
lcd.print(temperature, 1);
lcd.print("C");

// Safety checks
if (voltage1 > MAX_VOLTAGE || voltage2 > MAX_VOLTAGE || current > MAX_CURRENT || temperature >
MAX_TEMPERATURE) {
digitalWrite(RELAY_PIN, LOW); // Disconnect battery
digitalWrite(BUZZER_PIN, HIGH);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_RED, HIGH);
lcd.setCursor(10, 1);
lcd.print("ALERT!");
} else {
digitalWrite(RELAY_PIN, HIGH); // Keep battery connected
digitalWrite(BUZZER_PIN, LOW);
digitalWrite(LED_GREEN, HIGH);
digitalWrite(LED_RED, LOW);
}
Serial.print("V1: ");
Serial.print(voltage1);
Serial.print("V | V2: ");
Serial.print(voltage2);
Serial.print("V | I: ");
Serial.print(current);
Serial.print("A | T: ");
Serial.print(temperature);
Serial.println("C");

delay(1000);
}

🔧 How the System Works


1 Real-Time Monitoring
1️⃣

● Voltage sensors measure voltage of individual battery cells

● Current sensor tracks current flow through the battery

● Temperature sensor (LM35) monitors battery temperature

2️⃣Overcharging & Overheating Protection

● If voltage exceeds 4.2V per cell → Relay disconnects battery

● If current exceeds 10A → Relay disconnects battery

● If temperature exceeds 50°C → Relay disconnects battery

3️⃣Alert System

● Buzzer sounds when dangerous conditions are detected

● LED Indicator:

○ Green LED ON → Normal operation

○ Red LED ON → Battery disconnected (overvoltage/overheat)

4️⃣LCD Display & Serial Output

● Voltage, Current, and Temperature values shown on LCD

● Real-time data sent to Serial Monitor

✅ Final Outcome
✔ Monitors battery cells in real-time
✔ Prevents overcharging, overheating, and overcurrent
✔ Automatically disconnects battery in unsafe conditions
✔ Alerts user with buzzer and LED indicators
✔ Displays data on LCD and Serial Monitor

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy