LED pulse sensor - is there a limit on the flashing rate it can detect?

I have an OpenEnergyMonitor LED pulse sensor set up with my meter which gives 1000 pulses/kWh and it works fine most of the time but when the power consumption gets high - over 30kW or so - it doesn’t seem to be able to count any more. This would equate to about 8 or 9 pulses a second. The LED sensor on a Geo Minim I tried worked fine with this. Is there a limit in the pulse sensor hardware design or in the software or its configuration or could it be something else, please?


Welcome to the OEM forum, Martin.

Yes, there’s a software limit and it’s that which you have fallen foul of. It is there to suppress contact bounce when mechanical contacts are being used, what happens is after the first transition is detected, the sensor is locked out for about 100 ms (it’s that at present in the emonTx, but it’s changed over time) and the recommendation is always to set the lockout time to zero if you have a transistor output or similar.

You need to edit the sketch to change this. You are looking for something like

int pulse_period = 100; // pulse min period

which you can change to zero (or a much smaller value - I have a fluorescent lamp with a glow-tube starter, and get a many tens of pulses when I switch the lamp on if I set mine to zero).

You don’t say what hardware you have, so I can’t go into any more detail.

Are you using only the optical pulse sensor on your main incomer, or is there a c.t. as well? Because 30 kW is above the point where our standard 100 A c.t. is running into saturation, so it won’t be accurate.

Thanks for the reply, Robert. I’ll take a proper look tomorrow.

I had a spare Rasperry Pi Zero W lying around so initially I’ve just got the system working on that. I have a house built in the mid 1960s with a heating system consisting of electric heater cables in screed floors which act like storage heaters. The house has a 3-phase supply and it’s meant to heat up the floors during off-peak times and then release the heat through the day. I’m not using CT sensors at the moment but as the load is split between the 3 phases the current in a single phase won’t pass the 100A limit (and I only have 80A fuses on each phase anyway).

I’m planning to retrofit a wet underfloor heating system with a heat pump and then later add solar PV and a battery so will be adding more sensing as this work is done.


I still don’t know how you’re processing the sensor output, so I can’t help all that much. But if the sensor is straight into the GPIO of a Pi Zero, then could you be following this: Directly connecting to Optical Pulse Counter with RPi? - #2 by pb66 ?

The output of the sensor is actually an over-driven analogue output of the sensor diode, as you can see from First try with EmonPi - Pulsecount stuck at 1 - #16 by Robert.Wall.
There’s nothing in there apart from the switching speed of the diode and transistors (and stray capacitance) to limit the pulse rate.

I couldn’t have reasonably guessed that - it’s still a rarity in the UK.