Hướng dẫn sử dụng cảm biến dòng điện ACS712 với Arduino

I. Giới thiệu

Cảm biến dòng điện ACS712  là một IC cảm biến dòng tuyến tính dựa trên hiệu ứng Hall. ACS xuất ra 1 tín hiệu analog, Vout biến đổi tuyến tính theo sự thay đổi của dòng điện được lấy mẫu thứ cấp DC (hoặc AC), trong phạm vi đã cho. Tụ (Cf theo sơ đồ) được dùng với mục đích chống nhiễu và có giá trị tùy thuộc vào từng mục đích sử dụng.

II. Đặc điểm nổi bật

  • Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs.
  • Điện trở dây dẫn trong là 1.2mΩ.
  • Nguồn vận hành đơn là 5V.
  • Độ nhạy đầu ra từ 63-190mV/A.
  • Điện áp ra cực kỳ ổn định.

III. Thông số kỹ thuật

Đường tín hiệu analog có độ nhiễu thấp
 
Thời gian chuyển đổi
5µs
Điện trở trong
1.2mΩ
Sử dụng nguồn điện
5V
Độ nhạy đầu ra
63 – 190 mV/A
Nhiệt độ hoạt động
-40 – 85 0C
Điện áp cách ly tối đa
2100V (RMS)
Độ nhạy đối với các loại module
 
  • ACS 712-05B (5Ampe):   180 – 190 mV/A
  • ACS 712-20A (20Ampe): 96 – 104 mV/A
  • ACS 712-30A (30Ampe): 64 – 68 mV/A

IV. Sơ đồ chân ACS712

V. Cách sử dụng module ACS712 5A

1. Đo dòng điện​​ DC​

Khi đo DC phải mắc tải nối tiếp Ip+ và Ip- đúng chiều, dòng điện đi từ Ip+ đến Ip- để Vout ra mức điện thế 2.5 - 5V tương ứng dòng 0 - 5A, nếu mắc ngược Vout sẽ ra điện thế 2.5V đến 0V tương ứng với 0A đến -5A.

Cấp nguồn 5v cho module khi chưa có dòng Ip (chưa có tải mắc nối tiếp với domino), thì Vout=2.5v. Khi dòng Ip( dòng của tải) bằng 5A thì Vout=5v, Vout sẽ tuyến tính với dòng Ip , trong khoản 2.5V đến 5V tương ứng với dòng 0 đến 5A.

Để kiểm tra dùng đồng hồ VOM thang đo DC đo Vout.

2. Đo dòng điện AC

Khi đo dòng điện AC, do dòng điện AC không có chiều nên không cần quan tâm chiều. 

Cấp nguồn 5v cho module khi chưa có dòng Ip (chưa có tải mắc nối tiếp với domino) , thì Vout=2.5v. khi có dòng xoay chiều Ip(dòng AC) do dòng xoay chiều độ lớn thay đổi liên tục theo hàm sin, nên điện thế Vout sẽ là điện thế xoay chiều hình sin có độ lớn tuyến tính với dòng điện AC , 0 đến 5V(thế xoay chiều xoay chiều) tương ứng với -5A đến 5A (dòng xoay chiều). 

Để kiểm tra dùng đồng hồ VOM thang đo AC đo Vout.

VI. Ưu điểm của ACS712

  • Đường tín hiệu analog có độ nhiễu thấp.
  • Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs.
  • Điện trở dây dẫn trong là 1.2mΩ.
  • Nguồn :  5VDC.
  • Độ nhạy đầu ra từ 63-190mV/A.
  • Điện áp ra cực kỳ ổn định.
  • ACS 712 5A (x05B):
  • Ip: 5A đền -5A
  • Độ nhạy: 180 - 190 mV/A.

​Tài liệu tham khảo :

Datasheet ACS712

VII. Code đọc giá trị

int OutPin = A0; // Lưu chân ra của cảm biến
void setup() {
  //Đối với một chân analog bạn không cần pinMode
  Serial.begin(9600);//Mở cổng Serial ở mức 9600
}

void loop() {
  int value = analogRead(OutPin);     // Ta sẽ đọc giá trị hiệu điện thế của cảm biến
                                      // Giá trị được số hóa thành 1 số nguyên có giá trị
                                      // trong khoảng từ 0 đến 1023
  float volt = value / 5.0 * 20.0;  // Bây giờ ta chỉ cần tính ra giá trị dòng điện
                                      // Với mạch 30A ta sửa lại thành * 30.0
  Serial.println(volt);//Xuất ra serial Monitor. Nhấn Ctrl+Shift+M để xem                                     
  delay(10);
}

VIII. Kết luận

Chúc các bạn thành công. Đây là một bài chủ yếu về điện tử căn bản, nhưng khi đưa vào Arduino rất đơn giản, bạn có thấy thế không ? Rate node cho mình nhé!

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Quy đổi độ ẩm đất thành phần trăm (%) với Arduino

Bài viết về cảm biến độ ẩm đất của bạn Đỗ Hữu Toàn rất hay. Tuy nhiên, bạn ý không nhắc đến phương pháp quy đổi độ ẩm từ analog sang tỉ lệ phần trăm. Qua bài viết này, mình sẽ hướng dẫn các bạn làm được điều đó.

lên
17 thành viên đã đánh giá bài viết này hữu ích.