- Removed outdated TODOs and legacy references in hardware documentation. - Added details on the new CH32V203-based Sensor Module for CAN bus soil moisture sensors. - Documented updates to the Battery Management System (CH32V203-based) replacing the older bq34z100 design. - Refined sensor, pump, and power module descriptions with updated specifications. - Expanded firmware documentation to include Rust-based ESP32-C6 platform details, new OTA procedure, and MQTT telemetry topics. - Simplified toolchain setup and compilation process with updated scripts and instructions.
2.5 KiB
title, date, draft, description, tags
| title | date | draft | description | tags | ||
|---|---|---|---|---|---|---|
| BatteryManagement | 2025-01-27 | false | a description |
|
Battery Management Module
The PlantCtrl system uses an external Battery Management System (BMS) board that connects to the MainBoard. This module monitors battery voltage, current, and health metrics and communicates with the ESP32-C6 via I2C.
{{< alert >}}
The open-bms is a custom battery management board designed for this project. It uses a CH32V203 microcontroller to handle battery monitoring and protection. The older bq34z100-based battery management board is deprecated and located in the __Legay_Unused folder.
{{< /alert >}}
Hardware
The Battery Management Board features:
- CH32V203 RISC-V microcontroller for battery monitoring
- I2C interface for communication with the MainBoard
- Battery voltage and current sensing
{{< alert >}}
The open-bms board does not use the bq34z100 fuel gauge IC. That component was used in an older legacy design now located in the __Legay_Unused folder.
{{< /alert >}}
Integration with MainBoard
The battery management board:
- Connects to the MainBoard via a two-pin I2C bus
- Provides power connection to the battery
- Reports battery metrics via MQTT (if configured)
Usage
- If available, the system will use battery metrics for deep sleep management when charge is critical
- The nightlight can be automatically disabled if battery level drops below a predefined threshold
- All battery metrics are published via MQTT when configured
- The system includes safety mechanisms to prevent overcharging and deep discharges through the battery's built-in protection circuitry
Safety Notes
{{< alert >}} The system requires a battery with built-in protection circuitry. The MPPT system does not include charge termination or overcharge protection - the battery itself must provide these safety features. {{< /alert >}}
The CH32V203-based BMS monitors battery health and provides status information but does not control the charge/discharge limits. Ensure your battery can handle the maximum charging current from the MPPT system (up to 2.4A).
Setup
- Connect Battery: Connect your protected battery to the BMS board
- _connect MainBoard: Connect the Battery Management Board to the MainBoard via the I2C bus connector
- Power On: Power on the system and verify communication via MQTT
Status Indicators
The BMS board includes status LEDs, they behave like every normal powerbank (1-5 lights, animted if charging)