- Created by Robert Nelson, last modified on Jan 27, 2020
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 Solar Power Management Lead Acid at Digi-Key
- 4 x DFRobot SEN0291 INA219 Current Voltage Sensor at Digi-Key
- 2 x B B Battery BP12-12-T2 at Digi-Key
- GROVE - I2C HUB (6 PORT) at Digi-Key
- XBee SMT Grove Development Board at Digi-Key
- XBee 3, 2.4Ghz Zigbee 3.0, U.FL Ant, SMT at Digi-Key
- Digi 2.4Ghz Whip, U.FL Ant at Digi-Key
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
- Solar BackPlate: 3D design Solar_BackPlate_v04 | Tinkercad
- XBee BackPlate: 3D design XBee_BackPlate_v07 | Tinkercad
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:#