Bài 20 · Hóa học · Công nghệ
Cảm biến khí gas MQ-2
học cách đọc một cảm biến không chọn lọc mà không biến nó thành thiết bị an toàn giả
MQ-2 nóng lên, phản ứng với nhiều loại hơi và cho một tín hiệu analog thay đổi. Nó phù hợp để học về đường nền, thời gian ổn định và báo động giả. Nó không tự cho nồng độ ppm chính xác và tuyệt đối không được dùng thay máy báo cháy hoặc báo rò khí đạt chuẩn.
01 Mục tiêu và yêu cầu cần đạt
Tôi coi đây là bài học về giới hạn phép đo, không phải bài chế tạo máy báo gas. Học sinh phải biết cảm biến đang nóng, không chọn lọc, chưa có đường chuẩn ppm và có thể phản ứng với độ ẩm hay nhiều loại hơi khác nhau.
Sau bài này học sinh làm được
- Lắp cầu chia áp để tín hiệu AO không vượt mức GPIO34.
- Ghi đường nền nhiều mẫu sau khi cảm biến đã ổn định tương đối.
- Đặt một ngưỡng thực hành dựa trên dao động nền.
- Giải thích vì sao một lần LED sáng chưa chứng minh có loại khí cụ thể.
- Nêu rõ MQ-2 trong bài không phải thiết bị bảo vệ tính mạng.
- Hóa học — tính chất khí, hỗn hợp và giới hạn của phép nhận biết không chọn lọc.
- Công nghệ — cảm biến, hiệu chuẩn, cảnh báo và an toàn hệ thống.
Khi đưa vào KHBD, đối chiếu chương trình chính thức và không mô tả đây là thí nghiệm nhận biết khí cháy.
02 Lí thuyết
Phần tử nhạy cần được nung nóng
Bên trong MQ-2 có lớp vật liệu bán dẫn và bộ sưởi. Khi nhiệt độ làm việc thay đổi, điện trở của lớp nhạy cũng thay đổi. Các phân tử trong không khí tác động lên bề mặt và làm tín hiệu đổi tiếp. Bởi vậy số đọc ngay sau cấp nguồn thường trôi mạnh.
Một con số không nói tên khí
MQ-2 phản ứng chéo với nhiều hơi và điều kiện môi trường. Chân AO chỉ cho điện áp tổng hợp, không mang nhãn “khói”, “LPG” hay “cồn”. Muốn ước lượng nồng độ cần quy trình hiệu chuẩn, đường đặc tuyến, điện trở tải và điều kiện kiểm soát mà bài này không có. Vì vậy kết quả chỉ là mức tương đối so với đường nền.
Module dùng 5 V cho bộ sưởi và AO có thể cao hơn mức an toàn của ESP32. Hai điện trở 10 kΩ chia điện áp gần một nửa. Trước khi nối GPIO34, dùng đồng hồ xác nhận điểm đo không vượt 3,3 V trong toàn bộ điều kiện thực hành.
03 Linh kiện
| Linh kiện | Mô tả, lưu ý khi mua | Số lượng · giá |
|---|---|---|
| ESP32 DevKit V1 | Bo 30 chân, cấp nguồn bằng USB | 1 · 90–150k |
| Module MQ-2 | Module analog có bộ sưởi | 1 · 20–35k |
| Hai điện trở 10 kΩ | Cầu chia áp bảo vệ GPIO34 | 2 · 400đ |
| LED 5 mm và điện trở 220 Ω | Đèn chỉ báo trong thí nghiệm | 1 bộ · 700đ |
| Đồng hồ vạn năng | Kiểm tra điện áp tại điểm giữa trước khi nối GPIO | 1 mỗi nhóm |
04 Lắp mạch và sơ đồ nối dây
| Khối | Nối dây | Nguồn |
|---|---|---|
| Nguồn MQ-2 | VCC → 5V USB của ESP32 · GND → GND | Bộ sưởi làm module ấm là bình thường |
| Nhánh trên cầu chia | AO MQ-2 → điện trở 10 kΩ → điểm đo | Không nối AO thẳng GPIO34 |
| Nhánh dưới cầu chia | Điểm đo → điện trở 10 kΩ → GND | Hai điện trở chia điện áp gần một nửa |
| Chân đo | Điểm đo → GPIO34 | Đo bằng đồng hồ trước khi cắm dây này |
| LED | GPIO23 → 220 Ω → LED → GND | Chỉ là đèn thực hành, không phải báo động an toàn |
Module MQ-2 đặt thoáng trên đế không cháy, cách giấy và vật dễ cháy; ESP32 nối USB ở bên cạnh.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóAO đi qua điện trở 10 kΩ tới điểm đo; từ điểm đo có 10 kΩ xuống GND và dây tới GPIO34.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóBa giai đoạn sau cấp nguồn: tăng nhiệt, trôi chậm và vùng đường nền; ngưỡng nằm trên dao động nền.
Khung giữ chỗ — thay bằng ảnh chụp thật khi cóKiểm tra cầu chia trước khi nối ESP32
- Đặt module trên đế thoáng, không cháy; chưa nối dây AO vào ESP32.
- Nối
VCC → 5VvàGND → GND. - Mắc AO qua điện trở 10 kΩ tới điểm đo, rồi thêm 10 kΩ từ điểm đo xuống GND.
- Cấp nguồn, dùng đồng hồ đo điểm giữa so với GND; chỉ tiếp tục nếu luôn dưới 3,3 V.
- Rút USB, nối điểm đo tới
GPIO34, rồi lắp LED ởGPIO23.
Không dùng bật lửa, bếp gas, khói, cồn, dung môi, bình xịt hay bất kì chất dễ cháy nào. Không che kín đầu dò đang nóng. Hoạt động của bài chỉ theo dõi đường nền trong phòng thông thoáng và quan sát phản ứng chéo an toàn với hơi thở từ xa.
Không lắp sản phẩm ở bếp, phòng ngủ, gara hay nơi có nguy cơ thật. Nếu nghi có rò khí hoặc cháy, rời khỏi khu vực và làm theo quy trình an toàn của đơn vị; không dùng mạch học tập này để kiểm tra.
Bộ sưởi làm vỏ lưới ấm lên khi hoạt động. Đây là nguyên lí của cảm biến, nhưng nếu có mùi khét, dây đổi màu hoặc điện áp bất thường thì rút USB ngay.
05 Mã nguồn
Mã dùng MicroPython cho ESP32. Hoạt động chỉ ghi đường nền trong không khí lớp học; không tạo, đốt hoặc phun khí dễ cháy để thử.
Bước 1 — ghi đường nền# Ghi 30 mau trong khong khi lop hoc binh thuong
from machine import ADC, Pin
import time
mq2 = ADC(Pin(34))
mq2.atten(ADC.ATTN_11DB)
print("Cho cam bien on dinh toi thieu 60 giay...")
time.sleep_ms(60000)
cac_mau = []
for lan in range(30):
gia_tri = mq2.read()
cac_mau.append(gia_tri)
print(lan + 1, gia_tri)
time.sleep_ms(1000)
trung_binh = sum(cac_mau) // len(cac_mau)
dao_dong = max(cac_mau) - min(cac_mau)
print("Duong nen:", trung_binh)
print("Khoang dao dong:", dao_dong)
print("Goi y khoi dau:", trung_binh + 3 * dao_dong) Với cảm biến mới, thời gian ổn định ban đầu có thể dài hơn nhiều một tiết học; chuẩn bị và chạy trước theo tài liệu của đúng module. Ba mươi mẫu ở đây chỉ mô tả dao động sau khi thiết bị đã được chuẩn bị, không thay thế hiệu chuẩn chuẩn khí.
Bước 2 — chỉ báo vượt ngưỡng tương đối# Bai 20 - Doc MQ-2 theo muc tuong doi
from machine import ADC, Pin
import time
# ===== CẤU HÌNH =====
CHAN_MQ2 = 34
CHAN_LED = 23
NGUONG_CANH_BAO = 1800 # thay bang duong nen cua chinh cam bien
THOI_GIAN_CHO_MS = 60000 # toi thieu cho buoi thuc hanh, khong thay qua trinh on dinh ban dau
CHU_KY_MS = 1000
# ====================
mq2 = ADC(Pin(CHAN_MQ2))
mq2.atten(ADC.ATTN_11DB)
led = Pin(CHAN_LED, Pin.OUT)
print("Dang cho cam bien on dinh...")
time.sleep_ms(THOI_GIAN_CHO_MS)
while True:
gia_tri = mq2.read()
print("MQ2:", gia_tri)
if gia_tri > NGUONG_CANH_BAO:
led.on()
else:
led.off()
time.sleep_ms(CHU_KY_MS) Thay ngưỡng 1800 bằng giá trị suy ra từ đường nền của nhóm. LED sáng chỉ có nghĩa “tín hiệu vừa vượt ngưỡng”, không được diễn giải thành có một loại khí hay nồng độ cụ thể.
Em mô tả bằng tiếng Việt, hệ thống dựng thuật toán và chương trình, rồi nạp thẳng xuống ESP32 qua Wi-Fi.
06 Hiệu chuẩn và kiểm thử
Theo dõi độ trôi sau cấp nguồn
| Thời điểm | Nhỏ nhất trong 30 s | Lớn nhất trong 30 s | Trung bình | Nhận xét |
|---|---|---|---|---|
| Phút 1 | … | … | … | … |
| Phút 3 | … | … | … | … |
| Phút 5 | … | … | … | … |
| Phút 10 | … | … | … | … |
Danh sách kiểm
- AO đi qua cầu chia 10 kΩ/10 kΩ trước GPIO34.
- Điện áp điểm đo đã được xác nhận dưới 3,3 V bằng đồng hồ.
- Module đặt thoáng, cách vật dễ cháy.
- Ngưỡng dựa trên đường nền của chính cảm biến.
- Không tạo khí thử và không gán số ADC thành ppm.
- Sản phẩm được ghi rõ “mô hình giáo dục, không phải thiết bị an toàn”.
07 Kinh nghiệm và cạm bẫy
Khi dựng bài, tôi cấp nguồn rồi đặt ngưỡng ngay ở phút đầu. LED tắt dần không phải vì không khí sạch hơn mà vì cảm biến còn trôi theo nhiệt. Ghi số theo thời gian trước giúp tách quá trình ổn định khỏi một thay đổi của môi trường.
Hơi thở ẩm từ khoảng cách an toàn có thể làm số thay đổi. Đây chính là minh chứng cho phản ứng chéo và báo động giả, không phải phương pháp hiệu chuẩn hay kiểm tra độ nhạy với khí cháy.
08 Ứng dụng trong dạy học
Hóa học — tín hiệu không chọn lọc
Một cảm biến phản ứng với nhiều chất không thể tự xác định thành phần hỗn hợp. Học sinh cần tách câu “tín hiệu thay đổi” khỏi câu “đã có khí X”, giống như màu của một chỉ thị chưa đủ để kết luận khi nhiều yếu tố cùng tác động.
Toán — đường nền và biến thiên
Trung bình mô tả mức nền; khoảng dao động cho biết tín hiệu tự thay đổi bao nhiêu. Một ngưỡng quá gần trung bình sẽ báo liên tục. Ngưỡng xa hơn giảm báo giả nhưng cũng có thể bỏ sót — đó là một đánh đổi cần được trình bày.
Hoạt động 1 — Xác định vấn đề. Cần minh hoạ vì sao cảm biến giá rẻ dễ báo giả mà vẫn bảo đảm an toàn lớp học.
Tiêu chí sản phẩm: ghi được đường nền; phát hiện vượt ngưỡng trong dữ liệu mô phỏng; có nhãn giới hạn rõ; không tạo khí thử.
Hoạt động 2 — Kiến thức nền. Phần tử bán dẫn, bộ sưởi, phản ứng chéo, ADC và cầu chia áp.
Hoạt động 3 — Đề xuất phương án. Chọn thời gian lấy mẫu, cách đặt ngưỡng và cách trình bày cảnh báo không gây hiểu lầm.
Hoạt động 4 — Chế tạo và thử. Dùng đường nền thật và chèn các giá trị giả lập tăng cao để kiểm tra logic LED.
Hoạt động 5 — Báo cáo và điều chỉnh. So số báo giả ở các ngưỡng và bảo vệ lựa chọn bằng dữ liệu.
- Dùng dữ liệu giả lập để so nhiều thuật toán ngưỡng mà không tạo khí.
- So độ trôi của cảm biến nguội và cảm biến đã chạy ổn định.
- Thêm trung bình trượt để giảm dao động rồi đánh giá độ trễ.
- Hướng thi Khoa học kĩ thuật: nghiên cứu cảnh báo giả trên dữ liệu cảm biến công khai, không dựng môi trường nguy hiểm.