Not quite. The capacitor they’re referring to is the sample & hold capacitor inside the ADC, and the idea is for it not to discharge while the S & H conversion is taking place. Hence, you mustn’t go too slowly while reading it. But you can of course pause between reading a sample and commanding it to do the next one while the Pi processes the numbers.
I don’t think so. There’s only one ADC, so you can read one channel at 10 ks/s, or 8 channels at 1.25 ks/s each - less I suspect because of the time taken to switch the input multiplexer.
In theory, you need at least two samples per cycle at the highest frequency you’re interested in. I think a general consensus is you don’t need to go higher than 2 kHz, which implies a sample rate of 4 ks/s. Using the ADC in the Atmel 328P in free-running mode, that will do about 9600 s/s, so if you want to measure current and voltage of one feed, to give you real power, you’d have 4800 sample pairs per second, or 80 sample pairs per cycle, and that should be good to way beyond the highest harmonic you’ll come across.
You won’t get that using analogRead( )
- emonLib uses that and you’ll get about 44 sample pairs per cycle.
What you have there is very close to an emonPi, and all the information for that is here, either in the Guide or the Wiki.
EmonLib and emonLibCM will both run on an Arduino Uno, using our standard sketches (but with the RF module stuff removed, of course, and using serial comms to the RPi as per the emonPi).