- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
Cảm biến dòng điện ACS712 (Hall Effect Current Sensor) dựa trên hiệu ứng Hall để đo dòng điện AC/DC, cảm biến có kích thước nhỏ gọn, dễ kết nối, giá trị trả ra là điện áp Analog tuyến tính theo cường độ dòng điện cần đo nên rất dễ kết nối và lập trình với Vi điều khiển, thích hợp với các ứng dụng cần đo dòng AC/DC với độ chính xác cao.
CÁCH SỬ DỤNG ACS712:
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, khi dòng điện đi từ Ip+ đến Ip- Vout sẽ ra mức điện áp tương ứng 2.5~5VDC tương ứng dòng 0~Max, nếu mắc ngược Vout sẽ ra điện thế 2.5~0VDC tương ứng với 0~(-Max).
+ Khi cấp nguồn 5VDC cho module khi chưa có dòng Ip (chưa có tải mắc nối tiếp) thì Vout = 2.5VDC, khi dòng Ip ( dòng của tải) bằng Max thì Vout=5VDC, Vout sẽ tuyến tính với dòng Ip trong khoản 2.5~5VDC tương ứng với dòng 0~Max, để kiểm tra có thể 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, khi cấp nguồn 5VDC 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.5VDC, 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ẽ có độ lớn tuyến tính với dòng điện AC từ 0~5VDC tương ứng với (-Max)~Max (dòng xoay chiều), để kiểm tra dùng đồng hồ VOM thang đo AC đo Vout.
THÔNG SỐ KỸ THUẬT:

// Measure current with ACS712
// and print on Serial Monitor
const int nSamples = 1000;
const float vcc = 5.0;
const int adcMax = 1023;
//const float sens = 0.185; // 5A
const float sens = 0.100; // 20A
//const float sens = 0.66; // 30A
float avg() {
float val = 0;
for (int i = 0; i < nSamples; i++) {
val += analogRead(A0);
delay(1);
}
return val / adcMax / nSamples;
}
void setup() {
Serial.begin(9600);
}
void loop() {
float cur = (vcc / 2 - vcc * avg()) / sens;
Serial.print("Current:");
Serial.println(cur);
}
Bình luận