Mục lục:

Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711: 5 bước (có hình ảnh)
Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711: 5 bước (có hình ảnh)

Video: Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711: 5 bước (có hình ảnh)

Video: Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711: 5 bước (có hình ảnh)
Video: Bluetooth Weighing Scale with Multiple Load Cell & HX711 Module using Raspberry Pi Pico and HC05 2024, Tháng mười một
Anonim
Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711
Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711
Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711
Quy mô phòng tắm Arduino với cảm biến tải 50 Kg và bộ khuếch đại HX711

Tài liệu hướng dẫn này mô tả cách tạo một chiếc cân bằng cách sử dụng các bộ phận sẵn có trên kệ.

Vật liệu cần thiết:

  1. Arduino - (thiết kế này sử dụng Arduino Uno tiêu chuẩn, các phiên bản Arduino khác hoặc bản sao cũng hoạt động)
  2. HX711 trên bảng đột phá - Bộ vi mạch này được chế tạo đặc biệt để khuếch đại tín hiệu từ các cảm biến lực và báo cáo chúng đến một bộ điều khiển gương khác. Các cảm biến lực cắm vào bảng này và bảng này cho Arduino biết cảm biến lực đo lường những gì.
  3. Cảm biến lực 50kg (x4) - Cảm biến lực là các bộ phận kim loại có hình dạng đặc biệt có keo đồng hồ đo biến dạng. Đồng hồ đo biến dạng là điện trở thay đổi điện trở của chúng khi chúng bị uốn cong. Khi phần kim loại uốn cong, điện trở của cảm biến lực sẽ thay đổi (HX711 đo chính xác sự thay đổi nhỏ về điện trở này). Bạn có thể mua cảm biến lực và HX711 dưới dạng một bộ tại đây: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Nếu bạn mua bộ này, vui lòng để lại đánh giá! Nó thực sự hữu ích cho những người mua trong tương lai.
  4. Bề mặt lắp đặt phẳng cứng cáp - một miếng gỗ cứng hoặc kim loại cứng là lý tưởng
  5. Dây có nhiều màu để kết nối tất cả các bộ phận
  6. Nguồn cung cấp cho Arduino

Bước 1: Gắn các Load Cell

Gắn các cảm biến lực
Gắn các cảm biến lực
Gắn các cảm biến lực
Gắn các cảm biến lực

Gắn 4 cảm biến lực vào đáy cân ở 4 góc. Epoxy hoạt động tốt để giữ chúng tại chỗ. Xem sơ đồ lắp đặt, nó cho thấy bề mặt nào nên được lắp vào đế và bề mặt nào nên chạm sàn.

Bước 2: Xác minh hệ thống dây của Load Cell

Xác minh hệ thống dây điện của cảm biến tải
Xác minh hệ thống dây điện của cảm biến tải

Sơ đồ nối dây được thực hiện với giả sử cảm biến lực được xây dựng như hình này.

Để đảm bảo bạn làm đúng, hãy nhớ tìm ra hai thiết bị đầu cuối nào trên cảm biến lực có điện trở cao nhất giữa chúng (Ví dụ: Đen và Trắng, để phù hợp với sơ đồ), nối chúng trong một vòng lặp phù hợp màu lớn, như BB WW BB WW và sau đó kích thích (E + / E-) hai vòi tâm đối diện (R) và cảm nhận (A + / A-) trên cặp vòi trung tâm kia.

Trang này trên Sackexchange còn có thông tin tốt hơn:

Bước 3: Nối dây các Load Cell và HX711

Nối dây các cảm biến lực và HX711
Nối dây các cảm biến lực và HX711
Nối dây các cảm biến lực và HX711
Nối dây các cảm biến lực và HX711
Nối dây các cảm biến lực và HX711
Nối dây các cảm biến lực và HX711

Xem sơ đồ nối dây để biết cách kết nối cảm biến lực, HX711 và Arduino.

Một số dây cảm biến lực được kết nối với nhau để tạo thành cái được gọi là sự sắp xếp cầu Wheatstone. Điều này có thể gây ra một chút khó hiểu. Một lựa chọn tốt để kết nối tất cả các cảm biến lực một cách dễ hiểu, dễ hiểu là bảng kết hợp cảm biến lực SparkFun -

Sự sắp xếp này cho phép các tải trên tất cả các cảm biến cảm biến lực khác nhau được kết hợp và đo cùng một lúc.

Bước 4: Thêm Thư viện HX711 vào IDE Arduino của bạn

Thư viện HX711 có sẵn tại đây:

Xem liên kết này trên trang web Arduino để biết hướng dẫn về cách thêm thư viện vào IDE Arduino của bạn:

Bước 5: Hiệu chỉnh và Cân

Sparkfun có các chương trình Arduino tuyệt vời để chạy quy mô. Các phiên bản cập nhật nhất hiện có trên GitHub và được in lại bên dưới:

Bước phần mềm đầu tiên là xác định các hệ số hiệu chuẩn cho cân. Để làm điều này, hãy chạy mã này:

