Hi Bob and Iotaers,
The goal/background: to get more information on aggregated downstream usage. Recording samples at <5s intervals was not fruitful as you’ve implied in forums - see detailed notes. Instead I’d like to investigate the ‘signature’ of the I, V waveform (as you see in an oscilloscope on the VT and CT).
Specifically, I’d like to ‘capture’ the sampled current and voltage waveform for later download or upload to a database. I’ve made some progress, but can’t seem to find the right array to save. I’m looking for help in implementing this myself - this ain’t no feature request!
Steps so far (also see detailed notes, and the new service source repo)
- Build from source (really easy with PlatformIO and VSCode - nice job) and check src works unmodified.
- Create a new ‘service’ called cycleSaverService which
- runs each 10s
- waits until “lastChannel” global variable is the one we want to capture
- iterates through sampleV and sampleI of length ‘sample’ to record the last channel’s sample
- Used the orphan function “printSamples()” to view the samples
Expected to see:
- Two sin (-ish) waves of voltage and current for the last sample. That is, the ADC readings for the associated VT (channel 0) and a CT (channels 1+).
Outcomes so far:
- CT channels output have 700 samples. There are values in sampleV which form a sin wave and seem reasonable. There are values in sampleI which at always close to zero. This was unexpected.
- VT channels output have 700 samples. There are simliar values in both sampleV and sampleI which form a sin wave.
So, the questions:
- Where/how can I find the last set of sampled I and V waveforms for the last sample?
- Assuming I get the (integer) ADC values of the VT and CTs, which calibrations/offsets/etc do I apply to get the measured V and I?
- (Optional for bonus points!): based on the 1s sampling tests, I think I’m just seeing noise, as opposed to true variation in power/voltage. Is this correct?
Regards from Australia,
Brett