Hi,
I made a controller to register the pulses of energy meter. I use PIC16F18855 running at 3.3V. I use the internal pull-up.
The energy meter probably has an optron on its output, but they don't say much in the datasheet (the link to the datasheet is to the wrong model, but it probably has the same output). I have series protection resistor on the input to protect from someone putting voltage on the input.
The problem is that the meter pulse drops down the voltage to 0.66V. The mcu input is set to Schmitt trigger, which requires 0.2Vdd which is 0.66 to count as '0'. How can I drop the voltage down to low enough to register on the MCU which minimum components?
Shorting the resistor drops the voltage down to 0.58V, but it's too close to the limit. I would prefer a bit larger difference.
A mosfet would drop it down low enough, but it needs high value resistor gate-source for protection and a pull up resistor. I might be able to squeeze them on the pcb, but Mostfets are too fragile as input. I much prefer BJT.
I also though about series capacitor with a pull up resistor to create a pulse. It'll create double the voltage on the pulse end. The back of the pulse is not as sharp, so it should be easy to gradually dissipate through the MCU protection diode. I don't know what's causing the slow rise at the end. Maybe the optron has high capacitance.
P.S. At the time I took the scope image the power supply was messed up - 2.5V. I fixed that and the low voltage of the pulse didn't change - still 0.66V