Mục lục:

Mô-đun đo công suất tự làm cho Arduino: 9 bước (có hình ảnh)
Mô-đun đo công suất tự làm cho Arduino: 9 bước (có hình ảnh)

Video: Mô-đun đo công suất tự làm cho Arduino: 9 bước (có hình ảnh)

Video: Mô-đun đo công suất tự làm cho Arduino: 9 bước (có hình ảnh)
Video: Tự học lập trình Arduino Tập 27 | điều khiển tốc độ động cơ bằng driver L298N và Arduino p1 2024, Tháng mười một
Anonim
Mô-đun đo công suất tự làm cho Arduino
Mô-đun đo công suất tự làm cho Arduino
Mô-đun đo công suất tự làm cho Arduino
Mô-đun đo công suất tự làm cho Arduino
Mô-đun đo công suất tự làm cho Arduino
Mô-đun đo công suất tự làm cho Arduino

Xin chào tất cả mọi người, tôi hy vọng bạn đang làm rất tốt! Trong tài liệu hướng dẫn này, tôi sẽ chỉ cho bạn cách tôi tạo mô-đun Đồng hồ đo công suất / Wattmeter này để sử dụng với bảng Arduino. Đồng hồ đo công suất này có thể tính toán công suất tiêu thụ của và Tải một chiều. Cùng với nguồn điện, mô-đun này cũng có thể cung cấp cho chúng ta các kết quả chính xác về điện áp và dòng điện. Nó có thể dễ dàng đo điện áp thấp (khoảng 2V) và dòng điện thấp, thấp đến 50 mA với sai số không quá 20mA. Độ chính xác phụ thuộc vào sự lựa chọn của các thành phần dựa trên yêu cầu của bạn.

Quân nhu

  • IC LM358 OP-AMP kép
  • Đế IC 8 chân
  • Điện trở Shunt (8,6 milliOhms trong trường hợp của tôi)
  • Điện trở: 100K, 10K, 2,2K, 1K (1 / 2watt)
  • Tụ điện: Tụ gốm 3 * 0,1uF
  • Veroboard hoặc zero board
  • Thiết bị đầu cuối vít
  • Hàn sắt và thuốc hàn
  • Arduino Uno hoặc bất kỳ bảng tương thích nào khác
  • Màn hình OLED
  • Kết nối dây breadbard

Bước 1: Thu thập các thành phần cần thiết

Thu thập các thành phần cần thiết
Thu thập các thành phần cần thiết

Dự án này sử dụng các thành phần rất đơn giản và dễ kiếm: chúng bao gồm điện trở, tụ điện gốm, bộ khuếch đại hoạt động và một tấm veroboard để tạo mẫu.

Sự lựa chọn và giá trị của các thành phần phụ thuộc vào loại ứng dụng và phạm vi công suất mà bạn muốn đo.

Bước 2: Nguyên tắc làm việc

Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc
Nguyên tắc làm việc

Hoạt động của môđun nguồn dựa trên hai khái niệm lý thuyết mạch và điện cơ bản: Khái niệm bộ chia điện áp để đo điện áp đầu vào và Định luật Ôm để tính cường độ dòng điện chạy qua mạch. Chúng tôi đang sử dụng một điện trở shunt để tạo ra một điện áp rất nhỏ trên nó. Sự sụt giảm điện áp này tỷ lệ với lượng dòng điện chạy qua shunt. Điện áp nhỏ này khi được khuếch đại bởi bộ khuếch đại hoạt động có thể được sử dụng làm đầu vào cho bộ vi điều khiển có thể được lập trình để cung cấp cho chúng ta giá trị hiện tại. điện trở R2 và R1. Sử dụng cấu hình không đảo ngược cho phép chúng ta có một điểm chung làm tham chiếu đo lường. Đối với điều này, dòng điện đang được đo ở phía thấp của mạch. Đối với ứng dụng của tôi, tôi đã chọn mức tăng 46 bằng cách sử dụng điện trở 100K và 2,2K làm mạng phản hồi. Phép đo điện áp được thực hiện bằng cách sử dụng một mạch phân áp chia điện áp đầu vào tương ứng với mạng điện trở được sử dụng.

Cả giá trị hiện tại từ OP-Amp và giá trị điện áp từ mạng bộ chia đều có thể được đưa vào hai đầu vào tương tự của arduino để chúng ta có thể tính toán công suất tiêu thụ của tải.

Bước 3: Kết hợp các bộ phận lại với nhau.

Gắn kết các bộ phận lại với nhau.
Gắn kết các bộ phận lại với nhau.
Gắn kết các bộ phận lại với nhau.
Gắn kết các bộ phận lại với nhau.
Gắn kết các bộ phận lại với nhau.
Gắn kết các bộ phận lại với nhau.

Hãy để chúng tôi bắt đầu xây dựng mô-đun nguồn của chúng tôi bằng cách quyết định vị trí của các đầu cuối vít để kết nối đầu vào và đầu ra. Sau khi đánh dấu các vị trí thích hợp, chúng tôi hàn các đầu cuối vít và điện trở shunt vào vị trí.

Bước 4: Thêm các bộ phận cho mạng cảm nhận điện áp

Thêm các bộ phận cho mạng cảm nhận điện áp
Thêm các bộ phận cho mạng cảm nhận điện áp
Thêm các bộ phận cho mạng cảm nhận điện áp
Thêm các bộ phận cho mạng cảm nhận điện áp
Thêm các bộ phận cho mạng cảm nhận điện áp
Thêm các bộ phận cho mạng cảm nhận điện áp

