Hello long story short is i have multiple battery packs they are up to 4.2v about 14 of them for a 48v setup. I need to monitor each pack on voltage. It is for a small solar setup. Here is my problem over time I will be adding more packs and I just can't keep using other analog lines to monitor because there are not many. So is there away I can use something for i2c to monitor. And later able to daisy chain more packs to it? What I can have some kind of i2c chip on each pack and daisy chain them together?
Yes, there are chips available to do what you want. One I came across recently is the MAX17043. That says it's a host-side device, you may want to explore Maxim's catalog for pack-side devices too.
Basically you can have each monitoring chip powered by its single cell. Then use optocouplers on the I2C lines to isolate the voltage, so the master Arduino can talk to each chip without exceeding its voltage limits.
Hello MorganS Thank you. I never thought about using a optocoupler Before.Actually that might be the best thing to do. Is there one for High current isolating because these battery packs can go anywhere from 40 amps up to 100 amps Because there are 80 In parallel? But the voltages always remains the same 3.7v fully charged up to 4.2v?
josephchrzempiec:
Hello long story short is i have multiple battery packs they are up to 4.2v about 14 of them for a 48v setup. I need to monitor each pack on voltage. It is for a small solar setup. Here is my problem over time I will be adding more packs and I just can't keep using other analog lines to monitor because there are not many. So is there away I can use something for i2c to monitor. And later able to daisy chain more packs to it? What I can have some kind of i2c chip on each pack and daisy chain them together?
Using i2c, the addressing, seems to me would be an issue. I'm wondering if you may need something like this (either the breakout, or "roll you own" with just the chip that's on it) which will read up to 64 of the same i2c address. You could then have nearly anything such as an i2c a/d, inexpensive micro (just one ADC each needed), or really anything with i2c to get the voltage from each individual battery pack.
EDIT:
As far as powering each chip which is monitoring each cell, if an MCU was used, you could simply set to "brownout" at a specific level (below minimum pack voltage) and if you can't address it on the bus, that cell would obviously be too low. Otherwise you could read the voltages. I suppose the only problem with all of this, may be an issue with sending an i2c voltage to a pin of device that's powered down (voltage below typical 3.3 i2c voltage).
Th current of the pack has nothing to do with the optos. They are in the I2C line to isolate them. And (at least the easiest way) you use a resistor to current limit he opto depending on the voltage. And because of Ohm's law, that's all that matters.
Compare it to your house. You have fuses of 16A (or 10A or 25A) but you can plug in a 5W (21mA) nightlight without a problem. It will just draw 5W (and 21mA will flow) no matter if there is 1A, 10A, 16A, 25A etc "available".
Depending on the technology chosen for the cell-side chips, you would have to select an appropriate current-sensing resistor so that the chip can measure the current going into or out of the cell. To make it easy, I would use multiple identical chips with one resistor each.
However, since you have cells in series, the current through the whole pack would equal the current through each cell, so you could get away with measuring current at one point and independent voltage measurements on each cell.
Do you also want to perform cell balancing? Then each cell-side chip needs to be able to route current around a fully-charged cell so that the undercharged cells may continue charging. That's starting to get a bit complex but I'm sure there are commercial solutions available to buy.
Hello Morgan The max 17043 is the chip I'm looking into it seems that This is what I'm looking for. As for the current monitoring What i have decided to do is Monitoring all the packs that are in series. I found this on eBay and this might do the trick it also have wireless NRF24L01 on it which i been playing around with it for awhile. So i should be able to adapt it to my setup Click here for eBay.
That looks like a useful device. Other chips in the MAXIM family can do that too, but a pre-built module is always preferable to designing it yourself.
Morgan no i want to use it for a Arduino not the Display it's self. So i can have Ethernet use and display it online and be able to watch it while i'm away from home.
Hello here is a update to what I'm trying to monitor. I found a little module using the max17043 Fuel gauge from sparkfun. And it works kinda. Fuel gauge can be found here. But from what I'm reading only i can use one at a time from reading some site online because it has a fix i2c address and i was wondering Is it possible that i can put two of these modules on it? Or is it some way to make it work?
Note that most of these fuel gauges are for single cells.
I2C can't just be stacked (cells in series).
An 48volt stack requires a special (rare/expensive) chip.
You might want to look into a more DIY-friendly "flying capacitor" solution.
Leo..
Hello wawa is there a way I can monitor different voltages without having to string multiple wires up? Because analog pins are not many and sense the fuel gauge was i2c I thought I can put multiple of these modules in a row. Is there another way I can achieve the same result?
I found something. That might do the trick. It uses a ima219 current and voltage monitoring. It can support up to 4 of these chips. But looking to see if can support more then four.
Problem with multiple single cell voltage monitors is that you can't use common ground (needed for I2C).
That would short the lower cells.
The INA219/226 is limited to 26/36volt, so you can't measure 48volt with that chip.
An INA169/196 can do 60/80volt, but it's analogue out, not I2C.
Those chips are just single point voltmeters. Seems you want to measure individual cell voltage (two points).
That means a whole lot of those chips for a stack, and some uneven current draw from the cells.
Current measurement is not a problem.
You just can measure that at one point, because it's the same everywhere in the stack.
Did you Google something like "Arduino battery cell stack voltmeter site:arduino.cc" or "Arduino flying capacitor".
Leo..
MorganS:
Then use optocouplers on the I2C lines to isolate the voltage, so the master Arduino can talk to each chip without exceeding its voltage limits.
That is not so straight forward as the I2C lines are bidirectional and an opto isolator is not.
This is the flying capacitor technique.
...From the guys that invented I2C. Figure 4 or 5 are what you are looking for.
It is not as simple as I first suggested. There is one additional chip required at the master side to split SDA into unidirectional lines. SCL probably doesn't need it as the slave is unlikely to need clock stretching.
Hello thank you for helping me with this problem. I have ordered some opto isolator and they are on the way. But for now. I need to monitor two of my cell packs. Sense i can not connect the grounds together at least this is my understanding that i can not do this. How can i monitor both cells for testing?
How can i monitor both cells for testing?
Use a potential divider to ensure the higher cell does not present a voltage greater than the Arduino's supply voltage.
Thank you mike. But still have the problem is daisy chaining cells together. Only thing i can think of is either using Attiny85's and daisy chaining them together using Either SPI or one Wire Interface. Or some kind of I2c device on each one and again daisy chaining them Together. But All the I2c devices i found only can hold a max of 4 devices. Without having a lot of wires connecting everything together it is very hard for me to figure what is the Less amount of wiring hook ups i need. I saw a guy ones he talked between 3 arduinos using i2c one master and two slaves. I know multiple arduinos is a lot but using this and or Using attiny85 chips might be the only way to go for me.
But still have the problem is daisy chaining cells together.
I thought that is what you wanted to do? I don't understand what you see as a problem.