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

Đài FM với Arduino Nano và chip RDA5807M

Sau khi các smart phone đời mới hầu như đã bỏ chức năng radio nên đôi khi muốn nghe 1 vài chương trình bằng sóng trực tiếp (cộng với tiếng rè rè quen thuộc) lại không có. Hôm nay mình sẽ chia sẻ 1 dự án làm 1 đài FM đầy đủ chức năng với Arduino và chip radio RDA5807M dễ mua và sử dụng. Các bạn có thể làm 1 cái để tặng gấu cùng nghe quà tặng âm nhạc nhé.blush

 

lên
17 thành viên đã đánh giá bài viết này hữu ích.
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.

Software Serial - Giao tiếp giữa Arduino và nhiều mạch Serial khác - Truyền tải trung gian giữa một mạch khác qua giao tiếp Serial

Có thể nói Serial là một trong những phương thức giao tiếp đơn giản nhất trong môi trường Serial. Vì bạn chỉ cần 2 dây và cách thức truyền dữ liệu của nó lại giống hệt stream trong các ngôn ngữ lập trình. Nhưng thật đáng tiết, con Arduino Uno chỉ có duy nhất một cổng Serial được phần cứng hỗ trợ sẵn (Mega thì 3). Vì vậy, nếu bạn muốn giao tiếp với nhiều module Serial thì đó là một chuyện không thể. Và đó chính là lý do vì sao thư viện Software Serial ra đời. Hôm nay, chúng ta sẽ tìm cách giao tiếp giữa 2 mạch Arduino thông qua Serial và một ví dụ về chuyển tiếp giá trị của một module giao tiếp qua Serial với thư viện này.

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