Pages: [1]   Go Down
Author Topic: Need 24 channel isolated ADC inputs?  (Read 3490 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

First time post here but have played with Arduinos for a while.....
I built an electric vehicle a few years ago www.mightyboyev.com that I use as my daily drive and I would like to improve my battery monitoring system. The vehicle uses LiFePo batteries (24 off in series). I use a Battery Management  System that works well for balancing the cells (nomial 3.4 each) when charging but the monitoring is less then successful with the PakTrak modules that were designed for old school lead acid technology. I had considered going CAN bus but I want to keep this project simple hence the thought of using a 32 bit Arduino and trying to read 24 isolated analog inputs. Rather then redevelop the wheel, I thought someone may have been here before? Does anyone know of a shield out there that might be suitable for such ADC input task?
Any views appreciated......
Logged

Miami/Florida
Offline Offline
Sr. Member
****
Karma: 14
Posts: 350
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This may help.

http://playground.arduino.cc/learning/4051
Logged

Perseverance is 90% of the solution. The remaining 10% is more perseverance.

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 545
Posts: 27353
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The 24 are in series, so you have a string of voltages from 3.4V up to 81.6V?
Or, you have access to the 24 inputs so the Arduino will only see 3.4V from each one?
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry not explained very well.

Yes the 24 (3.4Volt) cells are in series and I could measure accordingly.

ie cell 1 @ nominal 3.4 volts then cell 2 as 6.8volts etc up to the 81.6 volts as you have indicated and then in the sketch calculate the differences and hence monitor each cell.

A few points about any connecting to the traction battery pack:

It is important that I maintain the electrical isolation of this pack and do not want to reference to the chassis ground in anyway. An aux 12 volt battery is used (normal required by law) to power vehicle lights, horn, warning indicators and certain other items. This is connected to chassis ground as in a conventional ICE vehicle. This aux 12 volt source is used to power the battery management system (BMS) in my conversion as well. The Arduino could be powered from either source but I would prefer the aux 12 volt option. In DIY EV conversions, it is considered best practice to not bring the high traction pack voltage inside the passenger compartment in any way (for safety reasons).

So I would somehow like to isolate the cell measurements from the displaying device inside the vehicle totally.

Hence the thought about isolated differential inputs that can handle the voltage. Either via a series string measurement and simply calculating the difference as mentioned above or by using 24 separate floating/isolated inputs.

Hope this explains a bit more?

Regards
Bruce
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 545
Posts: 27353
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

We've discussed in the past.
My idea was to have a string of relays and a battery powered arduino acting as a voltmeter/relay controller. One relay would close at a time connecting the +/- of each battery to the arduino ADC input, thus the arduino only sees one battery voltage at a time, and the arduino "gnd" floats and is the same level as the battery -.
The relay control circuit can be a series of TOIC6B595 shift register that is easily driven and can sink decent current.
Altho, the relays can likely be simple 5V telecon relays and likely driven from arduino outputs directly.
For example, here's 15 being controlled by a '1284

Those weren't DPDT. These are, and need just 11mA at 3.83v to turn on.
http://www.digikey.com/product-detail/en/IM22TS/PB1168-ND/1828440


* Battery_series_measurement.jpg (80.15 KB, 960x720 - viewed 97 times.)
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6637
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Here are two solutions:

1. Use a bank of DPST reed relays such as http://uk.mouser.com/ProductDetail/Coto-Technology/8002-05-10/?qs=sGAEpiMZZMv4tz1TW%2fArE7b2edLOV1FE%2fukC5Xbo4CI%3d to connect a capacitor across one of the cells at a time. See RL1, RL2 ... in the schematic. The series resistors protect against battery shorting and limit the capacitor charge current. Then use another DPST reed relay (RL0) to connect the capacitor to ground and an analog input pin. Drive all the relays from 5 Arduino pins using 3 x 74HC138 demultiplexer chips (this guarantees that you only activate one of them at a time). Don't forget the flyback diodes.

2. Use one ATtiny25 processor per cell, powered from the cell. Each one measures its own Vcc using its internal 1.1V analog reference. Calibrate the 1.1V reference of each ATtiny and store the calibration constant in EEPROM. Program the ATtinys to remain in sleep mode until woken up to measure the cell voltage. Use opto isolators to communicate between the Arduino and the ATtinys. You can either connect them in a ring configuration (needs 25 opto isolators, but if a single ATtiny unit or single cell fails then you get no readings at all), or you can connect them in a parallel bus configuration (needs 48 opto isolators).

The costs should be about the same, since one DPST reed relay + 2 resistors + a diode costs about as much as one ATtiny + 1 or 2 opto isolators + one resistor (to drive the opto isolator) + one decoupling capacitor; but the first suggestion is probably easier to get working.


* Scan 198.JPG (66.39 KB, 1653x1165 - viewed 99 times.)
« Last Edit: September 01, 2013, 07:50:48 am by dc42 » Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the replies,  I will look closer at the Atiny25 idea.... I am not a big fan of a relay style solution..... only a personal thing. Any optos that you would recomend looking into as well?
Cheers
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6637
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Just about any opto isolator will do for this, provided it has a reasonable current transfer ratio at low currents. The cheapest on that my usual supplier has is http://uk.farnell.com/everlight/el1112-ta-vg/optocoupler-tr-o-p-sop-5/dp/1852690, which looks just fine, assuming you will be making a pcb and are happy to use SMD components.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Offline Offline
Faraday Member
**
Karma: 62
Posts: 3077
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

what is that "power on failsafe"  relay expected to do, exactly ?
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 545
Posts: 27353
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Make sure no relay turns on until commanded. It keeps the individual coils in the off state until the sketch starts up and makes the overall GND connection so they can be turned on one by one.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Ireland
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I know that this thread has been around for a while but ... There are some very neat hall effect current sensors which could solve your isolation issues.  Put a resistor in series to measure battery voltage, with completely isolated sense to output.
Logged

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6637
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I know that this thread has been around for a while but ... There are some very neat hall effect current sensors which could solve your isolation issues.  Put a resistor in series to measure battery voltage, with completely isolated sense to output.

Nice idea; however the Hall current sensors I have come across are only reasonably accurate at currents of several amperes and higher, which would be too much drain on the battery.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1]   Go Up
Jump to: