Cảm biến mức: phao, điện cực, thủy tĩnh, siêu âm, radar – cấu tạo, nguyên lý và chế tạo

Cảm biến mức hoạt động thế nào: phao, điện cực, điện dung, áp suất thủy tĩnh, siêu âm, radar, âm thoa rung, cách chế tạo và đo mức bồn nước bằng HC-SR04 với ESP32 có bù nhiệt độ.

Cảm biến mức cho biết trong bồn, giếng, silo còn bao nhiêu chất lỏng hay vật liệu rời: để máy bơm tự bật khi nước cạn và tắt khi đầy, để kho xăng dầu biết lượng tồn, để nhà máy không bao giờ để bồn hóa chất tràn. Có loại chỉ báo một mức (báo đầy, báo cạn) và loại đo liên tục cả chiều cao. Bài viết giới thiệu các loại cảm biến mức thường gặp, giải thích nguyên lý phao, điện cực, điện dung, áp suất thủy tĩnh, siêu âm, radar và âm thoa rung, cách chế tạo từng loại, rồi hướng dẫn đo mức nước trong bồn bằng cảm biến siêu âm HC-SR04 và ESP32 có bù nhiệt độ.

1. Các loại cảm biến mức

Bồn chứa nước với các vị trí lắp cảm biến mức: siêu âm và radar trên nắp nhìn xuống, phao nổi trên mặt nước, ba điện cực dẫn dài ngắn khác nhau, thanh điện cực điện dung dọc bồn, âm thoa rung bên hông và cảm biến áp suất thủy tĩnh ở đáy
Vị trí lắp thường gặp của các loại cảm biến mức (hình tự vẽ).
LoạiBáo điểm / liên tụcNguyên lýDùng ở đâu
PhaoCả haiPhao nổi theo mặt chất lỏng, đóng công tắc hoặc kéo biến trởBơm nước sinh hoạt, bình xăng xe
Điện cực dẫnĐiểmChất lỏng dẫn điện nối hai điện cựcBồn nước, nồi hơi; không dùng cho dầu, nước cất
Điện dungCả haiChất lỏng thay chỗ không khí quanh điện cực, điện dung tăngHóa chất, dầu, hạt, bột
Áp suất thủy tĩnhLiên tụcÁp suất ở đáy tỉ lệ với chiều cao cột chất lỏngGiếng khoan, bể nước, sông hồ
Siêu âmLiên tụcĐo thời gian tiếng vọng từ mặt chất lỏngBể hở, bể nước thải, kênh mương
RadarLiên tụcSóng vô tuyến phản xạ từ mặt chất lỏngBồn kín có hơi, bụi, nhiệt độ thay đổi
Âm thoa rungĐiểmÂm thoa ngập vật liệu thì đổi tần số rungSilo hạt, bột; chống tràn, chống chạy khô bơm

2. Phao và điện cực: đơn giản và bền

Công tắc phao của máy bơm nước thải được cắt mở: vỏ nhựa vàng chứa một viên bi thép và một công tắc nhỏ có cần gạt, dây cáp đen đi ra
Bên trong công tắc phao của máy bơm: khi phao lật, viên bi thép lăn sang và đè cần gạt của công tắc. Ảnh: Martin Meise, CC BY 3.0, Wikimedia Commons, đã thu nhỏ.
  • Phao lật (phao bơm): quả phao treo bằng dây cáp, bên trong có viên bi thép và công tắc. Nước dâng làm phao lật ngửa, bi lăn đè công tắc. Khoảng chênh giữa mức bật và mức tắt do chiều dài dây treo quyết định.
  • Phao trượt trên ống: ống kín chứa công tắc lưỡi gà; phao có nam châm vòng trượt dọc ống, đi tới đâu đóng công tắc tới đó. Nhiều công tắc nối với chuỗi điện trở cho ra tín hiệu gần như liên tục.
  • Phao có cần và biến trở: cách đo xăng trong ô tô, xe máy truyền thống: cần phao xoay một biến trở, đồng hồ đọc điện trở.
  • Điện cực dẫn: vài thanh inox dài ngắn khác nhau thả vào bồn; nước ngập tới thanh nào thì dòng điện nhỏ chạy qua thanh đó. Dùng điện áp xoay chiều để điện cực không bị ăn mòn điện phân. Chỉ dùng được với chất lỏng dẫn điện.
