Looking for any info about an idea I am trying to make reality. I have multiple 12v batteries wired in series and am looking for a way to use a computer to monitor individual battery voltages in real time via a usb interface. From what I gather, I should able to use an 8 channel board to measure 8 different voltages. I am measuring about 30. So, this would mean ganging up multiple 8 channel boards in some capacity. Am I on the right track?
Any info or a point (or even a nudge) in the right direction would be super appreciated!
This is quite a difficult problem that will probably involve isolation at some point.
At first glance I might suggest 30 "nodes" that are powered from the battery they are connected to and have an isolated link to a master to send the data.
WOW! Thanks so much for the replies. I was not sure how "watched" these forums are when I posted. We just completed the build of Canada's only electric drag racing truck. 60 12 AGM batteries. Two strings of 30. When we are charging the float voltage actually goes above 400VDC.
The students and I want to keep this simple. Well, as simple as possible. When we are charging 60 batteries simultaneously we need to monitor each battery for it's voltage. When the batteries reach 14.5 volts the amps on the charger needs to be manually turned down. Yes, their is a solution to do this automatically but that is a $6,000 solution. We are a high school and need a fairly "simple" solution. Ideally we would have a computer monitor the individual batteries and set an alarm when a single cell reaches 14.5 volts as not to over charge it. Right now we do this manually with a volt meter across one battery at a time.
I thought of breaking this task into smaller chunks.
How to get an arduino to monitor 1 battery voltage and put this out real time to a computer.
How to get an arduino to monitor the max capacity per board and put this out real time to a computer.
How to chain those "nodes" together and have a computer read this out real time.
We have some resources and some technical persons on board but the leg work is being done by me.
So, if their is a first step, a link, anything someone thinks would be useful, I am all ears, errrr I guess in this case all eyes? ;D
Well there will be other ways and other preferences using relays etc but I'm a control (network) freak so I'll plug that angle.
You don't say how fast your "real time" is but as we're talking battery charging I'd say not very fast by microprocessor standards.
What's you budget as well.
Personally I'd make a custom node board, but we'll stick with more or less off the shelf stuff for now.
How about one of the tiny Arduinos like the Pro mini, sandwich onto that a small board with an isolated RS485 transceiver (examples are ADM2481, IL485, IL3685, ISO15 and LTM2881) and a 6-way connector with these connections
BAT+ Connect to host battery
BAT-
GND RS485 earth return
VBUS RS485 tranceiver power
A RS485 data signals
B
You probably need a pre regulator as well because the minis are only rated for 12v input and your batteries will go higher than that.
I don't know how much the pro mini costs but there are many similar clones about.
So now you have the makings of a simple multi-drop RS-485 network with each node powered by it's host battery and able to communicate to the network through an isolated link.
This link goes to a master Arduino and that controls the data by simply asking for the value of 0 through 29 one at a time in a loop.
I think that covers it but I don't understand this
How to get an arduino to monitor the max capacity per board and put this out real time to a computer.
I think it could be done using an Arduino per battery. Does your budget stretch to perhaps $6 worth of parts per battery? Think I'd go for RS485 comms between modules and a master which could then communicate with the PC. Sounds like you have access to a lot of cheap labour so it might be viable....
My solution would be to put a voltage to frequency converter chip across each battery. Then couple them into the electronics with an opto isolator. Then use a multiplexer to funnel them down to an input and use the pulseIn function to read the voltages. It's much cheaper than using an arduino per battery as you will still need the opto isolators for this solution.
WOW! Thank you so much for all the info. I wish I personally had more experience with electronic design and implementation. Anywho, I am thinking that putting a frequency converter across each battery or some variation of is the road to go. Okay, ummmmmm......any idea what that looks like? I am sending this info to a support of mine to see where to next! Thanks again all. Hopefully this will be the first step forward in a really neat project!