# can I read these pulses w/o voltage divider using Arduino Uno?

I want to count pulses with an Arduino Uno. My pulses are nominally 5V but the actual signal fluctuates between 9V and 3V for about 2 Micro seconds before settling in to 5V for another 13 micro seconds. Can I read these pulses directly through the digital pins or should I use something like a voltage divider? Using a voltage divider (pair of resistors) that gets the peak voltage less than or equal to 5V results in the overall voltage becoming too low to count consistently (I count 50% less pulses per minute using the voltage divider). The frequency of the pulses I'm measuring is about 1 per second.

Maybe the bouncing between 9V and 3V for a couple of microseconds won't hurt the Arduino board (maybe that's normal for the beginning of a 5V signal) But I wanted to check before I count the unattenuated signals for any length of time.

If there's an alternative to a voltage divider, please mention that as well.

I want to count pulses with an Arduino Uno. My pulses are nominally 5V but the actual signal fluctuates between 9V and 3V for about 2 Micro seconds before settling in to 5V for another 13 micro seconds. Can I read these pulses directly through the digital pins or should I use something like a voltage divider? Using a voltage divider (pair of resistors) that attenuates the peak voltage to no more than 5V results in the overall voltage becoming too low to count consistently (I count 50% less pulses per minute using the voltage divider than without the voltage divider). The frequency of the pulses I'm measuring is about 1 per second.

Maybe the bouncing between 9V and 3V for a couple of microseconds won't hurt the Arduino board (maybe that's normal for the beginning of a 5V signal) But I wanted to check before I count the unattenuated signals for any length of time.

If there's an alternative to a voltage divider, please mention that as well.

Thanks,

David

It sounds like you are describing "ringing". That's normal to some extent, and you should be fine.

Ringing is caused by impedance mismatch. The capacitance of your scope probe is probably contributing to the problem, so it's probably not as bad when you remove the scope. Sometimes, the probe itself can ring.

The only time ringing & impedance is a problem is at very high data rates where the pulse (usually an address or data line) doesn't have time to settle down before it's read. Modern motherboards running in the GHz range have to be layed-out so the traces act like impedance-matched RF transimission lines, and the traces need to be a short as possible.

To be safe, you can connect a resistor between the pulse source and the input pin, so that if the voltage goes above 5V, the current will be limited to a safe value by the pin protection diode. I would use 4.7K or 10K. The input capacitance of the pin is sufficiently small that even a 10K resistor will slow down the rise time by much less a microsecond.

The pulses definitely need to be limited to 5V. I’d try a circuit like this. R1 is 1K to 10K, the diode is a 5V (or 5.1V) Zener. C1 and R2 may not be needed, some experimentation will be required. C1 might be between 1 and 100nF, R2 ten to 100 times R1.

What are the pulses coming from? Ringing doesn’t come from impedance mismatch unless it involves inductance. A long coax with the wrong load on it can cause that, or an inductive sensor, or just a very long unshielded wire. It may be as simple as adding a resistor to ground of the proper resistance.

dlewine: I want to count pulses with an Arduino Uno. My pulses are nominally 5V but the actual signal fluctuates between 9V and 3V for about 2 Micro seconds before settling in to 5V for another 13 micro seconds. Can I read these pulses directly through the digital pins or should I use something like a voltage divider? Using a voltage divider (pair of resistors) that gets the peak voltage less than or equal to 5V results in the overall voltage becoming too low to count consistently (I count 50% less pulses per minute using the voltage divider). The frequency of the pulses I'm measuring is about 1 per second.

Maybe the bouncing between 9V and 3V for a couple of microseconds won't hurt the Arduino board (maybe that's normal for the beginning of a 5V signal) But I wanted to check before I count the unattenuated signals for any length of time.

If there's an alternative to a voltage divider, please mention that as well.

how much current? - I'm thinking 5v1 zener diodes to just be on the safe side...

Jack. Thanks for the detailed circuit diagram. I'm definitely going to try the zener diode and I'll try it with your suggested circuit.

Thanks for the replies—they are all helpful. I’ll try the suggestions below, like the zener dioide or shortening the cable leading from the source to the scope/arduino (polymorph is right that I am using a long coaxial cable), but if they don’t work I think I just won’t worry about it and hope, as DVDdoug predicts, that I’ll be fine.

David