Bình xăng ô tô bằng nhựa được cắt đôi, nhìn thấy cụm bơm xăng và cảm biến mức kiểu phao gắn trong bình, các vách chống dồn xăng
Bình xăng ô tô cắt đôi: cụm bơm và cảm biến mức kiểu phao nằm trong bình. Ảnh: Cschirp, CC BY-SA 3.0, Wikimedia Commons, đã thu nhỏ.

3. Áp suất thủy tĩnh

Bồn nước có cảm biến áp suất ở đáy và chiều cao cột nước h; đồ thị áp suất theo chiều cao cho nước 1000 kilôgam trên mét khối và dầu diesel 840 kilôgam trên mét khối, 1 mét nước khoảng 9,81 kPa
Áp suất đáy theo chiều cao cột chất lỏng (hình tự vẽ, tính theo p = ρ·g·h).

Áp suất ở đáy cột chất lỏng là p = ρ · g · h. Với nước (ρ ≈ 1000 kg/m³), mỗi mét chiều cao tạo khoảng 9,81 kPa, tức gần 0,1 bar. Đặt một cảm biến áp suất ở đáy bồn (hoặc thả cảm biến dạng que chìm xuống đáy giếng) là đo được mức liên tục. Cần lưu ý:

  • Dùng cảm biến áp suất tương đối: cáp của cảm biến chìm có một ống thông khí nhỏ để mặt sau màng luôn ở áp suất khí quyển; nếu không, kết quả sẽ thay đổi theo thời tiết.
  • Kết quả phụ thuộc khối lượng riêng: cùng 30 kPa là khoảng 3,06 m nước nhưng 3,64 m dầu diesel.
  • Bồn kín có áp suất phía trên thì phải dùng cảm biến chênh áp, một cổng ở đáy, một cổng ở đỉnh bồn.

Nguyên lý, cấu tạo và chế tạo cảm biến áp suất được trình bày chi tiết trong bài cảm biến áp suất của loạt này.

4. Siêu âm và radar: đo không chạm

Bên trái: cảm biến siêu âm trên nắp phát xung xuống mặt nước, tiếng vọng quay về, công thức d bằng c nhân t chia 2, bảng vận tốc âm thanh 331,3 mét trên giây ở 0 độ C và 343,4 mét trên giây ở 20 độ C; bên phải: radar FMCW với tần số phát tăng đều, tín hiệu thu trễ và lệch tần số delta f tỉ lệ với khoảng cách
Nguyên lý siêu âm và radar FMCW (hình tự vẽ).
  • Siêu âm: đầu dò phát một chùm xung âm thanh tần số cao (40 kHz với module nhỏ, 20–80 kHz với loại công nghiệp), rồi chuyển sang chế độ nghe tiếng vọng từ mặt chất lỏng. Khoảng cách d = c · t / 2. Vận tốc âm thanh c thay đổi theo nhiệt độ, khoảng 0,17 % mỗi °C (331,3 m/s ở 0 °C, 343,4 m/s ở 20 °C), nên cảm biến công nghiệp luôn có cảm biến nhiệt độ đi kèm để bù.
  • Vùng mù: ngay sau khi phát, đầu dò còn rung nên không nghe được tiếng vọng quá gần. Module HC-SR04 có vùng mù khoảng 2 cm, loại công nghiệp vài chục cm. Bọt, hơi nước dày, mặt chất lỏng dậy sóng làm tiếng vọng yếu hoặc lạc.
  • Radar: dùng sóng vô tuyến thay cho âm thanh. Loại FMCW phát tín hiệu có tần số tăng đều theo thời gian; tín hiệu phản xạ về trễ một chút nên lệch tần số với tín hiệu đang phát; độ lệch tỉ lệ với khoảng cách. Sóng vô tuyến không cần không khí để truyền và gần như không bị nhiệt độ, áp suất, hơi nước ảnh hưởng; radar 80 GHz có chùm rất hẹp, đo được trong bồn nhỏ có nhiều vật cản bên trong.
