Mảng cảm biến phát thải cho máy in 3D (3D Printer Emissions Sensor Array)
Bộ vỏ hộp + hướng dẫn làm mảng cảm biến theo dõi phát thải khi in 3D (bụi mịn, VOC, CO2 tuỳ chọn). Dự án dùng ESPHome tích hợp Home Assistant, hiển thị lên màn 2.8" và hỗ trợ nhiều loại sensor khác nhau.
Mô tả
Tụi mình gần như đang “mò mẫm” về việc máy in 3D thải ra những gì và mình hít vô bao nhiêu. Có một số nghiên cứu rất hay về những loại phát thải nào là đáng quan tâm, nhưng dĩ nhiên mấy cái đó nói cho mình rất ít về mức ô nhiễm không khí mà chiếc máy của mình, cài đặt in và sợi filament của mình đang tạo ra. Vậy nên mình làm cái hộp cảm biến này và gom hết kết quả lại trong một video.
Phần mềm
Đây là các file để bạn tự làm một hộp cảm biến tương tự. Việc lập trình firmware Arduino rồi vẽ biểu đồ kết quả thật sự là nhiều công hơn mức cần thiết, nên mình chọn làm dự án dựa trên ESPHome (rất xịn) vì nó tích hợp ngon với Home Assistant. Dù cách này có giới hạn phần nào lựa chọn cảm biến mình dùng, nhưng lại hỗ trợ hoàn hảo đúng những cảm biến mình cần.
Lưu ý: bạn sẽ cần có sẵn môi trường ESPHome để tùy biến cấu hình cảm biến, lý tưởng nhất là trong hệ Home Assistant để có thể dùng dữ liệu cho automation, ví dụ như bật thông gió khi cần. Mình có cung cấp một ESPHome binary đã compile sẵn có thể flash bằng ESPHome web flasher; bản này sẽ hiển thị giá trị trên màn hình và cho phép giao tiếp qua WiFi ở mức cơ bản, nhưng nói chung nên dùng như một phần của hệ Home Assistant đầy đủ.
Bạn có thể bỏ bất kỳ cảm biến nào, ESPHome sẽ chỉ hiển thị nan thay vì số đo. Chân (pins) để đấu cảm biến có trong file config — các kết nối I²C đều dùng chung chân SDA/SCL trên ESP32, nên bạn sẽ cần làm cáp chia (splitter) hoặc hàn chân lên stripboard. Thông tin chân nào dùng cho ngoại vi nào nằm trong ESPHome config; tài liệu bổ sung về màn hình hoặc kết nối serial có thể xem trên trang ESPHome cho từng thiết bị.
Phần cứng
Bên trong vỏ hộp có vài chi tiết cơ bản để bắt cảm biến. Bên phải đủ rộng để gắn cảm biến bụi dạng tiêu chuẩn — hoặc cảm biến bụi + formaldehyde PMS5003S như mình dùng, hoặc thay bằng PMS7003 nhỏ hơn hay SDS011 lớn hơn.
Bên trái có các gờ phía trên để gắn nhiều breakout board như BME680 và ENS160. Mình dùng keo nến dán mấy dây jumper lên các gờ để biến cảm biến thành kiểu cắm/rút được.
Ngay bên dưới các gờ gắn cảm biến là một khoảng trống lớn khác, dự tính để gắn một hoặc hai cảm biến MQ giá rẻ, như cái MQ-7 carbon monoxide đã được chỉnh sửa mà mình dùng. Tuy nhiên cảm biến MQ nóng khá nhiều, nên mình quyết định cho nó chạy trên một ESP riêng để khỏi làm hộp bị quá nhiệt.
Phần đáy phía trước của hộp có một vị trí thoáng để chèn vài dây jumper cho cảm biến nhiệt độ/độ ẩm. Mình khuyên dùng kiểu như AHT21, dù config và binary đã compile sẵn hiện đang set cho SHT40.
Màn hình 2.8" được giữ bởi mặt trước của khung trong — dùng insert ren M3 ở đây. Bạn có thể dùng mà không cần vỏ ngoài và bắt vít màn hình thẳng vào khung trong, nhưng nếu có vỏ ngoài thì màn hình sẽ được “kẹp” giữa khung trong và vỏ ngoài, rồi siết bằng vít đầu chìm (countersunk) từ phía trước.
Để giảm sáng màn hình, nối một nút tactile 6mm đơn giản từ GPIO 4 xuống GND; bấm sẽ chuyển vòng giữa độ sáng tối đa, một nửa, tối thiểu và tắt hẳn. Dĩ nhiên bạn cũng có thể cấu hình nút này làm việc khác với ESPHome.
Danh sách linh kiện đã dùng
Tất cả link đều dẫn về Aliexpress (affiliate) — đa số cảm biến khá phổ biến, nhưng Aliexpress thường có giá tốt nhất.
ESP32 WROVER board — bản WROOM tiêu chuẩn về lý thuyết cũng chạy, nhưng mình chỉ làm cho màn hình chạy được với WROVER
ESP32 breakout board
2.8" SPI LCD Mấy cái này là panel TN chất lượng tạm tạm, nhưng đủ dùng cho nhu cầu. Bạn có thể phải đổi thứ tự RGB trong config để màu hiển thị đúng. Có màn IPS tốt hơn chạy với ESPHome, nhưng không cùng form factor.
PMS5003S particle + formaldehyde sensor — nhớ mua đúng bản “S” nếu bạn muốn có cảm biến formaldehyde; bản PMS5003 thường chỉ có PM1, PM2.5 và PM10
SDS011 particle sensor Cảm biến thay thế thường được xem là khá sát thiết bị chuyên nghiệp, nhưng không đo PM1 (chỉ có PM2.5 và PM10)
Bosch BME680 cảm biến VOC, nhiệt độ và độ ẩm
[SCD40](<https://go.toms3d.org/SCD40 >) cảm biến CO2 (tuỳ chọn)
ScioSense ENS160 cảm biến VOC (thay thế: AGS10)
MQ-7 CO sensor — cảm biến rất cơ bản, cần chỉnh sửa để đọc theo ppm
Pháp lý
Binary đã compile sẵn có bao gồm thư viện độc quyền Bosch Sensortech BSEC và yêu cầu phải kèm theo thông báo sau:
The binaries and includes for the core BSEC library in this repository are licensed
under the Software license agreement described in the link
https://www.bosch-sensortec.com/media/boschsensortec/downloads/bsec/2017-07-17_clickthrough_license_terms_environmentalib_sw_clean.pdf
The Arduino wrapper and BME68x Sensor API are licensed under the following license.
Copyright (c) 2021 Bosch Sensortec GmbH. All rights reserved.
BSD-3-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!