Cân điện tử với Loadcell, HX711 và Arduino.
Xin chào các bạn,hôm nay mình xin hướng dẫn các bạn làm cân điện tử.
Các thiết bị(module) cần sử dụng:
1.Loadcell
2.Module ADC Hx711
3.Kit Arduino bất kì.
Trước tiên chúng ta cùng tìm hiểu 1 chút về các thiết bị trên:
1.Loadcell là gì?
Các Loadcell là các cảm biến lực(Khối lượng,monen xoắn...vv)
Khi có một lực tác động lên loadcell,loadcell sẽ chuyển đổi lực tác dụng thành tín hiệu điện.
Vậy tại sao nó có thể chuyển đổi thành điện áp được?
Nguyên nhân là các loadcell sử dụng điện trở (loại strain gauge-đây là loại điện trở thay đổi điện trở khi có tác dụng của lực lên nó)
Cấu trúc của strain gauge như sau:
Cấu tạo chính của Loadcell như hình dưới:Nó sử dụng nguyên lý mạch cầu Wheatstone.
Ban đầu cầu cân bằng,điện áp ra bằng 0V.Khi có lực tác động lên điện trở strain gauge(được mắc dưới bàn cân) nó sẽ thay đổi giá trị => Mạch cầu không còn cân bằng nữa => Xuất hiện điện áp ở 2 điểm (Như hình). Từ đó ta lấy được khối lượng từ mức điện áp trả về.
Thông tin về Loadcell các bạn có thể tìm hiểu thêm trên google nhé.Thân
2.Module ADC Hx711
Đây là module chuyển đổi tương tự-số ADC (Analog Digital Convert):
Độ phân giải 24bit và giao tiếp 2 dây với vi điều khiển: 2 chân SCK (Clock) và DT (Data).
Thông số kĩ thuật:
- Điện áp hoạt động: 2.7 V - 5V
- Dòng tiêu thụ <1.5mA
-Tốc độ lấy mẫu:10-80 SPS(Có thể tùy chỉnh)
-Độ phân giải điện áp:40mV
Datasheet Hx711 (PDF) :
https://drive.google.com/file/d/0B0tmnvAt3D4aeGVicnBLTDdmWE0/view
Nhiều bạn hỏi mình,có nhiều module ADC,sao bắt buộc phải dụng module Hx711 này?
Xin trả lời như sau: Do output của loadcell có điện áp rất nhỏ,cở khoảng:1-3mV. Vì vậy cần những bộ ADC có độ phân giải cao để có thể đọc được mức điện áp mV trên.
Các bạn có thể sử dụng các bộ ADC 8bit nhưng chắc chắn đọc về sẽ toàn là 0 (Do độ phân giải 8bit => Độ phân giải Analog = 5V/256 = 19.53mV > 1-3mV của output loadcell nên không đọc được đâu nhé.Haha)
3.Kết nối Hx711 với Arduino (Ở đây mình sử dụng Arduino Uno)
Các bạn chú ý đấu đúng màu dây từ loadcell về Hx711 nhé.
4. Sample code
Thư viện : Mình sử dụng thư viện của Scott Russel (Có trên Arduino Library).
Code thoai nào:
#include <Q2HX711.h>
#define SCK A0
#define DT A1
Q2HX711 hx711(DT,SCK);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(hx711.read()/100.0);
delay(500);
}
a ơi e muốn thiết kế cán cân ntn nhưng k qua adruno mà qua con Stm32F103c8 lập trinh trên kelC thì làm ntn v a
Trả lờiXóabạn làm được chưa
Trả lờiXóadạ được rồi anh chạy ngon lành
XóaAnh ơi em muốn hiện lcd thì ntn ạ
Trả lờiXóađơn giản
Xóatín hiệu điện từ loadcell sang HX711 dùng mạch khuếch đại gì vậy ạ? Hay là có sẵn phần khuếch đại trong HX711 rồi ạ?
Trả lờiXóaAnh ơi em muốn hiện lên led7thanh thì ntn ạ
Trả lờiXóa