Module cảm biến siêu âm HC-SR04 màu xanh với hai đầu dò tròn có lưới kim loại, một thạch anh ở giữa và bốn chân Vcc, Trig, Echo, Gnd
Module siêu âm HC-SR04: một đầu dò phát, một đầu dò thu, bốn chân Vcc, Trig, Echo, Gnd. Ảnh: Nevit Dilmen, CC BY-SA 3.0, Wikimedia Commons, đã thu nhỏ.

Âm thoa rung (báo mức điểm) dùng hai nhánh thép rung ở tần số riêng nhờ phần tử áp điện; khi bị vật liệu ngập, tần số và biên độ rung giảm, mạch điện tử phát hiện sự thay đổi đó. Loại này không cần hiệu chỉnh, chạy được với hầu hết chất lỏng và bột.

5. Chế tạo các loại cảm biến mức

Sáu thẻ mô tả chế tạo: công tắc phao với công tắc lưỡi gà trong ống inox và phao có nam châm, đầu dò siêu âm với đĩa gốm áp điện và lớp phối hợp trở kháng, radar 60 đến 80 GHz, cảm biến thủy tĩnh với màng gốm và ống thông khí trong cáp, âm thoa rung, hiệu chuẩn và bảng mức thể tích
Điểm chính trong chế tạo từng loại (hình tự vẽ).
  1. Công tắc phao trượt: công tắc lưỡi gà (hai lá thép từ trong ống thủy tinh hàn kín) đặt ở đúng các độ cao trong ống inox; phao nhựa hoặc inox có nam châm vòng; đổ keo kín đầu ống.
  2. Đầu dò siêu âm: đĩa gốm áp điện dán vào một lớp phối hợp trở kháng (nhựa epoxy có hạt thủy tinh rỗng) để âm thanh truyền ra không khí tốt hơn; phía sau là lớp đệm hút rung để rút ngắn thời gian rung dư; tất cả đổ keo trong vỏ nhựa.
  3. Radar: chip thu phát tần số cao, anten in trên mạch hoặc anten loa, thấu kính nhựa PTFE; bộ xử lý số làm phép biến đổi Fourier để tìm độ lệch tần số.
  4. Cảm biến thủy tĩnh: màng gốm điện dung hoặc màng inox áp trở trong vỏ inox; cáp có ống thông khí và lõi chịu lực để treo.
  5. Âm thoa: hai nhánh thép không gỉ gia công chính xác để có tần số riêng ổn định; phần tử áp điện vừa kích rung vừa đo rung.
  6. Hiệu chuẩn: đổ chất lỏng tới các mức biết trước; với bồn nằm hay bồn hình dạng phức tạp, lập bảng đối chiếu mức và thể tích.

6. Thực hành: đo mức bồn nước bằng HC-SR04 và ESP32

Linh kiện

  • ESP32 DevKit V1 30 chân.
  • Một module siêu âm HC-SR04, một điện trở 1 kΩ, một điện trở 2 kΩ (hoặc hai điện trở 1 kΩ nối tiếp).
  • Dây cắm; hộp che cho module nếu dùng lâu dài.

Sơ đồ nối

