Đo lượng điện năng tiêu thụ của một ổ cắm điện AC bằng Arduino

Hôm nay, mình sẽ chia sẻ cho các bạn phươn pháp đo điện năng tiêu thụ của một ổ cắm điện AC, rất thích hợp cho các bạn làm dự án ổ cắm thông minh IOT.

I. Ngẫm về con cảm biến dòng điện ACS712

Thành quả chúng ta sẽ làm được

Chu kỳ tín hiệu output không thay đổi trong suốt quá trình tăng cường độ dòng điện. Nhưng biên độ điện thế thì có sự thay đổi.

Để sử dụng con ACS712, chúng ta sẽ làm như sau

  • Bỏ tất cả các hàm lọc nhiễu tự viết, thay vào đó, chúng ta sẽ sử dụng hàm RunningStatistics có sẵn trong thư viện Ardunio Filters library (download đi nha các bạn)
  • Chúng ta buộc phải sử dụng một cái ổ cắm 220V mua ngoài tiệm, rồi gắn thiết bị tiêu dùng điện vô đỏ để đo. Nhưng làm như thế không hay! Ở bài viết này, mình sẽ hướng dẫn các bạn thực hiện với một cái ổ cắm tự động điều khiển từ xa bằng hồng ngoại, với cách này, dự án sẽ trông chuyên nghiệp hơn nhiều.

Độ khó của việc sử dụng AC712 nằm ở chỗ, chúng ta phải đo lường cường độ dòng điện tiêu thụ qua sự quan sát sự biến thiên Vout của module AC712. Tín hiệu Vout này một sóng hình sin biến thiên xung quanh mức 1/2 VCC (thường là 2.5Volt). Chỉ cần xác được đỉnh giao động trên và dưới của tín hiệu Vout, chúng ta sẽ ước chừng được lượn điện được tiêu thụ của tải. Hàm analogRead bình thường sẽ không làm được điều đó, vì nó chỉ đọc tín hiệu khi được gọi chứ không theo thời gian thực. Như vậy, chúng ta phải dùng thư viện Arduino Filters, cụ thể hơn là hàm "Running Statistics" để nhanh chóng nắm bắt sự thay đổi.

Lưu ý

Bạn sẽ phải sử dụng nguồn điện 220v để làm việc nên phải cẩn thận broken heart.

II. Những thứ cần chuẩn bị nè

III. Khui hàng con ổ cắm tự động điều khiển từ xa bằng hồng ngoại ra

Tháo ốc ra các bạn

Cho cái kẹp giữ ốc lại nhé

Kẹp luôn cái thục vít để khỏi mất công tìm

Ta đa, toàn bộ cái đống china điều khiển từ xa nè các bạn.

Vì chỉ tận dụng cái xác thôi, còn mạch điện không tin tưởng được nên tháo ra nhé các bạn.

Còn 3 dây.

Cắt cái dây như bên phải nhé, vì chúng ta cần 2 dây hoy à.

IV. Kết nối con ACS712 vào

Gắn 2 cái dây kia vào 2 terminal của con ACS712 như hình.

Rồi kết nố mấy con terminal kia vào Arduino như sau:

Arduino ACS712
5V VCC
GND GND
A0 OUT

V. Cài đặt thư viện rồi thử nghiệm lý thuyết

  • Cài thư viện Filter
  • Up code này lên để test
#include <Filters.h>

float testFrequency = 60;                     // nhà bạn dùng điện bao nhiêu Hz? Ở VN là 60Hz
float windowLength = 20.0/testFrequency;     // mỗi tín hiệu thu về cách nhau bao nhiêu thời gian
int sensorValue = 0;
float intercept = -0.1310; //  cẩn sửa trong quá trình hiệu chuẩn
float slope = 0.04099; // cẩn sửa trong quá trình hiệu chuẩn
float current_amps; // giá trị cường độ dòng điện thực sự được đo lường

unsigned long printPeriod = 1000; // bao lâu in kết quả 1 lần (tính theo ms)
// lần cuối in kết quả là thời điển nào (tính theo ms)
unsigned long previousMillis = 0;

void setup() {
  Serial.begin( 57600 );    // bật serial ở mức baudrate 57600
}

void loop() {
  RunningStatistics inputStats;                 // tạo đối tượng để đo lường
  inputStats.setWindowSecs( windowLength );
   
  while (1) {   
    sensorValue = analogRead(A0);  //đọc giá trị
    inputStats.input(sensorValue);  // đưa nó vào bộ kiểm tra
        
    if((unsigned long)(millis() - previousMillis) >= printPeriod) {
      previousMillis = millis();   // cập nhập thời điểm cuối in giá trị
      
      Serial.println( inputStats.sigma() );
    }
  }
}


  • Gắn điện vào ổ cắm như hình

  • Nếu chưa gắn điện thì nó sẽ giống như hình này, cường độ dòng điện biến động từ 0.03 => 0.05. Rất là lý tưởng luôn.

  • Tử tăng ampe bằng cách gắn điện vào thì nó sẽ được như hình này. Nên nhớ con mà mình khuyên bạn mua chỉ chơi được 5A thôi, hỏi người bán để có con có công suất cao hơn.

  • Thử so sánh với đồ xịn (công cơ dòng điện Kill-A-Watt) và đồ tự tạo nhé.

Sai số chỉ có một tí, chấp nhận được đúng không nào.

Ta các công thức công suất là P=U*I => P = U * tổng xích ma của I (trong 1 giờ) => Số Wh điện tiêu thụ rồi!

VI. Kết luận

Hãy hoàn thiện một dự án hay hơn nữa, bạn có thể kết hợp với công tắc điện từ xa (cái mạch điện tử vứt đi á) để làm điều khiển từ xa luôn. Hoặc tự chế luôn cũng được! Công nghệ in 3D nay dễ tiếp cận rồi mà!

Bài viết truyền cảm hứng: 
lên
11 thành viên đã đánh giá bài viết này hữu ích.
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ả

Cách dùng Module điều khiển động cơ L298N - cầu H để điều khiển động cơ DC

Mình thấy trên cộng đồng đã có nhiều bài về điều khiển động cơ, như bài của bạn quocbao hay bạn Nguyễn Duy Tâm. Một bài thì nói về IC cầu H, một bài thì nói về Motor shield của Arduino. Tuy nhiên, dân độ xe thường lại không dùng 2 phương pháp đó, mà lại dùng module L298N. Hôm nay, mình rãnh rỗi, kiếm bài trên instructable thấy hay và trên Cộng đồng Arduino Việt Nam chưa có nên mình sẽ viết để giúp các bạn trẻ sau này dễ tiếp cận với module này hơn.

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

Làm một game với Arduino và LCD - "Flappy human" phiên bản 16x02

Đây là một dự án khá là thú vị mình tìm được trên mạng, mình lược dịch để giúp các bạn newbie như mình có nhiều dự án vui vui để thực hiện. Từ đó, các bạn cùng mình sẽ tìm được nhau và chia sẻ những thứ thú vị. Đây là một dự án game đơn giản trên LCD 1602, các bạn sẽ điều khiển một con người chạy vượt vật cản! Hãy cùng trải nghiệm với mình nhé.

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