Calibration VCAL ICAL PHASECAL

From lechacal
Jump to navigation Jump to search

This guide covers calibration of AC factors VCAL ICAL PHASECAL used with RPICT series and Emonwrt3.

Overview

For AC related measures there are 3 coefficients. VCAL ICAL and PHASECAL.

These coefficients are set by default at manufacturing time. These are normally good enough to operate straight away and provide a decent reading.

All sensors although all produced identically have minor differences between them. This also applies for the ADC and passive components on the RPICT board. Therefore one may want to adjust the calibration coefficients to get more accurate values.

To achieve this a high quality multimeter or scope will be required. This will be the reference system that we will trust as being right.

Note it is important to ensure the reference device is giving True RMS. This is what the RPICT does and calibrating against a non-true-rms might not be the best idea.

Voltage VCAL

-1-

Take a note of the VCAL value currently setup in the configuration. Say this is VCAL = 545.0 in our example.

For this you might use the lcl-rpict-config.py function without options.

lcl-rpict-config.py -a

Reset the RPICT board for the command to complete. Then open the file located in /tmp/rpict.conf.

nano /tmp/rpict.conf

In this file you will find a line with KCAL. The KCAL parameter contains both VCAL and ICAL. See the section below to find which one is which.

Take a note of the VCAL value that applies to the channel you are calibrating and close nano with Ctrl X.

-2-

Connect the voltage sensor (ac/ac or zmpt) to the board to be tested and note the reading of the measured voltage given by the RPICT. Let's say in our case we get Vmes = 269.5V.

To achieve this you can just read the serial port with the lcl-run command or any other program you might have.

lcl-run

-3-

Use the multimeter to read the real voltage value. Say in our case we get Vreal = 245.6V

-4-

Calculate the new VCAL as such

newVCAL = VCAL*Vreal/Vmes

For us here this is newVCAL = 545*245.6/269.5 = 478.44

-5-

Enter the newVCAL value in the configuration.

Open the file again

nano /tmp/rpict.conf

Then modify the appropriate value in the KCAL parameter.

Reupload the config to the device using

lcl-rpict-config.py -a -w /tmp/rpict.conf

Current ICAL

Current is generally calibrated against a "Clamp Meter" or a Multimeter set as Amps AC.

Calibrating current is the same procedure as explained for Voltage above. The new calibration formulae is

newICAL = ICAL*Ireal/Imes

Ireal being the current measured by the trusted multimeter. Imes being the current measured initially by the RPICT board.

PHASECAL

In general Phasecal does not need to be any different from 0. Giving any other value to PhaseCal will shift the voltage signal against the current signal to compute power. In general there is no need to change phasecal from its default value 0.

There are 2 method for ajusting phasecal.

Resistive Load Method

-1-

Make sure PHASECAL is set to 0 in the configuration.

-2-

Configure the board to output Power Factor.

-3-

Use a purely resistive load like a radiator or a kettle.

-4-

Adjust Phasecal in the configuration until PowerFactor equal to 1 or slightly smaller. We recommend iterating in steps of 1. If PhaseCal = 0 then try -1 +1 -2 +2 etc until PowerFactor reaches a value close to 1. Do not set any value above +10 or -10 for phasecal.

Real Power Comparison method

If you have another system measuring Active Power (Real Power) this can be used.

-1-

Calibrate both Voltage and Current as explained above.

-2-

Make sure Real Power is in the output.

-3-

Apply a load and measure it with both the external system and the RPICT board.

-4-

Adjust phasecal by increment of 1. Start with -1 then +1 -2 + 2 and so on. Until you get the 2 real power matching as close as possible. Do not set any value above +10 or -10 for phasecal.

KCAL

As mentioned above KCAL parameters is an array containing both ICAL and VCAL. We show here below the location of each channel for each board.

Value with a 1. are placeholder and do not have any action on the device.

RPICT3T1 & RPIZ_CT3T1

kcal = 83.33 1. 1. 83.33 1. 1. 1. 83.33
kcal = ct1   1. 1. ct2   1. 1. 1. ct3


RPICT3V1 & RPIZ_CT3V1

kcal = 83.33 83.33 83.33 1. 1. 1. 1. 545.0
kcal = ct1   ct2   ct3   1. 1. 1. 1. V1

RPICT7V1 all versions

kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 560.0 83.33 83.33 83.33 83.33 83.33 83.33 83.33
kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 V1    ct7   ct6   ct5   ct4   ct3   ct2   ct1

RPICT7V1 all versions with firmware V4

kcal = 560.0 83.33 83.33 83.33 83.33 83.33 83.33 83.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
kcal = V1    ct7   ct6   ct5   ct4   ct3   ct2   ct1   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

RPICT8 all versions

kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 83.33 83.33 83.33 83.33 83.33 83.33 83.33 83.33
kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ct8   ct7   ct6   ct5   ct4   ct3   ct2   ct1

RPICT8 all versions with firmware V4

kcal = 83.33 83.33 83.33 83.33 83.33 83.33 83.33 83.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
kcal = ct8   ct7   ct6   ct5   ct4   ct3   ct2   ct1   1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 

RPICT4V3 all versions

Also for RPIZ_CT4V3T1 and RPIZ_CT4V3T2

kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 560.0 560.0 560.0 1 83.33 83.33 83.33 83.33
kcal = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 V3    V2    V1    1 ct4   ct3   ct2   ct1

RPICT4V3 all versions with firmware V4

Also for RPIZ_CT4V3T1 and RPIZ_CT4V3T2

kcal = 560.0 560.0 560.0 1 83.33 83.33 83.33 83.33 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
kcal =  V3    V2    V1    1 ct4   ct3   ct2   ct1  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1