Cảm biến dòng điện là gì?
Cảm biến dòng điện là một thiết bị được sử dụng để đo lường dòng điện trong một mạch điện. Nó có thể phát hiện dòng điện chạy qua một dây dẫn và chuyển đổi nó thành tín hiệu điện áp hoặc tín hiệu số mà các thiết bị điện tử khác có thể đọc được. Có nhiều loại cảm biến dòng điện khác nhau, mỗi loại phù hợp với các ứng dụng cụ thể. Dưới đây là một số loại phổ biến:
- Cảm biến Hall (Hall Effect Sensor): Sử dụng hiệu ứng Hall để đo lường từ trường sinh ra bởi dòng điện. Loại cảm biến này thường được sử dụng để đo dòng điện xoay chiều (AC) và dòng điện một chiều (DC).
- Cảm biến biến dạng (Shunt Resistor): Sử dụng một điện trở có giá trị rất thấp để tạo ra một sụt áp tỉ lệ với dòng điện chạy qua. Phương pháp này thích hợp cho các mạch điện yêu cầu đo lường dòng điện một chiều với độ chính xác cao.
- Biến áp dòng điện (Current Transformer – CT): Dùng để đo dòng điện xoay chiều bằng cách chuyển đổi nó thành dòng điện nhỏ hơn tỉ lệ với dòng điện ban đầu, thường được sử dụng trong các ứng dụng công nghiệp.
- Cảm biến dòng điện không tiếp xúc (Non-Invasive Current Sensor): Sử dụng một vòng cảm ứng để đo từ trường do dòng điện sinh ra mà không cần tiếp xúc trực tiếp với dây dẫn. Một ví dụ phổ biến là cảm biến dòng điện SCT013.
Cảm biến dòng điện có thể được sử dụng trong nhiều ứng dụng khác nhau như giám sát hệ thống điện, đo lường tiêu thụ điện năng, bảo vệ quá tải, và trong các hệ thống điều khiển tự động.
Nguyên lí hoạt động của cảm biến dòng điện
Nguyên lý hoạt động của cảm biến dòng điện phụ thuộc vào loại cảm biến được sử dụng, nhưng nhìn chung, chúng hoạt động dựa trên việc phát hiện sự thay đổi của từ trường, điện áp hoặc nhiệt độ do dòng điện sinh ra. Dưới đây là nguyên lý hoạt động của một số loại cảm biến dòng điện phổ biến:
- Cảm biến Hall (Hall Effect Sensor):
- Nguyên lý hoạt động: Dựa trên hiệu ứng Hall, khi dòng điện chạy qua một dây dẫn, nó sẽ tạo ra một từ trường xung quanh dây dẫn. Khi cảm biến Hall được đặt gần dây dẫn, từ trường này sẽ tương tác với cảm biến, tạo ra một điện áp Hall vuông góc với dòng điện và từ trường. Điện áp Hall này tỉ lệ thuận với cường độ dòng điện, và có thể được đo lường để xác định giá trị dòng điện.
- Ứng dụng: Đo lường dòng điện trong cả dòng AC và DC, thường dùng trong các ứng dụng đo lường không tiếp xúc và bảo vệ quá tải.
- Cảm biến biến dạng (Shunt Resistor):
- Nguyên lý hoạt động: Khi dòng điện chạy qua một điện trở shunt có giá trị rất nhỏ, nó tạo ra một sụt áp tỉ lệ với cường độ dòng điện. Điện áp sụt này được đo và sử dụng để tính toán dòng điện theo định luật Ohm (I = V/R).
- Ứng dụng: Đo lường dòng điện một chiều (DC) với độ chính xác cao trong các mạch điện tử.
- Biến áp dòng điện (Current Transformer – CT):
- Nguyên lý hoạt động: Biến áp dòng điện hoạt động giống như một máy biến áp, với dòng điện chính đi qua cuộn sơ cấp và cuộn thứ cấp sẽ tạo ra một dòng điện tỉ lệ với dòng điện sơ cấp. Dòng điện trong cuộn thứ cấp có thể được đo và chuyển đổi thành giá trị dòng điện thực tế trong mạch chính.
- Ứng dụng: Đo lường dòng điện xoay chiều (AC) trong các hệ thống điện công nghiệp và dân dụng.
- Cảm biến dòng điện không tiếp xúc (Non-Invasive Current Sensor):
- Nguyên lý hoạt động: Loại cảm biến này sử dụng một vòng cảm ứng để đo từ trường sinh ra bởi dòng điện trong dây dẫn mà không cần tiếp xúc trực tiếp với dây dẫn. Từ trường thay đổi tạo ra một dòng điện cảm ứng trong cuộn dây của cảm biến, dòng điện này tỉ lệ với dòng điện trong dây dẫn.
- Ứng dụng: Đo lường dòng điện xoay chiều (AC) trong các ứng dụng cần độ an toàn cao, như giám sát dòng điện trong các dây dẫn lớn mà không cần ngắt mạch.
3. Hướng dẫn sử dụng cảm biến dòng điện Hall SCT-013 100A với Arduino:
Đối với hướng dẫn này, chúng tôi sẽ sử dụng SCT-013. Nó có thể đo các giá trị từ 0 đến 100A của dòng điện xoay chiều. Đầu ra của nó sẽ có giá trị từ 0 đến 50mA tỷ lệ với giá trị hiện tại của dây dẫn chính. Vì Arduino chỉ đọc các giá trị điện áp, chúng ta sẽ cần phải xây dựng một mạch phụ để dòng điện này chạy qua một điện trở và do đó chúng tôi có thể chuyển đổi các giá trị dòng điện do cảm biến tạo ra thành các giá trị điện áp.
Các linh kiện cần chuẩn bị:
- 1 x Arduino Uno
- 1 x Cảm Biến Dòng Điện Hall SCT-013 100A YHDC
- 1 x Test board
- 2 x điện trở 10KΩ
- 1 x điện trở 33Ω
- 1 x tụ điện 100uF
- Dây nối

