- 1 Why is the reading not zero when there is no current?
- 2 Why is the reading different from my multimeter?
- 3 CT is clamped but reading does not move
- 4 Why is Real Power sometimes negative?
- 5 Do I need to use a Voltage sensor?
- 6 Can I use a voltage output CT with RPICT series?
- 7 Which pins are used on RPICT series?
- 8 Python 'device reports readiness to read but...' error
Why is the reading not zero when there is no current?
Also answers Why is the CT not showing zero's when not connected?
This is due to the RMS calculation. To have perfect zero would imply the waveform is a perfect straight line. The CT sensor and the signal chain on the RPICT is analog. This means that noise is also measured. Therefore it reports zero + noise when not connected or without any current flowing across.
For a board setup with the SCT-013-000 and 100A fitted burden resistor one might find a background noise around 0.2A (50W for 240V). Do take into consideration the range of the board versus the level of noise. In the example the reading range is 100A with a background noise of 0.2A. This is a 0.2% ratio.
What if I need to read something below or around the noise level?
One way to have a lower background noise is to opt for a lower range at purchase time (see option 'rating').
Another possibility is to use a voltage sensor and measure Real Power instead of Estimated Power.
Note that using additional hardware on the Raspberrypi like video monitor / keyboard and additional hats will increase the risk to have higher noise.
The power supply unit quality has an impact on the level of noise. Make sure you are using a 2A minimum PSU.
The noise level also depend on the RPICT board used. RPICT units with atmega328p mcu do have a more consistent noise across channels compare to RPICTs with a attiny84 mcu.
Can I reduce the background noise with a calibration? No.
Why is the reading different from my multimeter?
RPICT series are sold configured with theoretical calibration values. These provide good results in most cases. If you do trust the instrumentation device you are comparing against and want both of them to match then you should carry out a calibration of V and I. See this article. Calibration_VCAL_ICAL_PHASECAL.
Please consider these points below.
- The device compared against could be inaccurate.
- If you are measuring the power of an apparatus that states its nominal power do not expect to read that number exactly. For example the label of an apparatus may indicated 2kW. Nevertheless do not expect to read 2000.000W but rather something between 1500 or 2500 approximatively. Also note some devices like ovens will be on and off and consume nominal power only for a given lap.
CT is clamped but reading does not move
1. Make sure the SCT is clamped around a SINGLE PHASE.
Clamping the CT on the whole mains cable will never read anything as it measures two currents. One positive plus one negative which sums to 0 (or near 0).
The easiest quick test is to connect the CT at the meter level on a single phase. Otherwise if willing to measure the power used by a single application then make a special cable that split phases.
2. If using RPICT7V1 or RPICT4V3 or RPICT3V1 make sure the voltage sensor is plugged in and voltage reading is correct.
3. Make sure the load applied is sufficient and adapted. If using a 100A range board then a load of minimum 200W should be applied to be clearly visible. Anything in the vicinity of 50 watt would not stand out much from noise.
Why is Real Power sometimes negative?
Real power will be either positive or negative depending on the current direction. If the negative number is not desired flip the CT clamp the other way.
Also when power is near zero you will then just read the noise which might be randonly positive or negative.
Do I need to use a Voltage sensor?
Yes if you need to do accurate readings. Yes if you are measuring for current direction (e.g. import/export in solar panel).
For any other readings using an estimated voltage (RPICT8, RPICT3T1) is usually sufficient.
Can I use a voltage output CT with RPICT series?
The vast majority of RPICT series only support current output CT's. The only units able to support voltage output CT's are RPICT7V1 RPICT8 and RPICT4V3 in version 4.
For information the SCT-013-000 is current output. All other SCT-013-030 SCT-013-005 and other SCT-013-0xx are all voltage output.
If you wish to read a range of 30A we recommend the use the SCT-013-000 with a RPICT board having rating 30A.
"...but the sct-013-000 is for 100A. Do I loose precision here?"
These are 2 different specifications.
The rating given by the manufacturer for the SCT-013-000 tells where the sensor provide a reading in spec with the datasheet. In this case if going beyond 100A this sensor will not respond linearly.
The rating indicated for the RPICT is the range on which we scale the ADC. In other terms we have 1024 or 4096 points of resolution and we distribute these resolution points over the chosen rating. The 30A rated board will have 4096 resolution points from 0 to 30A.
Which pins are used on RPICT series?
The Raspberrypi pins used by the RPICT board are listed below.
1 - 3.3V (RPICT3T1, RPICT3V1, RPICT4T4)
2 - 5V (RPICT7V1, RPICT8, RPICT4V3)
6 - GND
8 - TXD
10 - RXD
For some of the newest board the following pin is also used for auto-reset:
7 - GPIO4 (to arduino reset)
Python 'device reports readiness to read but...' error
You might encounter the following error when running a Python program.
Traceback (most recent call last): File "/usr/local/bin/lcl-rpict-config.py", line 564, in <module> L = wait_and_read(options) File "/usr/local/bin/lcl-rpict-config.py", line 59, in wait_and_read r = ser.read(1) File "build/bdist.linux-armv6l/egg/serial/serialposix.py", line 501, in read serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
This is usually due to a duplicate access to the serial port.
To solve this find the other program using the serial port and stop it.
Common causes are:
- Emonhub is already running. Stop it using sudo /etc/init.d/emonhub stop.
- Another python program (or cat) is already running.
- The Raspberrypi has been misconfigured. Make sure you have correctly followed all the steps in Howto setup Raspbian for serial read.