Difference between revisions of "RPICT4V3 Version 5"

From lechacal
Jump to: navigation, search
(3Phase firmware)
(3Phase firmware)
Line 175: Line 175:
 
Using the three phase firmware the data output is:
 
Using the three phase firmware the data output is:
  
  NodeID Vrms1 Vrms2 Vrms3 Irms1 Irms2 Irms3 Irms4 Realpower1 Realpower2 Realpower3 PF1 PF2 PF3
+
  NodeID Vrms1 Vrms2 Vrms3 Realpower1 Realpower2 Realpower3 Irms1 Irms2 Irms3 Irms4 PF1 PF2 PF3
  
 
Using this firmware channels can not be modified with the configuration. Power associations are as follow.
 
Using this firmware channels can not be modified with the configuration. Power associations are as follow.

Revision as of 10:01, 17 July 2021

RPICT4V3 Version 5

IMG 0430 small.png

Link to shop

This page is for board specific information. More information can be found on the generic page for RPICT series.

Overview

  • 4 AC current sensors.
  • 3 AC Voltage sensors.
  • Compute real power.
  • Fit on Raspberrypi 4 holes mounting pattern.
  • AtMega328 Mcu (Arduino UNO)
  • MCP3208 12 bits ADC
  • Stackable (up to 5 boards together)

A typical application for the RPICT4V3 is 3 phase systems power reading. The 3 voltages are coupled with 3 CT to perform power computation on each line.

3 phase diagram rpict4v3.png

Compatibility

Version Compatible?
Raspberrypi 1 A No
Raspberrypi 1 B+ Yes
Raspberrypi 2 B Yes
Raspberrypi 3 B Yes
Raspberrypi 3 B+ Yes
Raspberrypi 4 B Yes
  • Asus Tinkerboard has been reported to work with RPICT units. Note we won't be able to provide support for the Tinkerboard.

Recommended sensors

  • AC Current sensor:
    • SCT-013-000
    • SCT-019
    • SCT-006
  • AC Voltage sensor:

VOLTAGE OUTPUT CT SUCH AS SCT-013-030 and other SCT-013-0XX ARE NOT COMPATIBLE WITH THIS BOARD. Only use the SCT-013-000 which is a current output CT.


IMG 1239 small.png

Stacking Configuration

General stacking information is described in the RPICT stacking page. RPICT_Stacking Version 5


Software Configuration

Using a serial line terminal program one can configure the following:

- Polling interval
- Output format (csv or emoncms)
- Calibration values (Voltage and Current)
- Voltage/current combinations for real power computation.
- Output channels


The documentation for serial configuration can be found on this page.
For the 3Phase sketch.
Configuration for 3Phase firmware
For the individual phase sketch.
Over Serial Configuration - Sketch 3.0


Auto Reset

Version 5 units have auto reset support. When using the lcl-rpict-config.py command it is possible to reset the RPICT remotely with the -a option.

lcl-rpict-config.py -a 

or

lcl-rpict-config.py -a -w myfile.conf

Files

3Phase sketch

This is the default firmware from manufacture.

3Phase Sketch V1.3

This sketch can be loaded directly from the Raspberrypi following this guide and executing the commands below.

wget lechacal.com/RPICT/sketch/RPICT4V3_3Phase_V5_v1.3.ino.hex
lcl-upload-sketch RPICT4V3_3Phase_V5_v1.3.ino.hex

Individual Phase Sketch

If not using the RPICT4V3 for 3 phase you can use the firmware for individual line.

Default Sketch V3.2.0.

This sketch can be loaded directly from the Raspberrypi following this guide and executing the commands below.

wget lechacal.com/RPICT/sketch/RPICT_MCP3208_v3.2.0.ino.hex
lcl-upload-sketch RPICT_MCP3208_v3.2.0.ino.hex

Using this sketch the configuration tool below can be used to setup each channels individually.

Online config 01.png

noOSC Sketch

The Default sketch allows up to 28 computation nodes to be run. If more are needed for higher stacks then we recommend to use the noOSC sketch. This is the same as the default sketch but Over Serial Configuration (OSC) as been removed to allow up to 40 nodes to be computed. Configuration has to be edited in the sketch.

noOSC Sketch v1.0
noOSC Sketch v1.1

Simple Python Example

The example python script below will work well with the default configuration.

 import serial
 ser = serial.Serial('/dev/ttyAMA0', 38400)
 
 try:
       while 1:
            # Read one line from the serial buffer
            line = ser.readline()
 
            # Remove the trailing carriage return line feed
            line = line[:-2]
 
            # Create an array of the data
            Z = line.split(' ')
 
            # Print it nicely
            if len(Z)>16:
                print ("----------")
                print ("          \tCT1\tCT2\tCT3\tCT4") 
                print ("Vrms     :\t%s\t%s\t%s\t%s" % (Z[1], Z[2], Z[3], Z[4]))
                print ("RealPower:\t%s\t%s\t%s\t%s" % (Z[5], Z[6], Z[7], Z[8]))
                print ("Irms     :\t%s\t%s\t%s\t%s" % (Z[9], Z[10], Z[11], Z[12]))
                print ("P Factor :\t%s\t%s\t%s\t%s" % (Z[13], Z[14], Z[15], Z[16]))
 
 
 except KeyboardInterrupt:
       ser.close()

To run this first of all make sure you have python-serial package installed

$ sudo apt-get install python-serial


Then run the command below to download the script.

wget lechacal.com/RPICT/example/RPICT4V3_DEMO_02.py.zip
unzip RPICT4V3_DEMO_02.py.zip

and run it using

python RPICT4V3_DEMO_02.py

Data Output

3Phase firmware

This is the default from manufacture. Using the three phase firmware the data output is:

NodeID Vrms1 Vrms2 Vrms3 Realpower1 Realpower2 Realpower3 Irms1 Irms2 Irms3 Irms4 PF1 PF2 PF3

Using this firmware channels can not be modified with the configuration. Power associations are as follow.

RealPower1 -> CT1 & V1
RealPower2 -> CT2 & V2
RealPower3 -> CT3 & V3

Individual Phase firmware

Using the individual phase firmware the data output is:

NodeID Vrms1 Vrms2 Vrms3 Vrms4 Realpower1 Realpower2 Realpower3 Realpower4 Irms1 Irms2 Irms3 Irms4 PF1 PF2 PF3 PF4

Real Powers are computed using the following rules:

RealPower1 -> CT1 & V1
RealPower2 -> CT2 & V2
RealPower3 -> CT3 & V3
RealPower4 -> CT4 & V3

These rules can be modified in the configuration if needed.

Other output type can be streamed out. This should be configured in the unit.

All outputs type available are

  • Vrms (V)
  • Irms (mA)
  • Real Power (W)
  • Apparent Power (W)
  • Power Factor
  • Estimated Power

Restore Default Config

$ wget lechacal.com/RPICT/config/B4/rpict4v3_3phase.conf
$ lcl-rpict-config.py -w rpict4v3_3phase.conf

These command above will restore the default configuration for a 100A rated board. For all other rating see the corresponding table here.
Then for parameter kcal replace all the 83.33 with the corresponding calibration coefficient found in the table.

Emoncms Config (Emonhub)

Make sure you read this first.

For default configuration.

 [[11]]
   nodename = RPICT4V3
   hardware = RPICT4V3
   [[[rx]]]
       names = Vrms1,Vrms2,Vrms3,Vrms4,Realpower1,Realpower2,Realpower3,Realpower4,Irms1,Irms2,Irms3,Irms4,PF1,PF2,PF3,PF4
       datacode = 0
       scales = 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
       units = V,V,V,V,W,W,W,W,mA,mA,mA,mA

Enclosure

Enclosures kit are available as a 3D printed product. Link to the shop.

Both Raspberrypi 3 and 4 format are available.

Enclosure-kit-for-rpict4v3.jpg


Related Pages

Howto_setup_Raspbian_for_serial_read

How to calibrate the Voltage Port

Update RPICT firmware (CT7V1/CT4V3/CT8)