This ZMPT101B module seems poorly designed for use with 120VAC circuits and a 5VDC Vcc rail. The LM358 op amp used doesn't have enough output voltage swing. An LM358 output only swings from (Vcc - 1.4V) to (Gnd + 0.1V). For a 5VDC Vcc, the output can only swing from 0.1V to 3.6V. With the nominal output voltage biased to 1/2 of Vcc, the output will only swing from +2.5V to +3.6V for the positive cycle of the AC waveform. I wonder how well this ZMPT101B module would operate if you replace the LM358 with a pin-compatible rail-to-rail op amp like the TLV2462 from Texas Instruments. The TLV2462 output can swing from 0.1V to 4.9V when operating with a +5VDC Vcc. Some other tweaks to the gain setting resistors on the module might be necessary to get it to operate without clipping the output. It might be better to just harvest the ZMPT101B transformer from one these modules and build your own circuit using a TLV2462 op amp so that you can properly select all the components. The TLV2462 comes in many package types including DIP and SOIC. Cheers.
Did you actually try it, or is this just hobbyist speculation? In part 1 of this series I show how, after properly calibrating the ZMPT101B and Arduino Vref, the results match my voltmeter within less than 0.5 volts from a 120VAC wall outlet. Are you measuring something that requires more accuracy than that? Seems pretty good to me for a $2 USD device.
@@EETechStuff I haven't tried it yet but plan to do so... parts are on order. I want to run the modified module with a 3.3V Vcc and interface it to an ESP32 uC without using any additional power supplies. If the modification doesn't pan out, then I'll design my own circuit using the current transformer from the module. I'd like to be able to measure AC voltage up to 140VAC RMS with a resolution of 0.1V or better. That should be doable with the ESP32 12-bit ADC if I can get 3V of dynamic range out of the module. The TLV2462 is characterized at 3V Vcc to swing from 0.1V to 2.9V so it should be able to swing 3.1V at 3.3V Vcc. The TLV2462 Vcc range is 2.7V to 6V unlike the 3V to 36V range for the LM358 so that is a limitation I'm willing to live with and is fine for ESP32 and Arduino (ATmega328) microcontrollers. Thanks for your videos showcasing this module and your code. They were very helpful and provided great insight into the limitations of the ZMPT101B module and creative ways to use it. Awesome!
What makes you think the current transformer is accurate and linear enough to support 0.1 volts accuracy? And are you aware that typical voltmeters might have an accuracy of around +/- 1%, which in this case might be over 1 volt? My results show an accuracy for this module of better than 0.5 volts. So I'm not sure why you think it's "poorly designed", and why you think 0.1 volt accuracy is needed or attainable. But hey, have fun with your project.
W0W, GREAT explanation for all the "things" to look for to get this to work!!!
good job sir....well explained
thank you sir.
Thank you, but i didnt understand why the AC waveform distorted while applying low DC voltage
Op amp clips the signal because it is not rail to rail. You need higher headroom voltage supply typically higher than the voltage swing of the output
This ZMPT101B module seems poorly designed for use with 120VAC circuits and a 5VDC Vcc rail. The LM358 op amp used doesn't have enough output voltage swing. An LM358 output only swings from (Vcc - 1.4V) to (Gnd + 0.1V). For a 5VDC Vcc, the output can only swing from 0.1V to 3.6V. With the nominal output voltage biased to 1/2 of Vcc, the output will only swing from +2.5V to +3.6V for the positive cycle of the AC waveform.
I wonder how well this ZMPT101B module would operate if you replace the LM358 with a pin-compatible rail-to-rail op amp like the TLV2462 from Texas Instruments. The TLV2462 output can swing from 0.1V to 4.9V when operating with a +5VDC Vcc.
Some other tweaks to the gain setting resistors on the module might be necessary to get it to operate without clipping the output. It might be better to just harvest the ZMPT101B transformer from one these modules and build your own circuit using a TLV2462 op amp so that you can properly select all the components. The TLV2462 comes in many package types including DIP and SOIC.
Cheers.
Did you actually try it, or is this just hobbyist speculation? In part 1 of this series I show how, after properly calibrating the ZMPT101B and Arduino Vref, the results match my voltmeter within less than 0.5 volts from a 120VAC wall outlet. Are you measuring something that requires more accuracy than that? Seems pretty good to me for a $2 USD device.
@@EETechStuff I haven't tried it yet but plan to do so... parts are on order.
I want to run the modified module with a 3.3V Vcc and interface it to an ESP32 uC without using any additional power supplies. If the modification doesn't pan out, then I'll design my own circuit using the current transformer from the module. I'd like to be able to measure AC voltage up to 140VAC RMS with a resolution of 0.1V or better. That should be doable with the ESP32 12-bit ADC if I can get 3V of dynamic range out of the module. The TLV2462 is characterized at 3V Vcc to swing from 0.1V to 2.9V so it should be able to swing 3.1V at 3.3V Vcc. The TLV2462 Vcc range is 2.7V to 6V unlike the 3V to 36V range for the LM358 so that is a limitation I'm willing to live with and is fine for ESP32 and Arduino (ATmega328) microcontrollers.
Thanks for your videos showcasing this module and your code. They were very helpful and provided great insight into the limitations of the ZMPT101B module and creative ways to use it. Awesome!
What makes you think the current transformer is accurate and linear enough to support 0.1 volts accuracy? And are you aware that typical voltmeters might have an accuracy of around +/- 1%, which in this case might be over 1 volt? My results show an accuracy for this module of better than 0.5 volts. So I'm not sure why you think it's "poorly designed", and why you think 0.1 volt accuracy is needed or attainable. But hey, have fun with your project.
How to measure upto 350V sir ?