IC Protection When Using Arduino to Read Voltage

Hi Everyone,

Sorry for the long post ahead. I'm working on a project involving structured light, and I am using the Arduino to grab a timing signal from a DLP projector, using the interrupt function on the Arduino. The signal on the projector jumps between 0V and 3.3V. I originally the signal from the projector connected directly into an Arduino pin, and I ended up damaging the IC on the projector. Some of the issues I noticed include:

-when I plug in the Arduino USB to power it on, the projector will flash and turn off
-when I physically touch the connecting wire, the colors of the projector's colors will be unstable.

I'm guessing the issue is from voltage surges when turning on the Arduino (?), I am wondering how I can prevent damage in the future. Some things I've looked into include adding a resistor in series and using a TVS diode, but I can't find much information on how to use these TVS diodes properly. Will the simple circuit shown here http://www.semtech.com/images/promo/What_are_TVS_Diodes.pdf work for my purposes? Would I just be choosing one with a breakdown voltage of 3.3V? Also, would I be using a bidirectional TVS diode, or would the one shown work? Lastly, I saw some circuits where the TVS diode was connected to a Vdd, such as

What difference does that make?

Thanks in advance everyone!

Something strange is going on, or that output isn't really 0-3.3V. Maybe the chip was damaged by static discharge?

A resistor in series with the projector chip's output can limit the current, but you shouldn't be getting any significant current into the Arduino anyway... It has very high input impedance. If the Arduino pin was accidently programmed as an output, connecting two outputs together can damage things.

Without knowing the chip's output current specs, it's hard to know what resistor to use, but a 10k resistor should be OK. The downside to higher impedance is noise pick-up, especially if there is a long wire between the projector and the Arduino.

Protection diodes protect the input, not the output (although they can protect the output from static discharge or other unexpected voltages injected "backwards" into the output).

The diodes work by turning-on when the voltage exceeds the positive supply voltage or when the voltage goes negative (plus an allowance for the normal forward voltage drop across the diode). In effect, that "shorts out" the signal... You don't want to short an output!

Typically, there is a resistor in series with the input to limit the current and prevent damage to whatever is driving the input. The 2nd schematic on [u]this page[/u] shows two diodes and a resistor.

There are protection diodes inside the Arduino, but they are not rated for a lot of current and there is no current limiting resistor. Those diodes should never turn-on with a 0-3.3V signal.

Thanks DVDdoug for the quick reply! The TVS diode was suggested to me by a friend but I had some suspicions about how its used and you confirmed it. It would definitely be a bad idea to short the input signal.

I still suspect Arduino pins having transient voltage surges when its being powered on... Would putting a diode in series help?

Also, Are there any other ways of protecting against EDS in my scenario?

You need to handle situations when the Arduino is powered up but the projector isn't, and vice versa. For example, when the Arduino is connected to the projector but not powered up, the Arduino pin protection diode in effect shorts the input pin to its +5V pin, which (when it is not powered up) is almost the same thing as shorting it to ground That may be what damaged the projector. You should always use a series resistor in this kind of connection, to limit the current to a value that will not damage anything. Unless you need to respond to the timing signal extremely quickly, 100K would be a reasonable value to use.