Sensus Omni Pulse Output

I'm trying to monitor pulses from a Sensus Omni 3" Water meter. It should be fairly straightforward, but 3 hours of tinkering has left me frustrated.

Starting on Page 2-1 of this document: http://sensus.com/documents/10157/30922/OMNI%20Operation%20&%20Maintenance%20Manual.pdf

You can see the hookups necessary to obtain the pulse output. So I have a 12VDC power supply running my Arduino. I connect R to Vin. I connect B to GND. And I connect G to one of my digital input pins (D2). I have a pull-up resistor (10K) connected between +5V and Pin D2.

And I get nothing. I can see the pulse on the LCD screen on the meter, but can't detect anything on my Arduino, or even using a multimeter.

Any ideas? Any ideas on how to troubleshoot?

Thanks.

Brian

That picture you are referring to implies that the device needs 12 to 24 volts. The Arduino is not supplying that.

You won't measure a 4 to 20 mA output on a digital pin.

Yeah... First, you can fry the Arduino with more than 5V into an analog or digital input.... Figure 2-4 in your user manual shows you how to knock-down the voltage with a voltage divider (2 resistors). With the voltage divider, you won't need an additional pull-up resistor.

It's hard to measure pulses with a meter... You might measure something, depending on how "dense" the data is. Is the voltage stuck-low, or stuck high?

Do you have some sort of software (sketch)? How would you know if the Arduino is seeing pulses? Do you know how to "read" the serial digital data stream? (I don't know anything about the protocol, so I wouldn't know what to do with the pulses...)

That picture you are referring to implies that the device needs 12 to 24 volts. The Arduino is not supplying that.

As I mentioned, I am supplying the Arduino with 12VDC, and using the Vin pin, so I am supplying the device with 12 Volts. The Arduino has a voltage regulator that regulates on board voltage to +5V, but it is usually run off a higher voltage power supply.

First, you can fry the Arduino with more than 5V into an analog or digital input.

I forgot to mention that I have voltage divider on the G signal wire. Since I am expecting a +12V pulse, I am using a essentially a 7k and 5k resistor in series and measuring voltage over the 5k.

The sketch is the easy part. There is already an example sketch that looks for a state change on an digital input pin, but I already have a sketch that I use successfully on other devices outputting pulses - just trying to figure out to how to make it work on this one.

As I mentioned, I am supplying the Arduino with 12VDC, and using the Vin pin, so I am supplying the device with 12 Volts.

Using the Vin pin for what? Have you measured the voltage that is actually present on that pin?

I am using the Vin pin to supply voltage to the Sensus Omni meter on R (the red wire as indicated in the manual). I have measured the voltage and am getting +12VDC between Vin and GND (which is connected to B, or the black wire as indicated in the manual).

Brian

bpmccain: I am using a essentially a 7k and 5k resistor in series and measuring voltage over the 5k.

That doesn't give you much margin of safety. Applying too much voltage to an I/O pin can damage your Arduino, and the circuit you're describing will be right on the limit. If the '12V' is coming from a regulated supply you trust that might be OK, but it might only need a little variation in the output or noise on the line to apply an excessive voltage to the Arduino. Given that it's only a digital input, you could spare a volt to give yourself some extra margin of safety on the input.

Agreed - I can make that change - but still not seeing a pulse unfortunately, so until I see that, I’m not going to damage anything!

Brian, did you ever figure out how to get a pulse out of the sensus meter? I am trying to do the same thing and am unable to get a measurable pulse. Any help would be appreciated.