https://github.com/synthesizer248/arduino_lipo_charger
An Arduino Atmega 328 -based LiPo battery charging system with automatic calibration, menu navigation, caculate internal resistance,and real-time monitoring.
https://github.com/synthesizer248/arduino_lipo_charger
16x2-lcd arduino cheapest diy-tool eeprom lcd-menu lipo programming protection rotary-encoder safty
Last synced: about 2 months ago
JSON representation
An Arduino Atmega 328 -based LiPo battery charging system with automatic calibration, menu navigation, caculate internal resistance,and real-time monitoring.
- Host: GitHub
- URL: https://github.com/synthesizer248/arduino_lipo_charger
- Owner: Synthesizer248
- License: other
- Created: 2025-02-17T21:44:41.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-02-18T21:27:53.000Z (2 months ago)
- Last Synced: 2025-03-04T04:15:53.320Z (about 2 months ago)
- Topics: 16x2-lcd, arduino, cheapest, diy-tool, eeprom, lcd-menu, lipo, programming, protection, rotary-encoder, safty
- Language: C
- Homepage:
- Size: 72.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arduino-Based LiPo Battery Charger
An Arduino Uno/Atmega328 compatible board -based LiPo battery charging system with automatic calibration,
real-time monitoring, and internal resistance measurement.
## Features
- **Automatic Calibration**: Fully automatic calibration using the Arduino's internal 1.1V reference and known shunt resistor value.
- **CC/CV Control**: PWM-based constant current and constant voltage control for safe and efficient charging.
- **Buzzer Alerts**: Distinct audible alerts for charging start (high-pitched tone) and charging stop (low-pitched tone).
- **Menu System**: Scrollable menu for presets, calibration, settings, and internal resistance measurement.
- **Real-Time Monitoring**: Displays charging voltage, current, and time on a 16x2 LCD.
- **Internal Resistance Measurement**: Assesses battery health by measuring internal resistance.
- **Save/Reset Settings**: Save and reset configurations via the menu system.
- **Safety Features**: Over-voltage and over-current protection with watchdog timer and soft-start functionality.## Hardware Requirements
- Arduino Uno
- 16x2 LCD with I2C Module
- INA219 Current Sensor
- Rotary Encoder
- LM2596 Buck Converter
- Buzzer
- Load Resistor (1 Ω, 10W)
- MOSFET (N-channel)
- Capacitors, Resistors, Inductor (see [Component List](Docs/ComponentList.md))## Software Requirements
- Arduino IDE
- Libraries:
- `LiquidCrystal_I2C`
- `EEPROM`
- `Adafruit_INA219`## Installation
1. Clone this repository:
```bash
git clone https://github.com/Synthesizer248/arduino_lipo_charger.git
Open the src/Main.ino file in the same directory of all other files using Arduino IDE
2. build the circuit first !.
2. Install required libraries via the Library Manager in Arduino IDE.
3. Upload the code to your Arduino Uno/Atmega328 compatible board.