Lập trình vi điều khiển- Phần 123- Hướng dẫn sử dụng cảm biến đo dòng

preview_player
Показать описание
Cảm biến đo dòng - Cảm biến ACS712
Đt: 0986.977.330 - Gặp Mr. Phú để được tư vấn thêm.
Xin cảm ơn các bạn.
Huỳnh Minh Phú
Рекомендации по теме
Комментарии
Автор

Thân tặng các bạn mã code của chương trình:
/*
Code này dùng cho cảm biến đo dòng ACS712 05B
Sản phẩm này hiện được bán tại shop kỹ thuật Phú Hưng: www.ktphuhung.com
Người viết: Nguyễn Ngọc Ẩn - Huỳnh Minh Phú
*/

#define ACS 1 // chân A1 đọc tín hiệu analog từ cảm biến
int tam = 0;
float tong = 0, ap;
float dong = 0;
void setup()
{
Serial.begin(9600); // cấu hình cho tốc độ baund Serial 9600
pinMode(12, OUTPUT); // khai báo chân 12 là chân ra
}

void loop()
{
for(int i=0; i <100; i++) // lấy giá trị trung bình của 100 lần đo để chống nhiễu
{
tam = analogRead(ACS); // đọc giá trị từ chân A1, giá trị này được lưu vào biến tam (tạm)
tong += tam; // cộng giá trị đọc được vào biến tổng
delayMicroseconds(50); // thời gian giữa các lần lấy mẫu là 50ms
}
tong = tong/100; // chia biến tổng cho 100 để lấy giá trị trung bình

ap = 0.00488*tong; // chuyển giá trị đọc được từ analog sang áp, 0.00488=5/1024
dong = ((ap-2.54)/0.185)+0.150; // dòng sẽ bằng áp đọc được trừ cho áp khi không có tải (2.54V) chia cho độ nhạy của cảm biến (185mV/A cho ACS712 05B) sau đó có thể hiệu chỉnh thêm để giảm sai số (ở đây là +0.150)
if (dong<0.07)
{
digitalWrite(12, HIGH);
}
else
{
digitalWrite(12, LOW);
}
//Serial.print(dong, 3); // in giá trị dòng đọc được ra màn hình Serial, lấy 3 chữ số thập phân
//Serial.println(" A"); // đơn vị đo là A
//delay(100);
}

thacsihuynhminhphu