Đối với cảm biến điện áp đầu vào, tôi đang sử dụng mạng phân áp 10K và 1K. Tôi cũng đã thêm một tụ điện 0,1 uF qua điện trở 1K để làm phẳng các điện áp. Mạng cảm biến điện áp được hàn gần thiết bị đầu cuối đầu vào

Bước 5: Thêm các bộ phận cho mạng Sense hiện tại

Thêm các phần cho mạng Sense hiện tại
Thêm các phần cho mạng Sense hiện tại
Thêm các phần cho mạng Sense hiện tại
Thêm các phần cho mạng Sense hiện tại
Thêm các phần cho mạng Sense hiện tại
Thêm các phần cho mạng Sense hiện tại
Thêm các bộ phận cho mạng Sense hiện tại
Thêm các bộ phận cho mạng Sense hiện tại

Dòng điện đang được đo bằng cách tính toán và khuếch đại điện áp rơi trên điện trở shunt với độ lợi được xác định trước do mạng điện trở đặt. Chế độ khuếch đại không đảo ngược được sử dụng. Nên giữ cho dấu vết hàn nhỏ để tránh sụt điện áp không mong muốn.

Bước 6: Hoàn thành các kết nối còn lại và hoàn thiện bản dựng.

Hoàn thành các kết nối còn lại và hoàn thành bản dựng.
Hoàn thành các kết nối còn lại và hoàn thành bản dựng.
Hoàn thành các kết nối còn lại và hoàn thiện bản dựng.
Hoàn thành các kết nối còn lại và hoàn thiện bản dựng.
Hoàn thành các kết nối còn lại và hoàn thiện bản dựng.
Hoàn thành các kết nối còn lại và hoàn thiện bản dựng.

Với các mạng cảm biến điện áp và dòng điện được kết nối và hàn, đã đến lúc hàn các chân tiêu đề nam và thực hiện các kết nối cần thiết của đầu ra nguồn và tín hiệu. Mô-đun sẽ được cung cấp năng lượng bởi điện áp hoạt động tiêu chuẩn là 5 volt mà chúng ta có thể dễ dàng nhận được từ bảng arduino. Hai đầu ra cảm biến điện áp sẽ được kết nối với các đầu vào tương tự của arduino.

Bước 7: Kết nối mô-đun với Arduino

Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino
Kết nối mô-đun với Arduino

Với mô-đun đã hoàn thành, giờ cuối cùng đã đến lúc kết nối nó với Arduino và bắt đầu chạy. Để xem các giá trị, tôi đã sử dụng màn hình OLED sử dụng giao thức I2C để giao tiếp với arduino. Các thông số hiển thị trên màn hình là Điện áp, Dòng điện và Công suất.

Bước 8: Mã dự án và sơ đồ mạch

Mã dự án và sơ đồ mạch
Mã dự án và sơ đồ mạch

Mình đã đính kèm sơ đồ mạch và mã của module nguồn ở bước này (Trước đây mình đã đính kèm file.ino và.txt có chứa mã nhưng lỗi server nào đó khiến người dùng không truy cập được hoặc không đọc được mã nên mình đã viết toàn bộ. trong bước này. Tôi biết đó không phải là cách hay để chia sẻ mã:(). Vui lòng sửa đổi mã này theo yêu cầu của bạn. Tôi hy vọng dự án này hữu ích cho bạn. Hãy chia sẻ phản hồi của bạn trong phần nhận xét. Chúc mừng!

#bao gồm

#bao gồm

#bao gồm

#bao gồm

# xác định màn hình OLED_RESET 4 Adafruit_SSD1306 (OLED_RESET);

float val = 0;

float hiện tại = 0;

điện áp phao = 0;

power float = 0;

void setup () {

pinMode (A0, INPUT);

pinMode (A1, INPUT);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // khởi tạo với I2C addr 0x3C (cho 128x32) display.display ();

chậm trễ (2000);

// Xóa bộ đệm.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (TRẮNG);

Serial.begin (9600); // Để xem các giá trị trên màn hình nối tiếp

}

void loop () {

// lấy giá trị trung bình cho các bài đọc ổn định

for (int i = 0; i <20; i ++) {

hiện tại = current + analogRead (A0);

điện áp = điện áp + analogRead (A1); }

hiện tại = (hiện tại / 20); hiện tại = hiện tại * 0,0123 * 5,0; // giá trị hiệu chuẩn, được thay đổi theo các thành phần được sử dụng

điện áp = (điện áp / 20); điện áp = điện áp * 0,0508 * 5,0; // giá trị hiệu chuẩn, được thay đổi theo các thành phần được sử dụng

power = điện áp * dòng điện;

// in các giá trị trên màn hình nối tiếp

Serial.print (điện áp);

Serial.print ("");

Serial.print (hiện tại);

Serial.print ("");

Serial.println (quyền lực);

// in các giá trị trên màn hình OLED

display.setCursor (0, 0);

display.print ("Điện áp:");

display.print (điện áp);

display.println ("V");

display.setCursor (0, 10);

display.print ("Hiện tại:");

display.print (hiện tại);

display.println ("A");

display.setCursor (0, 20);

display.print ("Nguồn:");

display.print (điện năng);

display.println ("W");

display.display ();

chậm trễ (500); // tốc độ làm mới được đặt bởi độ trễ

display.clearDisplay ();

}

Đề xuất: