Skip to content

Studie Pulslast-Überwachung & KI-basierte Verbraucher-Klassifikation

License

Notifications You must be signed in to change notification settings

fair-acc/pulsed-power-ml

Repository files navigation

Pulsed Power Monitoring

Table of Contents

  1. Introduction
  2. Hardware Setup
  3. Software Architecture
  4. Prerequisites
  5. Usage

1 Introduction

There are two main objectives of this project:

  1. Pulsed Power Energy Monitoring (PPEM):
    Develop the necessary software to visualize in real time voltage, current, frequency, phase shift, apparent-, active- and reactive power of an electric circuit with dynamic and varying appliances by only measuring voltage and current directly at the power source of the circuit.
  2. Non-Intrusive Load Monitoring (NILM):
    Disaggregate the total power consumption (active power) into the power used by each appliance in real time by utilizing only the quantities derived in the first objective.

The results of PPEM and NILM are visualized in one dashboard respectively:

Dashboard PPEM Dashboard NILM
image image

2 Hardware Setup

One Phase

The setup consists of a multi-outlet power strip with switches for each outlet. A measuring adapter with the the possibility to connect a clamp-on ammeter is used to connect a digitizer in order to measure voltage and current. The digitizer has an USB-interface which is connected to a computer. The software developed for deriving frequency, phase shift, apparent-, active- and reactive power can handle arbitrary appliances being connected to the monitored circuit. The model used for the power disaggregation can only handle 'known' appliances with an almost static power profile. Additionally, the model must be trained with respective training data for each appliance. Thus, for the power disaggregation objective, three different appliances, a halogen lamp, a fluorescent lamp a an LED has been used for training and testing.

image

Three Phases

The following pictures show the complete setup for the three phase tests. This setup includes

  1. Current clamps - the same used for the one phase demonstrator
  2. Voltage measurement - the same used for the one phase demonstrator
  3. Distribution box - the neutral conductor needs to be multiplied by three for proper connection of voltage measurement
  4. Three phase power connection - enables connection of different loads to the different phases
  5. Three phase current and voltage measurement adapter

image image image |

3 Software Architecture

software_architecture

GNU-Radio Module

The processing of the raw data and the calculation of frequency, phase shift, apparent-, active- and reactive power is handled by a GNU-Radio module, which has been developed for this purpose. An OpenCMW-interface is used to stream live data (either to a dashboard for visualization or to an algorithm for the power disaggregation).

An overview of the GNU Radio flowgraph is documented in src/gr-pulsed_power/flowgraphs/flowgraph_simulated.grc.

Dashboard for live data

One receiver of the data transmitted by GNU-Radio over the OpenCMW-interface is an ImPlot-Dashboard for the purpose of visualizing the received data.

Real time power disaggregation and visualization

[outdated]
The other receiver is a Python-package which has been developed to disaggregate the total power consumption into the power consumed per appliance in real time. The results of this algorithm are also visualized by a dashboard.
The approach being used for the power disaggregration is a knowledge driven engineered model. During the development of the model, switching events and power consumption for each of the appliances have been analyzed. The knowledge gained from this analysis is then used to automatically detect switching events in the live data and, with the subsequent change in the monitored quantities (phase shift, apparent-, active- and reactive power) it could be determined which appliance has been turned on or off. The power profile for each appliance is modeled with affine function, which are also fitted during the 'training'.
An example of this models performance can be seen here:

image

4 Prerequisites

Details for setup, configuration and versions used for this project are described in the CI workflow.

According to the CI workflow, make sure you have the following installed:

5 Usage

GNU Radio

From directory src/gr-pulsed_power/ execute the following commands:

cmake -S . -B build
cmake --build build --target install
ldconfig

PulsedPowerService & InferenceTool

From directory src/opencmw_worker/ execute the following commands:

cmake -S . -B build
cmake --build build -j4
./build/src/PulsedPowerService > /dev/null & ./build/src/InferenceTool

Switching Models

For the power disaggregation multiple models were trained. You can find different models in src/pulsed_power_ml/. In case you want to use a different model for the InferenceTool do the following:

  1. Choose a model from src/pulsed_power_ml/.
  2. Extract the corresponding zip folder into src/opencmw_worker/src/model/.
  3. Rename the extracted folder to nilm_model.

You don't need to build the InferenceTool again in order to use the new model.

Dashboards

From directory src/implot_visualization/ execute the following commands:

emcmake cmake -S . -B build && (cd build && emmake make -j 20)
cmake --build build --target serve

View Dashboards

About

Studie Pulslast-Überwachung & KI-basierte Verbraucher-Klassifikation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published