Interfacing ZMCT103C Current Sensor with Arduino
Monitor AC Current using ZMCT103C CT sensor & Arduino
Overview: ZMCT103C with Arduino
In this tutorial, we will learn interfacing ZMCT103C Current Sensor with Arduino. The ZMCT103C Current Sensor is a high-precision micro current transformer that can be used to measure AC mains current up to 5 Amps. It has a turns ratio of 1000:1, which means that a 5 Amp current through the primary will produce a 5mA current in the secondary. This small current can be easily read by an Arduino.
Components Required
To connect the ZMCT103C to an Arduino, you will need the following components:
- ZMCT103C Current Sensor
- Arduino Nano
- 33-ohm resistor
- 2 x 100k ohm resistor
- 10uf capacitor
- Jumper wires
- Breadboard
You can purchase them from below:
S.N | COMPONENTS NAME | QUANTITY | PURCHASE LINKS |
---|---|---|---|
1 | Arduino Nano | 1 | Amazon | AliExpress |
2 | ZMCT103C Current Sensor | 1 | Amazon | AliExpress |
3 | 33-ohm resistor | 1 | Amazon | AliExpress |
4 | 100k ohm resistor | 2 | Amazon | AliExpress |
5 | 10uf capacitor | 1 | Amazon | AliExpress |
6 | Jumper wires | 10 | Amazon | AliExpress |
7 | Breadboard | 1 | Amazon | AliExpress |
ZMCT103C CT sensor
The ZMCT103C CT sensor can be used for a variety of applications, including:
- Metering (electrical energy meters)
- AC Voltage measurements
- Sensing Overload Current
- Ground fault detection
- Household electrical equipment
- Industrial applications
- Electrical testing equipment and relay protection
- Analog to digital circuits
If you are looking for a high-precision current transformer for your next project, the ZMCT103C is a great option.
Features
Features of ZMCT103 Micro Precision Current Transformers
- low price
- small size ( 18.3mm x17 mm) and lightweight
- Easy PCB mounting
- Good consistency
- widely used
Specifications
Specifications | Descriptions |
Rated input current | 0-10A(50Ω) |
Rated output current | 5mA at input 5A |
phase angle error | ≤15'(input 5A,sampling resistor 50Ω) |
Isolation withstand voltage | 4500V |
Turns Ratio | 1000:1 |
Measurement accuracy Class | 0.2 |
Linearity | ≤0.2%(5%dot~120%dot) |
Installation | PCB mounting(Pin Length>3mm) |
Operating Frequency | 45-55Hz |
operating temperature | -40℃~+85℃ |
ZMCT103C Datasheet
Download the datasheet of ZMCT103C it provides details specifications, dimensions, mounting, etc.
Interfacing ZMCT103C Current Sensor with Arduino
First, connect the ZMCT103C to the breadboard as follows:
To connect a CT to an Arduino, connect R6 as a burden resistor, R8 and R7 as a potential divider, and C3 as a smoothing capacitor.
When 5 amps of current flow through the primary, 5 milliamps flow through the secondary (calculated using the transformation ratio). This secondary current produces a voltage drop of 165 mV, calculated using Ohm’s law (V = I * R), where V is voltage, I is current, and R is resistance. The voltage from the burden resistor (165 mV) is added to the DC voltage from the potential divider (2.5 V) to give a total voltage of 2.665 V, which is then fed to the analog pin A5 of the Arduino.
Hence the voltage received by the analog pin A5 of Arduino when 5 Amp current flows is 2.665V.
To install the ZMCT103C current transformer, pass a mains wire (either phase or neutral) through the hole in the top of the device. This wire will become the primary winding of the transformer. The leads that are brought out of the device are from the secondary winding.
Caution:
- Never pass current through the primary winding of the transformer when the secondary winding is open-circuited. This can damage the transformer.
- Always keep a burden resistor connected across the secondary winding of the transformer. This resistor helps to protect the transformer and ensures that it operates correctly.
In this example, a burden resistor of 33 ohms is used.
PCB Design, Gerber Files & PCB Ordering
To assemble the components for testing, you can use a breadboard. However, for a more reliable and professional solution, I recommend using a custom PCB. I have already designed a custom PCB specifically for this project.
To access the Gerber file of the PCB, you can download it from the provided link.
Once you have the Gerber file, you can place an order for the PCB from PCBWay.com. PCBWay offers affordable prices and provides high-quality PCB manufacturing services. They have exciting offers such as a new user signup bonus and various coupons that you can take advantage of for your order.
ZMCT103C Arduino Code
The following code will read the current from the ZMCT103C sensor and print it to the Serial Monitor. You can then use this value to monitor the current in your circuit.
#include "EmonLib.h" // Include Emon Library EnergyMonitor emon1; // Create an instance int CT_pin = 5; // CT sensor pin connected to A5 pin of Arduino void setup() { Serial.begin(9600); emon1.current(CT_pin, 32.59); // Current: input pin, calibration. } void loop() { double Irms = emon1.calcIrms(1480); // Calculate Irms only Serial.print(Irms*230.0); // Apparent power Serial.print(" "); Serial.println(Irms); // Irms }
The EmonLib.h library is an electricity monitoring library designed by openenergymonitor.org that is best for voltage and current measurement using Arduino Code. With this simple Arduino code using the EmonLib library, you will get proportional current output.
Program Code Explanation
This code uses the EmonLib library to measure the current flowing through a CT sensor connected to the A5 pin of an Arduino. The code first includes the EmonLib library and then creates an instance of the EnergyMonitor class. The CT_pin is set to 5, which is the pin connected to the CT sensor. The setup() function initializes the serial port and then calibrates the emon1 object. The loop() function calculates the RMS current and then prints the apparent power and RMS current to the serial port.
Real-World Projects Using ZMCT103C
- Overcurrent protection device: The ZMCT103C can be used to monitor the current in a circuit and shut it down if the current exceeds a certain threshold. This can be used to protect appliances and equipment from damage due to overcurrent.
- Energy monitoring: The ZMCT103C can be used to measure the current in a circuit and calculate the power consumption. This can be used to monitor the energy usage of appliances and equipment.
- Load monitoring: The ZMCT103C can be used to measure the current in a circuit and calculate the load on the circuit. This can be used to monitor the load on appliances and equipment.
- Motor control: The ZMCT103C can be used to control the speed of a motor by controlling the current that is supplied to the motor.
- Current measurement: The ZMCT103C can be used to measure the current in a circuit for a variety of purposes, such as troubleshooting, calibration, and research.
Conclusion
In conclusion, this project has been a success. The ZMCT103C current transformer has been successfully installed and calibrated, and the Arduino code is working as expected. The ZMCT103C can be used for a variety of applications, such as overcurrent protection, energy monitoring, load monitoring, motor control, and current measurement.
como obtienes el valor de calibracion? (32.59)