Line Noise Detection

Hi All,

I have been messing around with the Arduino for a while now, and love doing a bunch of limitless projects thanks heap's to everyone. :-)

Back on topic, I'm requiring some help and I am a little stumped on how to do it.

What I need to do is hook an Arduino up to a car battery and be able to detect if a car is running or not. Now I have tried to detect the voltage and that works well on my car by detecting the change of voltage, but when I hook it up to my partners car I get a very different result which is unreliable due to the voltage exceeding the charge voltage. I have also tried vibration sensing using a pizo but that is not sensitive enough.

So I am wondering if and how I can detect the noise that is created on the power connection + or - and get a reading of some sort.

Thanks Nathum :)

So I am wondering if and how I can detect the noise that is created on the power connection + or - and get a reading of some sort.

A series capacitor will "block DC" and "Pass AC" (and it will pass "changes").

Of course if someone opens the door and the dome light comes on, or if someone activates the remote door locks, etc., that's going to put a noise-pulse on the 12V...

So, a basic [u]High-pass RC filter[/u] will "read" zero when the DC voltage is constant. A rather low cutoff frequency of a few Hz is probably a good place to start (an RC time constant of a fraction of a second).

You might want to use a pair of protection diodes to protect the Arduino from negative voltages and voltage spikes greater than 5V. (The voltage output from the high-pass filter will temporarily go negative when the voltage drops.) And, if you want to read "negative" voltage drops, you'' have to add a couple of resistors (a voltage divider) to bias the Arduino input.

If you need more sensitivity, switching to the 1.1V reference will vige you the ability to read signals/changes down around 1mV.

First, as DVDd mentioned, you'll want to add all kinds of filtering to the Arduino board, so the automotive system noise doesn't blow the poor little Arduino's brains to bits. This is a nontrivial problem [ie, requiring multiple lines of attack], so I won't say any more on that.

Secondly, I should imagine the battery voltage will sag 3-4 V or so when the starter motor cranks, so you might use that to tell if someone is starting up the car.

Thirdly, although this will vary between cars, there must be 20 fuses that are powered up only when the ignition key is turned on. Should be easy to find one and tap onto that.