Sơ đồ đo mức bồn bằng HC-SR04 và ESP32: module gắn ở nắp bồn nhìn xuống mặt nước, chiều cao lắp đặt 1000 mm; VCC nối VIN 5 V, TRIG nối GPIO5, ECHO qua cầu phân áp 1 kilôôm và 2 kilôôm vào GPIO18, GND nối GND
Sơ đồ lắp đặt và nối dây HC-SR04 với ESP32 (hình tự vẽ).
HC-SR04ESP32
VCCVIN (5 V khi cắm USB)
TRIGGPIO5 (mức 3,3 V vẫn kích được)
ECHOQua điện trở 1 kΩ tới GPIO18; từ GPIO18 có điện trở 2 kΩ xuống GND
GNDGND

HC-SR04 chạy 5 V, chân ECHO ra xung 5 V. Cầu phân áp 1 kΩ / 2 kΩ hạ xuống khoảng 3,3 V cho an toàn chân ESP32. Gắn module ở chính giữa nắp, mặt đầu dò song song với mặt nước, tránh thành bồn và ống dẫn trong vùng chùm khoảng 15°.

Chương trình

/*
  PYWORLD.VN - Đo mức nước trong bồn bằng cảm biến siêu âm HC-SR04 và ESP32, có bù nhiệt độ của vận tốc âm thanh
  HC-SR04: VCC = VIN (5 V), GND = GND, TRIG = GPIO5, ECHO qua cầu phân áp 1 kΩ / 2 kΩ vào GPIO18
  Cảm biến gắn ở nắp bồn nhìn thẳng xuống; mức nước = chiều cao lắp đặt - khoảng cách đo được
*/

#define CHAN_TRIG 5
#define CHAN_ECHO 18

const float CAO_LAP_DAT_MM = 1000.0;   // Khoảng cách từ mặt cảm biến tới đáy bồn
const float MUC_DAY_MM = 850.0;        // Mức nước khi bồn đầy (chừa vùng mù gần cảm biến)
const float DIEN_TICH_DAY_DM2 = 50.0;  // Diện tích đáy bồn (dm²), ví dụ bồn hộp 50 x 100 cm
const float NHIET_DO_C = 30.0;         // Nhiệt độ không khí trong bồn, dùng để tính vận tốc âm thanh
const int SO_LAN_DO = 5;

float vanTocAmMmUs() {
  // Vận tốc âm thanh trong không khí khô: khoảng 331,3 + 0,606 × T (m/s), đổi ra mm/µs
  return (331.3f + 0.606f * NHIET_DO_C) / 1000.0f;
}

// Một lần đo: trả về khoảng cách (mm), hoặc -1 nếu không có tiếng vọng
float doMotLan() {
  digitalWrite(CHAN_TRIG, LOW);
  delayMicroseconds(4);
  digitalWrite(CHAN_TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(CHAN_TRIG, LOW);
  unsigned long thoiGian = pulseIn(CHAN_ECHO, HIGH, 30000);   // Chờ tối đa 30 ms (khoảng 5 m)
  if (thoiGian == 0) {
    return -1;
  }
  return thoiGian * vanTocAmMmUs() / 2.0f;                    // Âm thanh đi rồi về: chia 2
}

// Lấy trung vị của nhiều lần đo để loại tiếng vọng lạc
float doTrungVi() {
  float kq[SO_LAN_DO];
  int n = 0;
  for (int i = 0; i < SO_LAN_DO; i++) {
    float d = doMotLan();
    if (d > 0) {
      kq[n++] = d;
    }
    delay(60);                          // Chờ tiếng vọng cũ tắt hẳn trước lần đo sau
  }
  if (n == 0) {
    return -1;
  }
  for (int i = 1; i < n; i++) {         // Sắp xếp chèn
    float x = kq[i];
    int j = i - 1;
    while (j >= 0 && kq[j] > x) {
      kq[j + 1] = kq[j];
      j--;
    }
    kq[j + 1] = x;
  }
  return kq[n / 2];
}

void setup() {
  Serial.begin(115200);
  pinMode(CHAN_TRIG, OUTPUT);
  pinMode(CHAN_ECHO, INPUT);
  Serial.printf("\nDo muc bon: cao lap dat %.0f mm, day %.0f mm, van toc am %.1f m/s\n",
                CAO_LAP_DAT_MM, MUC_DAY_MM, vanTocAmMmUs() * 1000);
}

void loop() {
  float khoangCach = doTrungVi();
  if (khoangCach < 0) {
    Serial.println("Khong co tieng vong: kiem tra day ECHO, cam bien nghieng hoac be mat song");
  } else {
    float muc = CAO_LAP_DAT_MM - khoangCach;
    if (muc < 0) {
      muc = 0;
    }
    float phanTram = muc / MUC_DAY_MM * 100.0f;
    float lit = DIEN_TICH_DAY_DM2 * muc / 100.0f;     // dm² × dm = lít
    Serial.printf("Khoang cach %.0f mm | Muc %.0f mm | %.0f %% | %.0f lit\n", khoangCach, muc, phanTram, lit);
  }
  delay(1000);
}

Giải thích

  • Xung 10 µs ở TRIG làm module phát 8 chu kỳ siêu âm 40 kHz; chân ECHO lên mức cao suốt thời gian chờ tiếng vọng. pulseIn() đo độ dài xung này, giới hạn chờ 30 ms (khoảng 5 m).
  • Vận tốc âm thanh tính theo nhiệt độ đặt trong NHIET_DO_C; ở 30 °C là khoảng 349,5 m/s. Có thể nối thêm một cảm biến nhiệt độ để cập nhật tự động.
  • Mỗi kết quả lấy trung vị của 5 lần đo, cách nhau 60 ms, để loại bỏ tiếng vọng lạc từ thành bồn hay sóng nước.
  • Mức = chiều cao lắp đặt − khoảng cách; thể tích (lít) = diện tích đáy (dm²) × mức (dm), đúng với bồn có tiết diện đều.

Kết quả mong đợi

Hình minh họa Serial Monitor đo mức bồn bằng HC-SR04 và ESP32: khoảng cách tới mặt nước, mức nước theo milimét, phần trăm và số lít; mức tăng khi bơm nước vào và báo không có tiếng vọng khi mặt nước dậy sóng
Kết quả mong đợi trên Serial Monitor (hình minh họa; khoảng cách là ví dụ).

Hơi nước ngưng tụ trên đầu dò là nguyên nhân hỏng phổ biến của HC-SR04 trong bồn nước. Dùng lâu dài nên chọn đầu dò siêu âm chống nước loại một đầu dò, hoặc cảm biến áp suất chìm.

7. Xử lý lỗi thường gặp

Hiện tượngNguyên nhân thường gặpCách xử lý
Luôn "Khong co tieng vong"Chưa nối cầu phân áp đúng, ECHO không tới GPIO18Kiểm tra dây; thử đặt tay trước module ở 20 cm
Khoảng cách nhảy lung tungChùm sóng chạm thành bồn, ống, phao; mặt nước sóngDời module ra giữa, dùng ống dẫn sóng, tăng số lần đo trung vị
Bồn gần đầy đọc saiMặt nước vào vùng mù của cảm biếnĐặt mức đầy thấp hơn cảm biến ít nhất 5 cm (loại công nghiệp: theo thông số)
Kết quả lệch đều vài phần trămNhiệt độ thực khác NHIET_DO_CSửa nhiệt độ hoặc thêm cảm biến nhiệt độ để bù
Module chết sau vài tuầnHơi nước đọng, ăn mònDùng đầu dò chống nước hoặc cảm biến áp suất chìm

8. Xem thêm


Tin tức liên quan

Hiệu chuẩn đồng hồ so theo ISO 463 và đồng hồ chân gạt ISO 9493: đặc tính sai số và sai số cosin
Hiệu chuẩn đồng hồ so theo ISO 463 và đồng hồ chân gạt ISO 9493: đặc tính sai số và sai số cosin

Hiệu chuẩn đồng hồ so theo ISO 463: sai số trong 1/10 vòng, 1 vòng, toàn dải, trễ, lặp lại; trình tự trên máy hiệu chuẩn, ví dụ kết quả, sai số cosin của đồng hồ chân gạt.

RF 433 MHz là gì: điều chế ASK/OOK và tự viết giao thức phát, thu bằng ESP32
RF 433 MHz là gì: điều chế ASK/OOK và tự viết giao thức phát, thu bằng ESP32

Giải thích sóng RF 433 MHz và điều chế ASK/OOK, cách mã hóa bit bằng độ rộng xung và khung tin 24 bit. Hướng dẫn tự viết chương trình phát và thu trên hai mạch ESP32, không dùng thư viện ngoài.

Cách đọc giấy chứng nhận hiệu chuẩn: sai số, độ không đảm bảo, số hiệu chính và điểm cần kiểm tra
Cách đọc giấy chứng nhận hiệu chuẩn: sai số, độ không đảm bảo, số hiệu chính và điểm cần kiểm tra

Cách đọc giấy chứng nhận hiệu chuẩn: các phần bắt buộc theo ISO/IEC 17025, bảng sai số chiều tăng giảm, độ không đảm bảo và hệ số phủ k, áp dụng số hiệu chính và lỗi hay gặp.

Xốp ô li trong vali: cách bóc xốp vừa khít thiết bị, không rách
Xốp ô li trong vali: cách bóc xốp vừa khít thiết bị, không rách

Xốp ô li là tấm xốp chống sốc cắt sẵn thành ô vuông, bóc theo dáng thiết bị bằng tay. Bài hướng dẫn bốn bước bóc vừa khít, các lỗi thường gặp và khi nào nên chuyển sang xốp cắt theo biên dạng.

RS-485 là gì: cặp dây vi sai, điện trở đầu cuối và cách dùng module MAX485 với ESP32
RS-485 là gì: cặp dây vi sai, điện trở đầu cuối và cách dùng module MAX485 với ESP32

Giải thích chuẩn RS-485: tín hiệu vi sai trên hai dây A, B, điện trở đầu cuối 120 Ω, truyền bán song công với chân DE, RE. Kèm sơ đồ nối module MAX485 và chương trình hỏi đáp giữa hai mạch ESP32.

Cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C tích hợp mạch sạc
Cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C tích hợp mạch sạc

Sơ đồ nguồn cho ESP32 chạy pin 18650, sạc qua jack Type-C trên vỏ hộp: vì sao cần mạch đổi áp, chọn tăng áp 5 V hay ổn áp 3,3 V, ước tính thời gian chạy pin, đo mức pin và các lỗi nguồn thường gặp.

Modbus TCP/IP (phần 1): phần đầu MBAP và ESP32 làm máy chủ qua Wi-Fi
Modbus TCP/IP (phần 1): phần đầu MBAP và ESP32 làm máy chủ qua Wi-Fi

Giải thích Modbus TCP/IP: phần đầu MBAP, cổng 502, điểm khác với Modbus RTU. Kèm chương trình ESP32 làm máy chủ Modbus TCP qua Wi-Fi với 10 thanh ghi giữ và 8 cuộn, tự phân tích khung, không dùng thư viện.

Kiểm định, hiệu chuẩn, thử nghiệm khác nhau thế nào: khi nào bắt buộc, khi nào cần và lưu ý
Kiểm định, hiệu chuẩn, thử nghiệm khác nhau thế nào: khi nào bắt buộc, khi nào cần và lưu ý

Phân biệt kiểm định, hiệu chuẩn, thử nghiệm theo Luật Đo lường: phương tiện đo nhóm 2 phải kiểm định, khi nào cần hiệu chuẩn, hiệu chuẩn khác hiệu chỉnh, lưu ý khi đặt dịch vụ.


Bình luận
Đã thêm vào giỏ hàng