Networks Business Online Việt Nam & International VH2

Nguyên lý hoạt động của cảm biến LOADCELL. Cách sử dụng cảm biến với Arduino để làm một cân điện tử đơn giản

Đăng ngày 09 November, 2022 bởi admin

1. Loadcell là gì?

Cảm biến cân nặng loadcell là cảm ứng hoàn toàn có thể quy đổi một lực, khối lượng thành một tín hiệu điện. Giá trị tính năng tỉ lệ với sự đổi khác điện trở cảm ứng trong cầu điện trở, do đó trả về tín hiệu điện áp tỉ lệ. Loadcell điện trở thao tác dựa vào nguyên tắc áp lực đè nén – trở kháng. Khi một tải trọng, một lực ảnh hưởng tác động lên cảm ứng sẽ làm trở kháng biến hóa. Sự đổi khác trở kháng này dẫn đến dự biến hóa điện áp đầu ra khi điện áp nguồn vào được cấp .
Cảm biến loadcell được ứng dụng thoáng rộng trong đời sống như : đo khối lượng của vật, phân phối đều khối lượng mẫu sản phẩm trong những dây truyền tự động hóa, đo khối lượng xe tải …

2. Cấu tạo và nguyên lý hoạt động

  • Cấu tạo

Loadcell được cấu trúc bởi hai thành phần là : Strain gage và Load. Một loadcell thường gồm có những strain gage được dán vào mặt phẳng của thân loadcell. Thân loadcell là một khối sắt kẽm kim loại đàn hồi và tùy theo từng loại loadcell và mục tiêu sử dụng loadcell, thân loadcell được phong cách thiết kế nhiều hình dạng khác nhau, sản xuất bằng nhiều vật tư khác nhau ( nhôm kim loại tổng hợp, thép không gỉ … )

  • Strain gage là một điện trở đặc biệt, có điện trở thay đổi khi bị nén hay kéo dãn và được nuôi bằng một nguồn ổn định.
  • Load là một thanh kim loại có tính đàn hồi.

R = Điện trở strain gauge (Ohm)
L = Chiều dài của sợi kim loại strain gauge (m)
A  =  Tiết diện của sợi kim loại strain gauge (m2)
r=  Điện trở suất vật liệu của sợi kim loại strain gauge
Khi dây kim loại bị lực tác động sẽ thay đổi điện trở
Khi dây bị lực nén, chiều dài strain gauge giảm, điện trở sẽ giảm xuống.
Khi dây bi kéo dãn, chiều dài strain gauge tăng, điện trở sẽ tăng lên
Điện trở thay đổi tỷ lệ với lực tác động.

Thông số kĩ thuật cơ bản:

– Độ đúng chuẩn : cho biết Tỷ Lệ đúng chuẩn trong phép đo. Độ đúng chuẩn phụ thuộc vào đặc thù phi tuyến tính, độ trễ, độ lặp .
– Công suất định mức : giá trị khối lượng lớn nhất mà Loadcell hoàn toàn có thể đo được .
– Dải bù nhiệt độ : là khoảng chừng nhiệt độ mà đầu ra Loadcell được bù vào, nếu nằm ngoài khoảng chừng này, đầu ra không được bảo vệ triển khai theo đúng cụ thể kĩ thuật được đưa ra .
– Cấp bảo vệ : được nhìn nhận theo thang đo IP, ( ví dụ : IP65 : chống được nhiệt độ và bụi ) .
– Điện áp : giá trị điện áp thao tác của Loadcell ( thường thì đưa ra giá trị lớn nhất và giá trị nhỏ nhất 5 – 15 V ) .
– Độ trễ : hiện tượng kỳ lạ trễ khi hiển thị hiệu quả dẫn tới sai số trong tác dụng. Thường được đưa ra dưới dạng % của tải trọng .
– Trở kháng nguồn vào : trở kháng được xác lập trải qua S – và S + khi Loadcell chưa liên kết vào mạng lưới hệ thống hoặc ở chính sách không tải .
– Điện trở cách điện : thường thì đo tại dòng DC 50V. Giá trị cách điện giữa lớp vỏ sắt kẽm kim loại củaLoadcell và thiết bị liên kết dòng điện .
– Phá hủy cơ học : giá trị tải trọng mà Loadcell hoàn toàn có thể bị phá vỡ hoặc biến dạng .
– Giá trị ra : hiệu quả đo được ( đơn vị chức năng : mV ) .
– Trở kháng đầu ra : cho dưới dạng trở kháng được đo giữa Ex + và EX – trong điều kiện kèm theo load cell chưa liên kết hoặc hoạt động giải trí ở chính sách không tải .
– Quá tải bảo đảm an toàn : là hiệu suất mà Loadcell hoàn toàn có thể vượt quá ( ví dụ : 125 % hiệu suất ) .

