diy solar

diy solar

Anyone working with the Overkill Solar Arduino lib?

Wow, that is really odd. But I think it might have to do with what I wrote about the fixed current amount it's trying to drive into each resistor to "balance" it. Seems to be oscillating as a result. Thanks for putting it together and testing it. What size resistors did you use?

100KΩ
 
Wow, that is really odd. But I think it might have to do with what I wrote about the fixed current amount it's trying to drive into each resistor to "balance" it. Seems to be oscillating as a result. Thanks for putting it together and testing it. What size resistors did you use?

Also, I don't think it can be the balance current (unless I'm really misunderstanding things) since that oscillating occurs even when I set the balance threshold voltage to 5v. (The default value was 3.4v)
 
[UPDATE]
I've pushed some improvements to the sketch in the repo. Now, the larger single MQTT message has been split into smaller packages for pack, cell voltage, balancing, temp and protection. This gets around a size limit that I guess Amazon has. Also, the json formatting is fixed and is processed by the MQTT server properly.


I have been able to use IoT Core rules to get the data into Dynamodb and also into Timestream. I bailed out on dynamodb after realizing what a pain it was going to be to get the data into any visual. However, Amazon QuickSight can use a Timestream table as a direct query data source. Here's a simple dashboard I created last night using the IoT Core --> Timestream --> Quicksight method.

The up ticks are the sun coming up. The down spikes are my fridge turning on. The cell voltage diff is in milliamps

BASIC setup instructions have been added to the Readme for everything. You'll still have to do some of your own research and study I'm sure
 

Attachments

  • batteries.png
    batteries.png
    705.1 KB · Views: 22
Last edited:
Have you seen Zack's thread on data from Outback Skybox?
He uses influxDB and it looks like it provides some pretty sweet visuals.
 
Have you seen Zack's thread on data from Outback Skybox?
He uses influxDB and it looks like it provides some pretty sweet visuals.
Yep, that was helpful in charting my course in this project
 
Here are some updated screenshots of the dashboard as I've refined it. This is working really well :cool:
 

Attachments

  • Screen Shot 2021-10-06 at 12.33.51 PM.png
    Screen Shot 2021-10-06 at 12.33.51 PM.png
    1.3 MB · Views: 32
  • Screen Shot 2021-10-06 at 12.32.20 PM.png
    Screen Shot 2021-10-06 at 12.32.20 PM.png
    1.3 MB · Views: 26
  • Screen Shot 2021-10-06 at 12.33.11 PM.png
    Screen Shot 2021-10-06 at 12.33.11 PM.png
    1.6 MB · Views: 30
  • Screen Shot 2021-10-06 at 12.34.28 PM.png
    Screen Shot 2021-10-06 at 12.34.28 PM.png
    935.5 KB · Views: 26
  • Screen Shot 2021-10-06 at 12.34.43 PM.png
    Screen Shot 2021-10-06 at 12.34.43 PM.png
    1 MB · Views: 29
It's fascinating to see in realtime what I've learned academically. For example, voltages of series wired LiFePO4 modules drift apart as voltage rise above 3.5 when there's continued input current. As I understand the chemistry, internal resistance decreases and this is to be expected. Likewise, they converge as input current drops and cell voltage drops. Here's to top balancing!
 
Last edited:
Agree with you about Raspberry Pi being overkill if it's just communication with BMS needed. Both too much power usage and more prone to failure than microcontroller in my humble estimation.
Apologies for the late reply (first post here), but wanted to add $0.02... Agree that microcontrollers can provide no-frills intimacy with the task at hand and the task here is pretty tightly scoped.

OTOH, a "larger" rPi-based system has the benefits of language and library support. For instance, input parsing and validation libraries for tons of different object serializations (JSON, XML, Protobuf, etc) are easily available in most languages that would compile down to an ARM binary or even run interpreted. Higher level languages have far better support for exception handling and processing, feeding into monitoring systems like Prometheus. These are all possible with embedded controllers, but the total cost of ownership (TCO) when development costs are included are likely going to be far higher.

This is definitely a YMMV based on the personal experience of the user. Just bringing it up for consideration...
 
Thank you for providing additional context!

It's interesting to see the data architecture that each person uses. Sometimes transporting data over UART, sometimes I2C,USB,wifi,ethernet, etc.

Thank you!
 
Totally agree about the possibilities with pi being greater. Not sure I can agree about the tco. I'd put money on requiring just as much time needed to hack and code. As for maintenance, it's probably a wash. Power consumption on the pi would be higher though - can't prove that, just speculation.

I took the route of esp32 over pi for this project because I wanted to learn how to use these little $7 computers. I figured if I got comfortable with them and they entered my bag of tricks, it'd be pretty powerful. So far at my offgrid retreat I have 5 in play. For a total chip cost of about $35. ...then there are the 3 that I fried trying to solder sma jacks before buying esp32-wroom-32u with the built in ipex port. So, $21 lost due to mistakes.

...I digress

Two are connected to overkill bms's.

Two are acting as wifi nat repeaters to get wifi to the other units from my 4g hotspot.

One is monitoring water flow and usage and turning on/off my uv sterilizer when water flows from the rain water filtration system. This is a power saving move. Otherwise the uv bulb just produces heat all the time.

Next steps with these chips is to monitor the Vermaposting toilet conditions and try to use the ac condensate for cooling and moisture in there.

... next next step is to create a monitoring system for wildlife and muthuh f'in' poachers that I know sneak onto the ranch at night. For that I'll be using some or the mind blowing projects and platforms for image classification that are compatible. I'm thinking drones with ir cameras and image recognition sending data back.

....finally, I'm ditching AWS in favor of blynk.io. it's free for developers and better suited for what I'm doing.

JB
 
awesome work! ?

exemplary even! ?

any JBD/overkillsolar bms user should take note, in my humble opinion!

wow! so inexpensive to build and such functionality
 
Anyone get this working with generic MQTT server? I could not find an option with the AWS_IOT for none MQTT/S, so I started with a normal MQTT client (PubSubClient), but everytime I even load in the BMS with "OverkillSolarBms bms = OverkillSolarBms();", it boot loops with "Guru Meditation Error: Core 0 panic'ed (StoreProhibited). Exception was unhandled."
 
Back
Top