Voltage drop data logger in automotive applications

Thread Starter

sid1202

Joined Jul 25, 2016
25
Hi guys,

I'd like to build a voltage drop data logger to help find what circuit is draining a cars battery intermittently. I looked at the DVM with an arduino project but i'm not sure that is the right circuit to measure a voltage drop.

Here's some details; When there is a parasitic draw in a circuit, there will be a voltage drop across that circuits fuse. Depending on the fuse size, the voltage drop correlates to an amount of current draw through the fuse. When there is a hard failure, you can find the problem circuit this way, but when the issue is intermittent and not present when in the shop then your goose is cooked.

The ranges is in millivolts of course but if the fuse happens to blow, the voltage will rise to battery voltage of 12 to 14.5 volts

Any suggestions ?

Sid
 

wayneh

Joined Sep 9, 2010
16,400
A cheap OBD II scanner (under $20) would at least log system voltage against time. That might give you some hints about what is happening at that instant.

An ammeter could be inserted into any particular circuit but it might take awhile to narrow it down unless you already have some ideas.
 

Sensacell

Joined Jun 19, 2012
2,622
A non-invasive clamp-on DC current probe would allow checking wire-by-wire, without having to break into any insulation or even connect to the copper.

But these are expensive beasts.

Beware that there are tons of cheap units that measure AC current, these DO NOT WORK with DC.
DC unit is an entirely different animal.
 

Reloadron

Joined Jan 15, 2015
5,667
I can't speak for all vehicles but my old Yukon Denali likely has maybe a few dozen assorted fuses over 3 fuse panels and measuring across any given fuse is a challenge unto itself. Getting in there to measure the mV drop across any fuse in the panels will be a challenge in itself. However, there is fuse data available on the bright side covering the mV drop across fuses and as you mention based on their current rating. Here is one such good example and keep in mind the mV drops are for maximum rated current so a grey colored 2 Amp fuse at 2 amps will have a voltage drop of about 171 mV with a cold resistance of 55.6 milli-ohm and that is right at the blade terminals. A 30 Amp fuse at 30 amps will have about an 87 mV drop and a cold resistance of about 1.85 milli-ohm. Here is an example chart which I am sure you have seen. The link is to Mini size.

So you are looking to measure relatively low voltage levels and while not really a big deal it is also not easy as you mention logging the data. Logging data means you need to have a sampling rate to collect the data and once you collect data it is like collecting anything, you need some place to put it. The faster you sample, the more data and the more data the larger the space to place it. Since you mention a fuse blowing you need to consider that in your scheme. The voltage drop across a fuse is minuscule right till the fuse blows. Then what? If a load goes to a short circuit during data logging the voltage to your ADC will jump from low mV to around 12 to 14 volts.

There are plenty of data acquisition units out there from a host of manufacturers. What you get really depends on how accurate you want to measure and resolve your millivolts? You can place a simple inexpensive data logging shield on an inexpensive Arduino if you are happy with 10 bit resolution or you can look at 12 or 16 bit resolution and more elaborate systems. What if anything did you have in mind? You can also look at digital voltmeters with an analog out option which will afford an analog out signal proportional to the low level signal input.

Ron
 

Thread Starter

sid1202

Joined Jul 25, 2016
25
So you are looking to measure relatively low voltage levels and while not really a big deal it is also not easy as you mention logging the data. Logging data means you need to have a sampling rate to collect the data and once you collect data it is like collecting anything, you need some place to put it. The faster you sample, the more data and the more data the larger the space to place it.
Yep. that's the easy part. There are several micro controler base data loggers to choose from. I like the Adafruit ones.

Since you mention a fuse blowing you need to consider that in your scheme. The voltage drop across a fuse is minuscule right till the fuse blows. Then what? If a load goes to a short circuit during data logging the voltage to your ADC will jump from low mV to around 12 to 14 volts.
This is precisely why I'm asking help here. The simple circuits that I have seen using a divider connected to an ADC are not adequate for this task.

One the one hand, the voltage drop is so small that I thing I need an opamp (OpAmp's are mysterious to say the least) in the circuit to boost the signal most of the time, but at the same time the voltage can get as high as 20 volts if the fuse happens to blow. I use Power probes charts for diagnostics. More information in less documents.

So what I'm looking for is a circuit that is between the 2 leads to the fuse and the ADC of the micro controller. Generally it needs to read between 0.1mV to 10mV, anything above that is irrelevant for this purpose as it confirms there is a strong current draw on that circuit. A 10 bit ADC gives me a 0.1 resolution which is what the chart's use. I assume a zener in the circuit to clamp the voltage to the micro controlers max input voltage might be a good idea, but I'm not sure if it enough protection.

I've been looking at DMM circuits but the voltage function is intertwined with other functions and since I'm a maker and not an engineer, it's giving me a hard time. I wish I could extract the knowledge and education out of a box. I'm still at the early stages of understanding the hardware part. I was a software engineer for over a decade the that part is honky dory.

Sid
 

Reloadron

Joined Jan 15, 2015
5,667
In the interest of inexpensive and keeping things simple and if you have a handy laptop or similar here is what I would consider. Starting with a voltage amplifier something like this from Spark Fun (also distributed by others). This is designed for AC and uses AC coupling but looking at the schematic which can be seen here my guess is if C5 and C6 are bypassed (shorted) it will be about a X100 Gain amp. There is a gain pot for the second stage, the first stage has a fixed gain of X10. So while the second stage is also X10 you use a pot to set the input level to the second stage. This may work and I would like it if any other members chimed in.

For the data acquisition part you could use an Arduino with a data logging shield or another option is any of the dozens of USB data acquisition devices out there like these for an example which is why I mention a laptop. The lower cost ones have a +/- 10 Volt input and if you notice when we get into the scalable inputs the cost increases. I have used the DATAQ starter kits and the software they include works fine and allows a lot of customization. They also have SDKs for those who like to roll their own software. They are also a 12 bit A/D verse the 10 bit of an Arduino. They do a nice job of charting collected data, I can show you some examples. Using an Arduino you could likely dump the data as CSV and dump it into Excel (or similar) and make a chart if you want one.

There are several ways to go about what it seems you want to do. These are just a few thoughts on how I might approach it. Hopefully some other members will share their thoughts.

Any ideas as to a budget?

Before I forget you may be able to work one of these EL USB devices into your scheme. I have never used the voltage or current versions but have and use a temperature & humidity one when checking a safe interior.

Ron
 
Last edited:

Thread Starter

sid1202

Joined Jul 25, 2016
25
In the interest of inexpensive and keeping things simple and if you have a handy laptop or similar here is what I would consider. Starting with a voltage amplifier something like this from Spark Fun (also distributed by others). This is designed for AC and uses AC coupling but looking at the schematic which can be seen here my guess is if C5 and C6 are bypassed (shorted) it will be about a X100 Gain amp. There is a gain pot for the second stage, the first stage has a fixed gain of X10. So while the second stage is also X10 you use a pot to set the input level to the second stage. This may work and I would like it if any other members chimed in.
I think I'll need some circuit that uses an opamp since the target voltages I need to read are so small. I've been reading on them but they are way to versatile for them to have a simple strait forward tutorial on them it looks like.

For the data acquisition part you could use an Arduino with a data logging shield or another option is any of the dozens of USB data acquisition devices out there like these for an example which is why I mention a laptop. The lower cost ones have a +/- 10 Volt input and if you notice when we get into the scalable inputs the cost increases. I have used the DATAQ starter kits and the software they include works fine and allows a lot of customization. They also have SDKs for those who like to roll their own software. They are also a 12 bit A/D verse the 10 bit of an Arduino. They do a nice job of charting collected data, I can show you some examples. Using an Arduino you could likely dump the data as CSV and dump it into Excel (or similar) and make a chart if you want one.
As for data acquisition I need something with more oomph. I am going to use an Adalogger that has a tone of gpios including 8 ADC's where at least 6 of them are 12 bit. This thing has to be installed on a customers car are let loose until the customer comes back. So I need to do a few more things that just read the voltage drops. Besides, I only needs to record the data after the car has stopped for at least 15 minutes and all the computers are a sleep.

The only thing keeping me on the design board is how to read the voltage drop on those fuses safely.

Any ideas as to a budget?
No specific amount. I need this to work an be fairly rugged. This way I can use it multiple times and it would pay for its self in time.

Sid
 

danadak

Joined Mar 10, 2018
4,057
This approach might work. I only routed 16 channels, differential, 16 bits.
This is all onchip, PSOC, using a fraction of its overall resources. You can
see whats been used in right hand window. The ground of PSOC would
have to be floated, I am still trying to wrap my head around that, but I think
it can be done. Or simply elevate the PSOC ground to something like ~ 9.5V.

Note the input to the DelSig is actually capable of 100 mV common mode
outside its rails.

I think you could cram more channels, resources say it would work. But
the router has the final say if it can route all the channels requested. In this
case it routed OK.

upload_2019-1-12_7-42-14.png


The Vref onboard is good to +/- .1%, so it would not be absolute accurate to 16 bits.
You would have to consider external Vref to meet that.

You could easily datalog to SDCARD (it has an interface for that), or optical IR link, UART, SPI...And interface to LCD display as well.

Attached component list, A component is an onchip resource in PSOC.

Regards, Dana.
 

Attachments

Last edited:

shortbus

Joined Sep 30, 2009
8,043
As usual I'll be the wet blanket in this party. My question is why do this? If you have a working alternator small voltage drops on different systems in the car are a normal part of the operation of it. What is to be found by knowing there is a voltage drop when say the automatic transmission shifts gears and the solenoids fire? All of these drops are both normal and engineered into the system.
 

Thread Starter

sid1202

Joined Jul 25, 2016
25
As usual I'll be the wet blanket in this party. My question is why do this? If you have a working alternator small voltage drops on different systems in the car are a normal part of the operation of it. What is to be found by knowing there is a voltage drop when say the automatic transmission shifts gears and the solenoids fire? All of these drops are both normal and engineered into the system.
It is not when the car is running that you want to read the voltage drops. But when the car has been off for some time. There shout be about 50mA tops overall of current draw on the battery. Anymore than that and it will kill the battery to fast. Monitoring a fuses voltage drop will tell you if there is a excessive current draw when there is not supposed to.
 

shortbus

Joined Sep 30, 2009
8,043
It is not when the car is running that you want to read the voltage drops. But when the car has been off for some time. There shout be about 50mA tops overall of current draw on the battery. Anymore than that and it will kill the battery to fast. Monitoring a fuses voltage drop will tell you if there is a excessive current draw when there is not supposed to.
And so will a little bit of time and a Digital multimeter, and by looking at the wiring diagram for the vehicle you can pretty much figure out what to look at first. That would be any thing that is live with the ignition off, anything with a memory.

Data logging is usually only for when the vehicle is running.
 

Thread Starter

sid1202

Joined Jul 25, 2016
25
@danadak This looks like something very useful. The PSOC 5LP has a nice size, but I'm still in the dark about how to connect to the fuses and measure the voltage drop safely. What happens if the leads are connected one way instead of the other ? Each fuse needs 2 leads.
 

Reloadron

Joined Jan 15, 2015
5,667
I would make an adapter/fixture to connect to the fuses, using an inline fuse holder. Just remember there are different size (physically) automotive fuses. Again, automotive blade fuses come in different physical sizes. You hack a fuse, cut it in half, and make an adapter fixture. You can also hack something like this. The fuses in the fuse block only have a line and load side and all of the line sides are common to each other so it's sort of difficult to get things backwards. Over voltage protection will depend on whatever you choose as a voltage measuring circuit. A Google of over voltage protection will bring up a dozen methods and circuits. That should come later.

Ron
 

danadak

Joined Mar 10, 2018
4,057
The inputs to the PSOC mux are differential. One is + side, or battery side
of fuse, the other - lead, load side of fuse. If leads reversed V measured
would be a - value, rather than a + value. If you never have a situation in
system where load side of fuse is at a higher V than battery you could
treat leads as non polarized and handle the sign changes in software.

One other comment about design, since CMOS is used the inputs to
mux have to use a series R and diode clamp on them to prevent damage
to inputs if connections are made to a blown fuse causing 12 V to be pre-
sented to inputs. There are R and Diode arrays available to make this
trivial to implement.

Lastly you can control the range the A/D digitizes, such that the resolution,
in 16 bit case, can range from .2 uV / lsb to 2 mV / lsb, ranges .064V and 6V
respectively, or several other ranges/resolutions in-between.

No need for an IA.....

Automotive DAQ.JPG

Also shown is onchip LCD/Touchscreen support and SDCARD support. Again this is all on one chip.
The LCD can be SPI, I2C, Parallel, graphic, character, whatever.


Regards, Dana.
 
Last edited:

Hymie

Joined Mar 30, 2018
877
The problem of intermittent drain on vehicle batteries is not uncommon and is difficult for garages to rectify, in that it could be any vehicle circuit that has this load fault.
A colleague of mine currently has this issue with his car, and has been advised by his garage that it could involve a considerable amount of work-time/cost to identify the faulty circuit/component.

I believe that the OP’s idea could be turned into a commercial product. As I see it, the biggest problem for a commercial unit would be the connections across the fuses, with vehicles fitted with many differing physical fuse types.

I offer this basic circuit design which monitors the voltages across the fuses, using an analogue circuit to retain the peak voltage.
Only one channel is shown for clarity, but it would be a simple matter to produce a compact 16 (or more) channel unit.
The circuit could be used as the front end to a logging system, however it does not indicate the time period of the current draw (see below).

In operation the op-amp IC1 is amplifying the voltage across the fuse by 100 (with the resistor values given for R1 – R4). Capacitors C1 & C2 provide noise filtering with a time constant of around half a second. The output of IC1 is fed to the pick-picker circuit formed by IC2 & IC3 op-amps. The push switch is provided to reset the peak voltage across capacitor C3.

The voltage on capacitor C3 should be retained for many hours, sufficient to indicate the maximum vehicle fuse current. But if found not to be of sufficient time – then op-amp IC3 could be replaced by a CMOS type, having a very high input impedance.
In use, it is a simple matter to measure the output voltage of IC3 to determine if there has been a high current event.

Note that the 0V of the circuit needs to be connected to the 0V of the vehicle; but the +V supply to the op-amps (IC1 – IC3) should be from a separate supply to the vehicle (I would recommend +18V) to give the circuit headroom on the 14.5V vehicle battery. Front end zeroing could be added at op-amp IC1, if required.

If used with a logger system, then a suitable resistor should be connected in parallel with capacitor C3 (say 10k to give a 1 second time constant), in which case resistor R5 and the push switch are not required. The logger system would then indicate the amplitude and time over which each current draw event occurred.

I have chosen components values giving a gain of 100, which would result in output voltages from 100mV to 1V (based on an input of 0.1mV to 10mV). You could select components giving a gain of 1000, (giving an output voltage range of 1V to 10V), but you might find that there is too much noise in the circuit (despite the capacitive filtering) without careful layout of the components/wiring.
 

Attachments

Thread Starter

sid1202

Joined Jul 25, 2016
25
I would make an adapter/fixture to connect to the fuses, using an inline fuse holder. Just remember there are different size (physically) automotive fuses. Again, automotive blade fuses come in different physical sizes. You hack a fuse, cut it in half, and make an adapter fixture. You can also hack something like this. The fuses in the fuse block only have a line and load side and all of the line sides are common to each other so it's sort of difficult to get things backwards. Over voltage protection will depend on whatever you choose as a voltage measuring circuit. A Google of over voltage protection will bring up a dozen methods and circuits. That should come later.

Ron
Your missing a large range of fuses. We have a multitude of tools to tap into all the different fuse types blade fuses are particularly easy to tap. Cartage fuses are trickier to tap.
 

Reloadron

Joined Jan 15, 2015
5,667
Your missing a large range of fuses. We have a multitude of tools to tap into all the different fuse types blade fuses are particularly easy to tap. Cartage fuses are trickier to tap.
Then post some links to this multitude of tools. All I did was make a few suggestions and tossed out a few links. This is about as useful as teats on a bull. I believe your reference is to cartridge fuses as I am unfamiliar with a cartage fuse.

Thank You
Ron
 

Reloadron

Joined Jan 15, 2015
5,667
As to amplification I was looking at the AD 8426 Instrumentation Amplifier which is nice because it is a rail to rail op amp and the gain is easily set using a single external resistor. Another nice feature is this modular amplifier board is based on that chip. I read somewhere the gain is set to 500 the way the board comes but changing a resistor will change the gain of the board.

Figure it this way. Each fuse has a subsequent voltage drop, a 2 Amp fuse about 171 mV while a 30 Amp fuse a much lower 87 mV. I would guess using that instrumentation amplifier or the linked board the Rg (gain resistor) could be moved and two suitable resistances used so the gain could be switched to best suit a range of fuses. The version on a board is also directly compatible, for example, with an Arduino Uno as a Shield or just use the chip and roll your own board to be compatible with any uC of your choosing.

Ron
 

Hymie

Joined Mar 30, 2018
877
Until such time that you have some form of working monitoring logging system to identify which fuse circuit is causing the battery discharge – I offer this solution:-

Given that most vehicle batteries have a rating of 60Ah or more, for the fault to completely discharge a battery overnight, the current draw must be at least 3A for a considerable time (or a higher current for a shorter period). Therefore if you replace all the vehicle fuses with a 1A fuse – any circuit experiencing a current draw which would flatten the battery would cause the 1A fuse to operate.

A 1A fuse can pass 2A for some time before operating (equal to 24W at 12V), therefore having installed all 1A fuses, operating the remote vehicle locking system should not blow any fuse.

1A auto fuses are available, see the link below.

https://www.ebay.co.uk/itm/100x-Sta...=item19ef0cdd69:g:uu4AAOSwFnFWAYTX:rk:14:pf:0

Tip: before pulling all the fuses, take a photo of the fuse box so that you can ensure that the correctly rated fuses are replaced after the test.
 

shortbus

Joined Sep 30, 2009
8,043
In the years of working on cars, and trouble shooting over night or a few days discharging, what I've found most times were the lights under the hood (bonnet) or the trunk lid(boot). The flimsy brackets get bent and the light stays on when it should be off. This runs down a battery. First thing I told people with the discharge problem is to remove those bulbs and see if that fixes the problem. Many times it did.
 
Top