– Hệ số tác động của nhiệt độ: Đại lượng được đo ở chế độ có tải, là sự thay đổi công suất củaLoadcell dưới sự thay đổi nhiệt độ, (ví dụ: 0.01%/10°C nghĩa là nếu nhiệt dộ tăng thêm 10°C thì công suất đầy tải của Loadcell tăng thêm 0.01%).

– Hệ số tác động ảnh hưởng của nhiệt độ tại điểm 0 : giống như trên nhưng đo ở chính sách không tải .

  • Nguyên lý hoạt động:


Một điện áp được cung ứng cho ngõ vào loadcell ( 2 góc ( 1 ) và ( 4 ) của cầu điện trở Wheatstone ) và điện áp tín hiệu ra được đo giữa hai góc khác .
Tại trạng thái cân đối ( trạng thái không tải ), điện áp tín hiệu ra là số không hoặc gần bằng không khi bốn điện trở được gắn tương thích về giá trị. Khi có tải trọng hoặc lực tác động ảnh hưởng lên thân loadcell làm cho thân loadcell bị biến dạng ( giãn hoặc nén ), dẫn đến sự đổi khác về chiều dài và tiết diện của những sợi sắt kẽm kim loại của điện trở strain gage -> biến hóa giá trị điện trở -> đổi khác điện áp đầu ra .

Hình ảnh mô tả hoạt động của loadcell:

Lưu ý: Hành động như đặt đột ngột hay thảy vật cân có khối lượng cân nặng lên bàn cân rất dễ làm cho thanh kim loại bị biến dạng đột ngột làm cân sẽ không chính xác và mau hỏng Strain Gauge. Không nên cân một vật có khối lượng lớn vượt qua khỏi thang đo của cân.

3. Hướng dẫn sử dụng cảm biến loadcell với arduino để làm một cân điện tử đơn giản

Như những bạn đã biết những loại cân điện tử lúc bấy giờ thường dùng những cảm ứng loadcell để đo khối lượng, với độ đúng mực, độ không thay đổi cao, nên được ứng dụng nhiều trong đời sống .
Hôm nay, mình sẽ hướng dẫn những bạn làm một cái cân điện tử đơn thuần với Arduino và màn hình hiển thị LCD .
Để làm theo hướng dẫn này bạn phải chuẩn bị sẵn sàng một mạch Arduino Uno, một màn hình hiển thị LCD 1602 kèm I2C, một cảm ứng loadcell 20 kg ( bạn hoàn toàn có thể chọn loại cân nặng cao hơn hoặc thấp hơn tùy nhu yếu ), một mạch quy đổi ADC HX711, một nút nhấn và dây nối. Các bạn hoàn toàn có thể mua tại link sau :

  • Arduino UNO R3 DIP (kèm cáp):
  • Bộ Cảm Biến Cân Nặng Loadcell 20kg + Khung Bàn Cân Mica
  • LCD 1602 kèm module I2C màu xanh lá

Kết nối theo sơ đồ sau:

Sau khi kết nối xong, tiến hành nạp code cho arduino:

Code hiệu chỉnh giá trị cho loadcell:


#include "HX711.h"  
 
#define DOUT  3
#define CLK  2
 
HX711 scale(DOUT, CLK);

float calibration_factor = -103525; 
 