/*

Ví dụ sử dụng bảng đột phá SparkFun HX711 với thang điểm Bởi: Nathan Seidle SparkFun Electronics Ngày: 19 tháng 11 năm 2014 Giấy phép: Mã này thuộc phạm vi công cộng nhưng bạn mua cho tôi một cốc bia nếu bạn sử dụng mã này và chúng ta sẽ gặp nhau vào một ngày nào đó (Giấy phép Beerware). Đây là bản phác thảo hiệu chuẩn. Sử dụng nó để xác định hệ số hiệu chỉnh mà ví dụ chính sử dụng. Nó cũng xuất ra zero_factor hữu ích cho các dự án có khối lượng cố định trên quy mô giữa các chu kỳ năng lượng. Thiết lập cân của bạn và bắt đầu phác thảo KHÔNG có trọng lượng trên cân Khi các kết quả đọc được hiển thị, đặt quả cân lên cân Nhấn +/- hoặc a / z để điều chỉnh hệ số hiệu chỉnh cho đến khi kết quả đọc đầu ra khớp với trọng lượng đã biết Sử dụng hệ số hiệu chỉnh này trên bản phác thảo ví dụ Ví dụ này giả định pound (lbs). Nếu bạn thích số kg hơn, hãy thay đổi Serial.print ("lbs"); dòng sang kg. Hệ số hiệu chuẩn sẽ khác nhau đáng kể nhưng nó sẽ liên quan tuyến tính với lbs (1 lbs = 0,453592 kg). Hệ số hiệu chuẩn của bạn có thể rất tích cực hoặc rất tiêu cực. Tất cả phụ thuộc vào việc thiết lập hệ thống tỷ lệ của bạn và hướng cảm biến lệch khỏi trạng thái 0 Mã ví dụ này sử dụng thư viện tuyệt vời của bogde: "https://github.com/bogde/HX711" Thư viện của bogde được phát hành theo GIẤY PHÉP CÔNG CỘNG CỦA GNU Chân 2 của Arduino -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Hầu hết mọi chân trên Arduino Uno sẽ tương thích với DOUT / CLK. Bo mạch HX711 có thể được cấp nguồn từ 2.7V đến 5V nên nguồn 5V của Arduino là ổn. * / #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 Thang đo HX711; float hiệu chuẩn_factor = -7050; // - 7050 hoạt động cho thiết lập quy mô tối đa 440lb của tôi void setup () {Serial.begin (9600); Serial.println ("Bản phác thảo hiệu chuẩn HX711"); Serial.println ("Xóa tất cả trọng lượng khỏi cân"); Serial.println ("Sau khi bắt đầu đọc, đặt trọng lượng đã biết lên cân"); Serial.println ("Nhấn + hoặc a để tăng hệ số hiệu chuẩn"); Serial.println ("Nhấn - hoặc z để giảm hệ số hiệu chuẩn"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Đặt lại tỷ lệ thành 0 long zero_factor = scale.read_average (); // Lấy giá trị cơ sở đọc Serial.print ("Zero factor:"); // Điều này có thể được sử dụng để loại bỏ nhu cầu xé nhỏ. Hữu ích trong các dự án quy mô vĩnh viễn. Serial.println (zero_factor); } void loop () {scale.set_scale (hệ số hiệu chỉnh); // Điều chỉnh đến hệ số hiệu chuẩn này Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Thay đổi giá trị này thành kg và điều chỉnh lại hệ số hiệu chuẩn nếu bạn tuân theo các đơn vị SI như một người lành mạnh Serial.print ("calibration_factor:"); Serial.print (hệ số hiệu chuẩn); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == '+' || temp == 'a') hệ số hiệu chỉnh + = 10; else if (temp == '-' || temp == 'z') hệ số hiệu chỉnh - = 10; }}

Sau khi hiệu chuẩn cân, bạn có thể chạy chương trình mẫu này, sau đó hack nó cho các mục đích của riêng bạn:

/*

Ví dụ sử dụng bảng đột phá SparkFun HX711 với thang điểm Bởi: Nathan Seidle SparkFun Electronics Ngày: 19 tháng 11 năm 2014 Giấy phép: Mã này thuộc phạm vi công cộng nhưng bạn mua cho tôi một cốc bia nếu bạn sử dụng mã này và chúng ta sẽ gặp nhau vào một ngày nào đó (Giấy phép Beerware). Ví dụ này cho thấy sản lượng quy mô cơ bản. Xem bản phác thảo hiệu chuẩn để nhận hệ số hiệu chỉnh cho thiết lập cảm biến lực cụ thể của bạn. Mã ví dụ này sử dụng thư viện tuyệt vời của bogde: "https://github.com/bogde/HX711" Thư viện của bogde được phát hành theo GIẤY PHÉP CÔNG CỘNG CỦA GNU HX711 thực hiện tốt một điều: đọc các cảm biến lực. Bảng đột phá tương thích với bất kỳ cảm biến lực dựa trên cầu đá lúa mì nào sẽ cho phép người dùng đo mọi thứ từ vài gam đến hàng chục tấn. Chân Arduino 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Bo mạch HX711 có thể cấp nguồn từ 2.7V đến 5V nên nguồn 5V của Arduino là ổn. * / #include "HX711.h" #define calibration_factor -7050.0 // Giá trị này nhận được bằng cách sử dụng bản phác thảo SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 thang đo HX711; void setup () {Serial.begin (9600); Serial.println ("Bản demo quy mô HX711"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (hệ số hiệu chuẩn); // Giá trị này nhận được bằng cách sử dụng bản phác thảo SparkFun_HX711_Calibration scale.tare (); // Giả sử không có trọng lượng nào trên cân khi khởi động, hãy đặt lại cân về 0 Serial.println ("Số lần đọc:"); } void loop () {Serial.print ("Đang đọc:"); Serial.print (scale.get_units (), 1); //scale.get_units () trả về một float Serial.print ("lbs"); // Bạn có thể thay đổi giá trị này thành kg nhưng bạn sẽ cần phải cấu trúc lại hệ số hiệu chuẩn Serial.println (); }

Đề xuất: