Cảm biến tiệm cận điện dung: cấu tạo, nguyên lý, cách chế tạo và tự làm cảm biến mức nước với ESP32

Cảm biến tiệm cận điện dung hoạt động thế nào: điện cực, điện cực bù, điện trường viền, hằng số điện môi, báo mức xuyên thành bồn, cách chế tạo và tự làm cảm biến mức nước bằng chân cảm ứng ESP32.

Cảm biến tiệm cận cảm ứng từ chỉ thấy kim loại. Khi cần phát hiện nước trong bồn nhựa, hạt ngũ cốc trong phễu, hộp giấy trên băng tải hay bàn tay người, ta dùng cảm biến tiệm cận điện dung. Cảm biến này đo điện dung giữa điện cực ở mặt cảm biến và môi trường phía trước; bất cứ vật nào có hằng số điện môi lớn hơn không khí đi vào cũng làm điện dung tăng. Bài viết giải thích cấu tạo, nguyên lý điện trường viền, vai trò của hằng số điện môi, ứng dụng và điểm yếu, quy trình chế tạo, rồi hướng dẫn tự làm cảm biến mức nước điện dung chỉ với ESP32 và một miếng giấy nhôm.

1. Cấu tạo

Cấu tạo cảm biến tiệm cận điện dung: điện cực cảm biến ở mặt trước, điện cực bù phía sau, các khối dao động RC, giải điều chế, so sánh, tầng ra, biến trở chỉnh độ nhạy, đèn báo, vỏ nhựa; điện trường viền tỏa ra phía trước tới cốc nước
Các bộ phận chính của cảm biến tiệm cận điện dung (hình tự vẽ).
  • Điện cực cảm biến: một tấm đồng tròn sát mặt trước. Nó cùng với "đất" (vật, thân máy, môi trường xung quanh) tạo thành một tụ điện rất nhỏ, cỡ vài pF.
  • Điện cực bù (chắn): điện cực phụ được giữ cùng điện thế với điện cực chính, giúp điện trường hướng ra phía trước và giảm ảnh hưởng của lớp hơi ẩm, bụi bám trên mặt cảm biến.
  • Mạch đo: bộ dao động RC hoặc mạch đo thời gian nạp xả; điện dung tăng làm tần số hoặc biên độ thay đổi. Mạch so sánh có độ trễ quyết định trạng thái ngõ ra.
  • Biến trở chỉnh độ nhạy: nằm ở đuôi thân, để chỉnh ngưỡng theo vật cần phát hiện và theo bề dày thành bồn.
  • Tầng ra và vỏ: giống cảm biến cảm ứng từ: NPN hoặc PNP, thường mở hoặc thường đóng, vỏ nhựa PBT hoặc kim loại có ren, đèn báo.
Cảm biến tiệm cận điện dung thân ren kim loại, mặt cảm biến nhựa trắng, hai đai ốc, nhãn in thông số trên thân
Cảm biến tiệm cận điện dung thân ren, mặt cảm biến bằng nhựa trắng. Ảnh: IP83, CC BY-SA 3.0, Wikimedia Commons, đã thu nhỏ.

2. Nguyên lý: điện trường viền và hằng số điện môi

Bên trái là điện trường viền dạng các đường cong tỏa ra trước điện cực, một vật có hằng số điện môi lớn đi vào vùng điện trường, công thức C bằng epsilon 0 nhân epsilon r nhân A chia d; bên phải là thanh so sánh hằng số điện môi gần đúng: không khí 1, nhựa PE PP 2,3, giấy gỗ khô 3, thủy tinh 6, bột ngũ cốc 4, cồn 25, nước 80
Điện trường viền trước mặt cảm biến và hằng số điện môi của một số vật (hình tự vẽ, giá trị gần đúng).

Điện dung của tụ điện phẳng là C = ε0 · εr · A / d: tỉ lệ với diện tích A, với hằng số điện môi εr của vật liệu nằm giữa hai bản, và tỉ lệ nghịch với khoảng cách d. Trong cảm biến tiệm cận, "tụ điện" không phải hai bản song song mà là điện trường viền tỏa ra trước điện cực. Khi một vật đi vào vùng này:

  • Vật cách điện có εr lớn hơn không khí (nước khoảng 80, thủy tinh khoảng 5 đến 10, nhựa khoảng 2 đến 4) làm điện dung tăng. εr càng lớn, vật càng dễ phát hiện và phát hiện được từ xa hơn.
  • Vật dẫn điện (kim loại, cơ thể người, nước có muối) như một bản cực thứ hai nối đất, làm điện dung tăng mạnh nhất.
  • Khoảng tác động định mức Sn của cảm biến điện dung đo với tấm kim loại nối đất. Với vật khác, khoảng tác động giảm theo εr; biến trở độ nhạy dùng để bù lại.

Điện trường đi xuyên qua vật liệu không dẫn điện, nên cảm biến đặt bên ngoài một bồn nhựa hay kính vẫn "nhìn thấy" chất lỏng bên trong. Đây là cách báo mức không cần khoan bồn.

3. Ứng dụng và điểm yếu

Bốn ứng dụng của cảm biến điện dung: báo mức xuyên thành bồn nhựa hoặc kính, báo đầy và cạn hạt bột trong phễu, đếm vật không kim loại trên băng tải, nút cảm ứng và phát hiện tay người; kèm ghi chú điểm yếu về hơi nước, bụi bám và trôi theo nhiệt độ độ ẩm
Ứng dụng thường gặp và điểm yếu của cảm biến điện dung (hình tự vẽ).
  • Báo mức: chất lỏng, hạt, bột trong bồn, phễu, silo; xuyên qua thành nhựa, kính dày vài milimét.
  • Phát hiện vật không kim loại: hộp giấy, chai nhựa, tấm gỗ, gạch trên băng tải.
  • Giao diện người: nút cảm ứng trên bếp từ, thang máy, màn hình cảm ứng điện dung của điện thoại cũng hoạt động theo cùng nguyên lý, chỉ khác là dùng cả một lưới điện cực trong suốt.
  • Điểm yếu: hơi nước đọng, bọt, lớp chất lỏng bám trên thành bồn có thể làm cảm biến báo sai; nhiệt độ và độ ẩm làm giá trị gốc trôi. Cảm biến công nghiệp có điện cực bù và mạch tự bù; cảm biến tự chế phải bù bằng phần mềm.

4. Chế tạo cảm biến điện dung

Sáu bước chế tạo cảm biến điện dung: điện cực trên mạch in với vòng bù và mặt chắn, mạch đo điện dung, biến trở độ nhạy, vỏ và đổ keo chống ẩm, hiệu chuẩn bằng tấm kim loại nối đất, cách tự chế bằng giấy nhôm và chân cảm ứng ESP32
Các bước chế tạo loại công nghiệp và cách tự làm (hình tự vẽ).
  1. Điện cực trên mạch in: điện cực tròn bằng đồng ở mặt trước, vòng điện cực bù bao quanh, lớp đồng phía sau làm mặt chắn để cảm biến không nhạy với vật ở phía sau.
  2. Mạch đo: IC đo điện dung (dao động RC, đếm thời gian nạp, hoặc mạch chia điện tích) đổi thay đổi cỡ phần mười pF thành tín hiệu số hoặc điện áp.
  3. Biến trở độ nhạy: biến trở nhiều vòng ở đuôi, hoặc nút dạy (teach-in) trên loại mới.
  4. Vỏ và đổ keo: vỏ nhựa PBT hoặc thép không gỉ có mặt nhựa; đổ keo kín vì hơi ẩm lọt vào bên trong cũng làm thay đổi điện dung.
  5. Hiệu chuẩn: đặt tấm kim loại nối đất ở khoảng Sn, chỉnh để tác động đúng; kiểm tra độ trễ và độ ổn định theo nhiệt độ.
  6. Tự chế: một miếng giấy nhôm hay lá đồng làm điện cực, nối dây ngắn vào chân cảm ứng của ESP32, bọc băng keo để không chạm trực tiếp vào nước.

5. Thực hành: tự làm cảm biến mức nước điện dung với ESP32

ESP32 có 10 chân cảm ứng chạm (T0 đến T9). Mỗi chân có mạch đo điện dung sẵn bên trong: phần cứng nạp xả chân nhiều lần và đếm số chu kỳ trong một khoảng thời gian; điện dung của chân thay đổi thì số đếm thay đổi. Gắn thêm một điện cực lớn là có cảm biến điện dung tự chế.

Linh kiện

Sơ đồ

Tự làm cảm biến mức nước điện dung: chai nhựa chứa nước, miếng giấy nhôm 5 x 5 cm dán ngoài thành chai ở độ cao cần báo, dây ngắn nối miếng giấy nhôm vào chân GPIO4 T0 của ESP32
Cảm biến mức nước tự chế: giấy nhôm dán ngoài thành chai nối vào chân cảm ứng (hình tự vẽ).
  1. Dán miếng giấy nhôm lên mặt ngoài chai ở độ cao muốn báo mức, bọc băng keo bên ngoài.
  2. Nối miếng giấy nhôm vào chân GPIO4 (T0) bằng dây ngắn, cố định dây không cho lắc.
  3. Cấp nguồn cho ESP32 khi nước còn thấp hơn điện cực để chương trình lấy giá trị gốc.

Chương trình

/*
  PYWORLD.VN - Tự làm cảm biến tiệm cận điện dung bằng chân cảm ứng chạm của ESP32 và một miếng giấy nhôm
  Điện cực (giấy nhôm, lá đồng 5 x 5 cm) nối vào GPIO4 (T0) bằng dây ngắn; dán ngoài thành chai nhựa để báo mức nước
  So sánh với giá trị gốc lúc khởi động theo phần trăm, có độ trễ; gõ "g" để lấy lại giá trị gốc
*/

#define CHAN_DIEN_CUC T0                 // GPIO4

const int SO_MAU = 16;
const float NGUONG_PHAN_TRAM = 3.0;      // Thay đổi lớn hơn mức này so với gốc: có vật
const float DO_TRE_PHAN_TRAM = 1.0;      // Phải giảm dưới (ngưỡng - độ trễ) mới coi là hết vật
const float HE_SO_TROI = 0.002;          // Cập nhật gốc rất chậm khi không có vật, bù nhiệt độ và độ ẩm

float giaTriGoc = 0;
bool coVat = false;

float docTrungBinh() {
  uint64_t tong = 0;
  for (int i = 0; i < SO_MAU; i++) {
    tong += touchRead(CHAN_DIEN_CUC);
  }
  return (float)tong / SO_MAU;
}

void layGoc() {
  float tong = 0;
  for (int i = 0; i < 8; i++) {
    tong += docTrungBinh();
    delay(20);
  }
  giaTriGoc = tong / 8;
  coVat = false;
  Serial.printf("Gia tri goc: %.0f (de dien cuc khong co vat khi lay goc)\n", giaTriGoc);
}

void setup() {
  Serial.begin(115200);
  delay(500);
  Serial.println("\nCam bien dien dung tu che voi chan cam ung T0 (GPIO4)");
  layGoc();
}

void loop() {
  if (Serial.available() && Serial.read() == 'g') {
    layGoc();
  }
  float giaTri = docTrungBinh();
  // Không giả định chiều thay đổi: tùy phiên bản chip và trình điều khiển, giá trị có thể tăng hoặc giảm khi có vật
  float thayDoi = (giaTri - giaTriGoc) / giaTriGoc * 100.0f;
  float doLon = fabsf(thayDoi);
  if (!coVat && doLon > NGUONG_PHAN_TRAM) {
    coVat = true;
  } else if (coVat && doLon < NGUONG_PHAN_TRAM - DO_TRE_PHAN_TRAM) {
    coVat = false;
  }
  if (!coVat) {
    giaTriGoc += HE_SO_TROI * (giaTri - giaTriGoc);
  }
  Serial.printf("Doc %.0f | Goc %.0f | Thay doi %+.2f %% | %s\n", giaTri, giaTriGoc, thayDoi,
                coVat ? "CO VAT (nuoc da toi dien cuc)" : "khong co vat");
  delay(250);
}

Giải thích

  • Lúc khởi động, chương trình đọc nhiều lần để lấy giá trị gốc khi chưa có vật.
  • Mỗi lần đọc, tính phần trăm thay đổi so với gốc. Chương trình xét độ lớn của thay đổi chứ không giả định chiều, vì tùy phiên bản chip và trình điều khiển, giá trị đọc có thể tăng hoặc giảm khi có vật.
  • Thay đổi vượt 3 % thì báo có vật; phải giảm xuống dưới 2 % mới báo hết. Khoảng chênh 1 % là độ trễ chống nhấp nháy.
  • Khi không có vật, giá trị gốc được kéo dần về giá trị đọc với hệ số rất nhỏ (0,002) để bù trôi do nhiệt độ, độ ẩm. Khi có vật thì không cập nhật, nếu không cảm biến sẽ "quen" với vật và tự báo hết.
  • Gõ g trong Serial Monitor để lấy lại giá trị gốc bất cứ lúc nào.

Kết quả mong đợi

Hình minh họa Serial Monitor cảm biến điện dung tự chế: giá trị đọc, giá trị gốc và phần trăm thay đổi; khi nước ngập điện cực thay đổi vượt 3 phần trăm và báo có vật, khi rút bớt nước thì báo không có vật
Kết quả mong đợi trên Serial Monitor (hình minh họa; giá trị đọc là ví dụ).

Mức thay đổi thực tế phụ thuộc kích thước điện cực, bề dày thành chai và dây nối. Quan sát phần trăm thay đổi khi nước ngập điện cực rồi chỉnh NGUONG_PHAN_TRAM vào khoảng một nửa con số đó.

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

Hiện tượngNguyên nhân thường gặpCách xử lý
Báo có vật khi đưa tay lại gần dâyDây nối dài, chính dây cũng là một điện cựcRút ngắn dây, dùng cáp có lưới chắn nối đất, đi dây sát thân máy
Thay đổi quá nhỏ khi nước ngậpĐiện cực nhỏ, thành chai dàyTăng diện tích điện cực, dán sát thành chai, giảm ngưỡng
Vẫn báo có nước khi đã rútNước bám thành chai sau điện cực; ngưỡng quá thấpTăng ngưỡng, dùng chai thành trơn, đặt điện cực theo chiều dọc
Giá trị gốc trôi dần trong ngàyNhiệt độ, độ ẩm thay đổiGiữ cơ chế cập nhật gốc chậm; lấy lại gốc bằng lệnh g
Cảm biến công nghiệp không phát hiện chai nhựa rỗngNhựa có εr nhỏ, lượng vật liệu ítTăng độ nhạy bằng biến trở, đưa cảm biến lại gần, hoặc dùng cảm biến quang

7. Xem thêm

  • ESP32 điều khiển module relay: bật máy bơm khi nước cạn, tắt khi đầy.
  • Deep Sleep trên ESP32: chân cảm ứng còn dùng được để đánh thức ESP32.
  • Các bài khác trong loạt: cảm biến tiệm cận cảm ứng từ, cảm biến mức, cảm biến độ ẩm.

Tin tức liên quan

Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp
Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp

Hướng dẫn đấu jack Type-C tích hợp mạch sạc với pin 18650 hoặc Li-po một cell: dây đỏ, dây đen nối vào đâu, tải nối thế nào, khi nào cần mạch bảo vệ, cách đọc đèn đỏ xanh và bảng tra lỗi thường gặp.

Vali đựng máy ảnh, ống kính chống sốc: chọn cỡ theo bộ máy và cách xếp xốp
Vali đựng máy ảnh, ống kính chống sốc: chọn cỡ theo bộ máy và cách xếp xốp

Chọn vali đựng máy ảnh, ống kính: liệt kê những gì bộ máy cần chỗ, xếp xốp, đặt ống kính đứng hay nằm, gợi ý cỡ vali chống nước theo bộ máy, chống ẩm và mang lên xe, máy bay.

Cảm biến gia tốc: cấu tạo MEMS răng lược, áp điện, cách chế tạo và đo góc nghiêng bằng ESP32
Cảm biến gia tốc: cấu tạo MEMS răng lược, áp điện, cách chế tạo và đo góc nghiêng bằng ESP32

Cảm biến gia tốc hoạt động thế nào: mô hình khối lượng – lò xo, MEMS răng lược điện dung vi sai, chế tạo vi cơ bề mặt, áp điện, servo, đo góc nghiêng và đọc MPU-6050 bằng ESP32.

Cách chọn vali chống sốc đựng thiết bị: 7 điều cần xem trước khi mua
Cách chọn vali chống sốc đựng thiết bị: 7 điều cần xem trước khi mua

Bảy điều cần xem khi chọn vali chống sốc đựng thiết bị: kích thước lọt lòng, độ sâu nắp và đáy, vật liệu vỏ, chống nước, khóa, xốp, khối lượng; kèm danh sách kiểm tra trước khi mua.

Hướng dẫn nạp file .bin vào ESP32 bằng Flash Download Tool
Hướng dẫn nạp file .bin vào ESP32 bằng Flash Download Tool

Hướng dẫn lấy đúng file và offset theo từng ESP32, nạp bằng Flash Download Tool, xử lý lỗi boot và xóa flash an toàn.

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: 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 độ.

Hiệu chuẩn cờ lê lực theo ISO 6789: phân loại, dung sai ±4 %, trình tự đo và lỗi khi sử dụng
Hiệu chuẩn cờ lê lực theo ISO 6789: phân loại, dung sai ±4 %, trình tự đo và lỗi khi sử dụng

Cờ lê lực theo ISO 6789-1 và ISO 6789-2: kiểu chỉ thị và kiểu cài đặt, dung sai ±4 %, trình tự hiệu chuẩn ba điểm mười lần đo, ảnh hưởng điểm đặt tay, đầu nối dài và cách bảo quả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