2020 DFRobot Lead Acid Charger

Introduction

This page will show you step-by-step how to interface a DFRobot DFR0580 Solar Power Management to our Weather Center. LIVE DATA

Hardware Requirements

Power Management:

DFRobot DFR0580

This board utilizes a CN3767 Solar Power management IC. This IC requires an 15v~25v within 100W of Solar, it provides; 4A Trickle Charging, Constant Current, Constant Voltage, Float Charging dedicated to 12V Lead-Acid Batteries. It provides over-discharge protection for the battery at 10.8V (releases at 11.8V). In this design we are utilizing 4 INA219 Current sensors to monitor all Voltage rails around the DFRobot DFR0580 Solar Power Management board.

Back Plate Mounts

XBee 3 Power Monitoring

Power Monitoring, WeatherStation/main.py at master · eewiki/WeatherStation · GitHub

First make sure we are connected to XBee Network:

while xbee.atcmd("AI") != 0:
    print("#Trying to Connect...")
    time.sleep(0.5)

Next, Initialize INA219

solar_ina = INA219(SHUNT_OHMS, I2C(I2C_INTERFACE_NO), SOLAR_INA219A_ADDR)
solar_ina.configure_32v_2a()

Try Reading INA219:

solar_voltage = str(solar_ina.voltage())
solar_current = str(solar_ina.current())
print_solar = "Solar:" + time_snapshot + ":BusVolt:" + solar_voltage + "V:Current:" + solar_current + "mA:#"

Transmit values to xbee

xbee.transmit(TARGET_64BIT_ADDR, print_solar)

INA219 Example library:

This is our hacked INA219 library, it’s was originally written and posted by: GitHub - chrisb2/pyb_ina219: This library for MicroPython makes it easy to leverage the complex functionality of the Texas Instruments INA219 sensor to measure voltage, current and power., however it contained many micropython options not supported by the XBee 3.

Output Data

Solar:153931972:BusVolt:0.236V:Current:-2.0mA:#
Battery:153931972:BusVolt:13.156V:Current:17.0mA:#
5V_Rail:153931972:BusVolt:5.236V:Current:23.0mA:#
12V_Rail:153931972:BusVolt:13.148V:Current:-2.0mA:#