ESP32 accuracy preview

As I’ve been able to get the new ADCs and sampler working, calibrated and feeding the datalog/status/query and Graph+ subsystems, the accuracy is starting to reveal itself. The input circuitry for the Voltage and Current ADCs is pretty much just straight math with 0.1% resistors. The ADCs themselves have an internal 1.2V reference that seems to be excellent.

Using a 50A CT and 120V I measured a 40 Watt incandescent light bulb. Unlike the older ESP8266, this unit samples voltage and current continuously on all channels and records the average at one second intervals. Here you see that any variation in Watts is directly proportional to changes in the voltage. The current is about 330mA.

Using an inverter to get steadier voltage, you can see that again Watts tracks Voltage as it warms up and slowly moves upward about 0.5 Volts over 5 minutes, Watts increases a proportional amount. Amps appear to be somewhat more volatile, but what you see is the result of only showing a resolution of 1mA. The flat line is 328mA and the spikes are 329mA. The datalog has more precision, but I need to make that accessible through query. I think that’s pretty easy and I’ll give it a go soon. Noise seems to be a non-issue in this environment. The CT inputs use a split burden with center ground into the differential ADCs, somewhat cancelling common mode noise.

8 Likes