Analog input module for arduino - Generator project

Hello, I`m an electrical engineer with some spare time and would like to interface my 10kVA generator with arduino, as a hobby project.

Goal:

  1. Read three phase voltages and currents.
  2. Calculate phase angles, power factor and powers.
  3. Show diesel engine and generator vital running data on a webpage.
  4. Show diesel engine and generator on a webpage using highcharts/stored .csv files.
  5. Automatic diesel engine start procedure with loss of voltage.
  6. Automativ shutdown of diesel engine by certain criteria.
  7. Send SMS warning of critical measurements, like to high exhast temp or to high load.
  8. Send SMS status every 30 minutes of running data.

Questions:

My challenge, is the interface of 230VAC 50Hz voltage and current to arduino. I need six channels. I have good experience using ADS1115 and it can read 860s/sec.

I do not want to use chinese electronics modules, as they often have unsafe circuits and basic design flaws. So my question is, do anyone know if this kind of analog interface module allready exists? It need to have ADC and op amps for six channels embedded. It could save som pcb design time.

  1. When the arduino read the sine waves, I would like to try out/fiddle with FFT (fast fourier transform), to find the 1 harmonic and calculate THD. I know the calculations is computing intensive and conflicts the ADS readout. But with the new microcontrollers with 72MHz+++ clock, maybe it could somehow work. Anyone done this before?

Best regards, AA.

Probably also made in China:

have a look at SCT-013 current clamp and 4-Channel-Mains-Current-Sensor-ESP8266
I have used the clamps to check house 3-phase current consumption, e.g.


for phase and power factor you will also have to measure volatage and the ADS1115 should a good choice - also look at an ESP32 which has onboard WiFi, Bluetooth Classic and BLE and has up to 16 ADCs - the ADCs only measure positive signals so you will have to add a DC offset to the AC signal to make it positive
for a FFT you will require a powerful DSP microcontroller - may be simpler to send the acquired data to a PC and use Matlab or GNU Octave

consider using a Raspberry Pi - RPi ADC HATs are available with 8 bipolar channels with I2C interfaces

using transformers for voltage and clamps for current plus you could input AC signals directly into the ADC - using potential dividers to convert the transformer/clamp outputs to the input range of the ADC

sample over several seconds calculating RMS values would give voltage and current and zero crossing would give phase/power factor (could check results using using a resistive load)

you could run GNU Octave on the RPi to acquire data via I2C for input to FFTs