Ta có điện trở R1 làm giảm điện áp AC, điện trở R1 và R2 cung cấp điện áp phân cực cho DC. Tụ điện C1 cung cấp một trở kháng thấp để nối đất cho tín hiệu AC, giá trị trong khoảng 1uF đến 100uF là đủ tốt.
Ngõ ra dòng điện hiệu dùng của cảm biến dòng tối đa đạt 50mA, khi mà dòng điện ngõ vào đạt 100A. Do Arduino không thể đo được nguồn có giá trị âm nên chúng ta phải cộng thêm vào điện áp ngõ ra 2.5V của cảm biến Hall.
Vì vậy, ta có dòng điện cực đại đo được là:
Iin = 2 * i (rms) = 1,414 * 100A = 141,4 A
Biết rằng để dòng điện ở sơ cấp có cường độ 100A, thì ở thứ cấp là dòng điện có cường độ 50A, ta chỉ cần đấu vào công thức tỉ số biến đổi. Kết quả sẽ là:
N1 / N2 = I2 / I1
I1 = dòng điện trong sơ cấp (dòng điện cần đo);
I2 = dòng điện ở thứ cấp;
N1 = số phiếu bầu của sơ cấp (trong trường hợp của cảm biến này, N1 sẽ bằng 1);
N2 = số vòng ở thứ cấp.
N2 = 2000 lượt.
Dòng điện ở đầu ra cảm biến tỷ lệ nghịch với số vòng (ở đây là 2000):
Iout = 141,4A / 2000 = 0,0077A

Arduino UNO chỉ đọc các mức điện áp (từ 0V đến 5V) trên các chân đầu vào tương tự của nó. Do đó, chúng ta cần chuyển đổi tín hiệu dòng điện xoay chiều SCT-013 sang giá trị điện áp mà Arduino có thể đọc được.
Bước đầu tiên là thêm một điện trở tải giữa các cực cảm biến hiện tại:
Khi dòng điện xoay chiều xung quanh, chúng ta sẽ chọn một điện trở tạo ra giá trị điện áp tối đa là 2,5V.
R (tải) = U (cảm biến) / I (cảm biến) = 2,5V / 0,0707A = 35,4Ω
Do giá trị điện trở trên không có trên thị trường nên ta có thể chọn trở 33Ω.
Bây giờ chúng ta có một tín hiệu điện áp xoay chiều thay đổi giữa 2,5V dương và 2,5V âm. Mà Arduino không thể đo điện áp âm, vì vậy chúng ta cần đặt tín hiệu 2,5 V để nó thay đổi trong khoảng từ 0V đến 5V. Ta phải sử dụng thêm 2 điện trở R1 và R2 có giá trị bằng nhau, 2 điện trở chỉ có tác dụng phân áp nên ta có thể chọn 10K – 470K, ở đây ta sử dụng trở 10KΩ.
Tụ C1 có chức năng giảm nhiễu tín hiệu ngõ ra, ở đây ra chọn là 100uF.
Lập trình:
Thư viện: https://github.com/openenergymonitor/EmonLib
Code tham khảo:
#include "EmonLib.h"
EnergyMonitor SCT013;
int pinSCT = A0; //cảm biến kết nối với chân A0
int vol = 230;
int cong_suat;
void setup()
{
SCT013.current(pinSCT, 60.606);
Serial.begin(9600);
}
void loop()
{
double Irms = SCT013.calcIrms(1480);
cong_suat = Irms * vol;
Serial.print("Dong dien = ");
Serial.print(Irms);
Serial.println(" A");
Serial.print("Cong suat = ");
Serial.print(cong_suat);
Serial.println(" W");
delay(500);
Serial.print(".");
delay(500);
Serial.print(".");
delay(500);
Serial.println(".");
delay(500);
}
Mạch in PCB sử dụng đọc tín hiệu cảm biến dòng điện xoay chiều 230V – SCT013


