1

I have a smart meter and I want to connect my output pulse meter to the Arduino in order to count the pulses, but the problem is my output pulse voltage is varying (between 1V to 17V approximately) and the Arduino accepts only a stable voltage (5V).

Therefore, how can I make my output pulse voltage stable to connect it to the Arduino?enter image description here

7
  • Your question isn't clear about how many meters are involved, what you want to measure or find out, or the source of whatever it is you want to measure. Explain better, and include a schematic if possible. (You can draw a schematic by clicking the Schematic icon on the editing toolbar) Commented Nov 5, 2016 at 5:05
  • I have only one smart meter, this meter has a pulse output. what I want is counting the pulses of my meter using the Arduino. Now, my problem is the output voltage of my meter is varying. In addition, to connect my pulse output to the Arduino the output voltage should be stable and = 5V. Therefore, my question is how can I make the voltage stable since it's varying? (please see my circuit diagram I updated my question) Commented Nov 5, 2016 at 5:52
  • What is it varying between? Commented Nov 5, 2016 at 6:01
  • 3
    How about using an optocoupler? electronics-tutorials.ws/blog/optocoupler.html This would isolate the two circuits. Commented Nov 5, 2016 at 10:25
  • 1
    Your schematic contradicts your question: The question implies a voltage output from the meter, whereas the schematic shows the output as being electrically equivalent to a switch. Please clarify. Commented Jan 1, 2018 at 23:24

1 Answer 1

1

If “what I want is counting the pulses of my meter” means that you want to count the number of pulses the meter produces, you can use a circuit like the following to clip the voltage into the 0-to-5V range (as acceptable for inputs on Uno digital pins).

schematic

simulate this circuit – Schematic created using CircuitLab

Then, to count pulses, write a sketch that repeatedly reads the selected input pin. Each time it changes from low to high, add one to your count of pulses.

If you don't have 5.1V zener diode like the 1N4733A, you could instead attach the anode of an ordinary diode to the junction of R1,R2 and its cathode (the cross-bar end) to 3.3V on the Uno. This will clamp the voltage on the input pin to at most about 4V. (Note, with such a diode clamp, there would be high-current problems if you subsequently changed the pin to a high output. You could of course put a 100Ω resistor in series with the clamp diode if you are concerned about that.)

6
  • Thank you so much for that great answer!! So, if my voltage is still varying but in the range of 1 to 5V I still can connect it to the Arduino? Commented Nov 5, 2016 at 6:36
  • @fahd, right. The resistor ratio shown will divide 17 volts down to about 4.6V. Input voltages higher than 0.6*Vcc (ie, 3V on a 5V system) are read as 1's, per Table 30-1. Common DC characteristics on page 313 of ATmega328 specs. The absolute max voltage on any Pin except RESET is Vcc+0.5V, or 5.5V on a 5V system, so 4.6V is an ok input level. Commented Nov 5, 2016 at 6:42
  • If your pulse low-voltage is 1V, the divider will divide that down to 0.27V, which is adequately below 0.3*Vcc, or 1.5V on a 5V system, to read as a 0. Commented Nov 5, 2016 at 6:47
  • Can you be more specific on Vlow and Vhigh of the pulses? I would suppose that Vlow is always 0, and that the crest of the pulses can vary between 1 and 17V. Is that the case? That's quite different than when Vlow is 1V and Vhigh is 17V. Commented Feb 4, 2017 at 11:12
  • If, as I read it, the meter's output pulses between 0 for LOW, and [1v - 17v] for HIGH, then the signal will need to be conditioned by Schmidt trigger to bring pulses less than the MCU's minimum input HIGH level (~2v) up to something higher than than that level, to ensure they will be read as HIGH. Commented Sep 3, 2017 at 12:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.