//=============================================================================================
//                         SETUP
//=============================================================================================
void setup() {
  Serial.begin(9600);
  Serial.println("HX711 Calibration");
  Serial.println("Remove all weight from scale");
  Serial.println("After readings begin, place known weight on scale");
  Serial.println("Press a,s,d,f to increase calibration factor by 10,100,1000,10000 respectively");
  Serial.println("Press z,x,c,v to decrease calibration factor by 10,100,1000,10000 respectively");
  Serial.println("Press t for tare");
  scale.set_scale();
  scale.tare(); //Reset giá trị về 0
 
  long zero_factor = scale.read_average(); //đọc thông tin
  Serial.print("Zero factor: "); 
  Serial.println(zero_factor);
}
 
//=============================================================================================
//                         LOOP
//=============================================================================================
void loop() {
 
  scale.set_scale(calibration_factor); //điều chỉnh theo hệ số hiệu chỉnh
 
  Serial.print("Reading: ");
  Serial.print(scale.get_units(), 3);
  Serial.print(" kg"); //Thay đổi giá trị này thành kg và điều chỉnh lại hệ số hiệu chuẩn
  Serial.print(" calibration_factor: ");
  Serial.print(calibration_factor);
  Serial.println();
 
  if(Serial.available())
  {
    char temp = Serial.read();
    if(temp == '+' || temp == 'a')
      calibration_factor += 10;
    else if(temp == '-' || temp == 'z')
      calibration_factor -= 10;
    else if(temp == 's')
      calibration_factor += 100;  
    else if(temp == 'x')
      calibration_factor -= 100;  
    else if(temp == 'd')
      calibration_factor += 1000;  
    else if(temp == 'c')
      calibration_factor -= 1000;
    else if(temp == 'f')
      calibration_factor += 10000;  
    else if(temp == 'v')
      calibration_factor -= 10000;  
    else if(temp == 't')
      scale.tare();  //Reset giá trị về 0
  }
}

Sau khi nạp code những bạn cần hiệu chỉnh bằng cách dùng quả cân chuẩn hoặc một vật mà bạn đã biết đúng khối lượng đặt lên bàn cân => Mở cửa sổ Serial Monitor của Arduino IDE => Gõ “ a, s, d, f ” rồi Enter để tăng giá trị đo được, “ z, x, c, v ” rồi Enter để giảm giá trị đo được sao cho bằng với giá trị quả cân chuẩn => Ghi lại giá trị calibration_factor làm giá trị hiệu chỉnh để cho vào code full .

Code full hiển thị giá trị cân nặng lên lcd:

#include "HX711.h"
#include 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
 
HX711 scale(3, 2);
 
int rbutton = 7; // nút nhấn được sử dụng để reset giá trị trọng lượng về 0
float weight;
float calibration_factor = -100525; // giá trị này bạn lấy từ code hiệu chỉnh
 
void setup() 
{
  Serial.begin(9600);
  pinMode(rbutton, INPUT_PULLUP); 
  scale.set_scale();
  scale.tare(); //Reset giá trị về 0
  long zero_factor = scale.read_average(); //đọc thông tin 
  
  lcd.begin();
}
 
void loop() 
 
{
  scale.set_scale(calibration_factor); //điều chỉnh theo hệ số hiệu chỉnh
 
  weight = scale.get_units(5); 
 
  lcd.setCursor(0, 0);
  lcd.print("Trong luong:");
  lcd.setCursor(0, 1);
  lcd.print(weight);
  lcd.print(" KG  ");
  delay(1000);

  Serial.print("Weight: ");
  Serial.print(weight);
  Serial.println(" KG");
  Serial.println();
  
 
  if ( digitalRead(rbutton) == LOW)
{
  scale.set_scale();
  scale.tare(); //Reset giá trị về 0
}
 
}

Kết quả:


Sau khi nạp code xong là bạn đã có một cái cân điện tử triển khai xong. Các bạn có thể chế thêm nguồn pin để thuận tiện hơn khi sử dụng .

Source: https://vh2.com.vn
Category : Tin Học