RPICT3T1: Difference between revisions

From lechacal
Jump to navigation Jump to search
Line 167: Line 167:


</syntaxhighlight>
</syntaxhighlight>
To get the above example just enter the command below.
wget lechacal.com/RPICT/example/RPICT3T1_DEMO.py.zip
unzip RPICT3T1_DEMO.py.zip
and run it using
python3 RPICT3T1_DEMO.py


==Files==
==Files==

Revision as of 08:43, 24 April 2023

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

Information shown here also applies for RPIZ_CT3T1 and RPICT3T1_RLY2.

Overview

The RPICT3T1 measures AC Power and Temperature.

  • 3x AC current sensor
  • 1x DS18B20 Temperature Sensor
  • Attiny84 Microcontroller

Notice

Power is computed using a fixed estimated Voltage. This estimated voltage can be configured. Default value is 240V. You will be able to change this to 110 or 230 depending on the country where it is used.

If you require more accurate power measurement then use the RPICT3V1 board instead. This will also read Voltage and calculate Real Power. A voltage sensor will be required in this case.

Compatibility

Version Compatible?
Raspberrypi 1 A Yes
Raspberrypi 1 B No mounting holes.
Raspberrypi 1 B+ Yes
Raspberrypi 2 B Yes
Raspberrypi 3 B Yes
Raspberrypi 3 B+ Yes
Raspberrypi 4 B Yes
Raspberrypi Zero Use RPIZ_CT3T1 instead
  • Asus Tinkerboard has been reported to work with RPICT units. Note we wont be able to provide support for the Tinkerboard.

Recommended sensors

  • AC Current sensor:
    • SCT-013-000
    • SCT-019
    • SCT-006
    • SCT-024 400A/100mA
    • SCT-031 600A/100mA

Temperature Sensor

The DS18B20 temperature sensor can be connected directly to the screw terminal connector.

Connection is as follow:
Vcc - Red
Din - Yellow
Gnd - Black

Using the latest sketch 3.3 up to 8 temperature sensors can be connected.

See also the DS18B20 Junction Board for sale here.

Configuration

See general instructions for

Configuration over serial for sketch version 1.2 1.3 & 2.0.

Configuration over serial for sketch version 3.0.

Calibration

If calibration is required only ICAL has any effect on the calibration.

VCAL and PHASECAL might be present in the config but have no effect. These should be ignored for the RPICT3T1.

Default Data Output

Using the manufacture firmware the data output is:

NodeID P1 P2 P3 Temperature

P1 P2 P3 in Watt. Temperature in Celsius. P1 being the estimated Power using CT1. `Estimated Power` computes power multiplying Irms by Vest. Where Vest is the estimated Voltage setup in the config. By default Vest=240V we recommend to change this to 220V or 110V if your local voltage supply differ.

If you prefer having current in Amperes rather than Power in Watt set VEST=1 in the configuration. In the same manner you can set VEST=1000 to get milliAmperes.

Restore Default Config

You should have received a key when acquiring the unit. Use this key to download and restore the default configuration.
If the key was XXXX then execute these commands below. Replace XXXX with your own key.

$ wget lechacal.com/hardware/c/XXXX.conf
$ lcl-rpict-config.py -w XXXX.conf

Emoncms Config (Emonhub)

For default configuration. Used as single board only (not stacked).

 [[11]]
   nodename = RPICT1T1
   firmware = RPICT3T1_V1_1.ino
   hardware = RPICT3T1
   [[[rx]]]
       names = Power1,Power2,Power3,Temperature
       datacode = 0
       scales = 1,1,1,1
       units = W,W,W,C

Python demo script

First of all make sure you have python-serial package installed

$ sudo apt-get install python-serial

Then copy the following into an executable file and run it.

 #!/usr/bin/python3
 import serial
 ser = serial.Serial('/dev/ttyAMA0', 38400)
 
 try:
        while 1:
             # Read one line from the serial buffer
             line = ser.readline().decode().strip()
 
             # Create an array of the data
             Z = line.split(' ')
 
             # Print it nicely
             print ("----------")
             for i in range(len(Z)):
                 if i==0:
                     print ("NodeID: %s" % Z[0])
                 elif i in [1,2,3]:
                     print ("Power %d: %s W" % (i, Z[i]))
                 elif i==4:
                     print ("Temperature: %s C" % (Z[i]))
                        
 except KeyboardInterrupt:
        ser.close()

To get the above example just enter the command below.

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

and run it using

python3 RPICT3T1_DEMO.py

Files

Please verify which board version is yours. This is written on the circuit board itself.

Hardware Version 1.3

Default Sketch v1.3
Default Sketch v1.4

Hardware Version 2.1

Default Sketch v3.1
Default Sketch v3.2
Default Sketch v3.3 → current default for sold units.

CAD Drawing

Related Pages

Howto_setup_Raspbian_for_serial_read

Gen3_Passive_Component_Setup

How to program an Attiny85 or Attiny84

Advanced - RPICT3T1 MCU Pinout

Use Emonhub with RPICT