Sau khi đo đạc và tính toán các thông số sẽ được hiển thị qua màn hình đồng thời sẽ được gửi về cơ sở dữ liệu của một Web Server để lưu trữ và cho phép người dùng giám sát, theo dõi và q
GIỚI THIỆU
BỐI CẢNH VẤN ĐỀ
Xã hội phát triển mạnh mẽ thúc đẩy ngành công nghiệp, dẫn đến sự gia tăng phương tiện giao thông và hoạt động của chúng, gây ra nhiều vấn đề môi trường nghiêm trọng Ô nhiễm không khí nổi bật là một trong những vấn đề môi trường cấp bách toàn cầu Đây là sự ô nhiễm môi trường trong nhà hoặc ngoài trời do các tác nhân hóa học, vật lý hoặc sinh học làm thay đổi đặc tính tự nhiên của bầu khí quyển.
Các thiết bị đốt trong gia đình, hóa chất sinh hoạt, phương tiện giao thông, cơ sở công nghiệp và cháy rừng là những nguồn ô nhiễm không khí phổ biến Các chất ô nhiễm chính như bụi mịn, CO, O3, NO2 và SO2 gây hại cho sức khỏe cộng đồng Ô nhiễm không khí cả trong nhà lẫn ngoài trời là nguyên nhân gây ra nhiều bệnh về đường hô hấp như viêm mũi dị ứng, viêm xoang, viêm họng, viêm thanh quản, viêm phổi và viêm phế quản, đồng thời là tác nhân chính dẫn đến bệnh tật và tử vong.
Mức độ ô nhiễm không khí đang ở mức cao nguy hiểm trên toàn cầu, với gần 98% dân số thế giới hít thở không khí vượt quá giới hạn an toàn theo hướng dẫn của WHO Các quốc gia có thu nhập thấp và trung bình, như Việt Nam, đang phải đối mặt với mức độ phơi nhiễm ô nhiễm không khí cao nhất.
Ô nhiễm không khí, từ khói bụi ở các thành phố đến khói thuốc trong nhà, đang trở thành mối đe dọa nghiêm trọng đối với sức khỏe con người và khí hậu Cả ô nhiễm không khí ngoài trời ở thành phố lẫn nông thôn đều tạo ra các hạt bụi mịn, gây ra nhiều vấn đề sức khỏe nghiêm trọng như đột quỵ, bệnh tim, ung thư phổi và các bệnh hô hấp cấp tính và mãn tính.
Khoảng 2,4 tỷ người đang phải đối mặt với ô nhiễm không khí trong nhà ở mức nguy hiểm, góp phần vào 7 triệu ca tử vong sớm hàng năm do tác động của ô nhiễm không khí cả trong và ngoài trời Việt Nam hiện nằm trong top 10 quốc gia ô nhiễm không khí ở Châu Á, với Hà Nội và Thành phố Hồ Chí Minh có mức bụi gia tăng liên tục, khiến chỉ số AQI luôn ở mức báo động Tình hình khẩn cấp này yêu cầu cần phải kiểm soát và giám sát chất lượng không khí để bảo vệ sức khỏe cộng đồng, dẫn đến nhu cầu cấp thiết về thiết bị giám sát môi trường không khí Tuy nhiên, hầu hết các thiết bị hiện có đều có giá thành cao và khó tiếp cận với người dân, đồng thời còn gặp phải nhiều hạn chế như số loại khí phát hiện ít, dữ liệu đo đạc không chính xác, thiếu khả năng giám sát từ xa, và thời gian cập nhật dữ liệu chậm, gây khó khăn trong việc bảo vệ sức khỏe kịp thời.
MỤC TIÊU ĐỀ TÀI
Nghiên cứu nhằm phát triển một thiết bị giá thành hợp lý cho phép người dùng theo dõi và quản lý chất lượng không khí trong không gian sống và làm việc, cả trực tiếp và qua website hoặc điện thoại Thiết bị này có khả năng tự động điều chỉnh môi trường không khí tại vị trí lắp đặt, đồng thời cung cấp dữ liệu quý giá cho các nghiên cứu khác nhằm nâng cao chất lượng môi trường sống.
NỘI DUNG THỰC HIỆN
Dưới đây là những nội dung chính mà đề tài “Thiết kế và thi công thiết bị giám sát kết hợp quản lý chất lượng môi trường không khí hiển thị dữ liệu lên website và điện thoại” đã thực hiện: Thiết bị giám sát chất lượng không khí được thiết kế với khả năng thu thập và phân tích dữ liệu môi trường, cung cấp thông tin chính xác về các chỉ số ô nhiễm Dữ liệu này được hiển thị trực tiếp trên website và ứng dụng điện thoại, giúp người dùng dễ dàng theo dõi và quản lý chất lượng không khí Hệ thống này không chỉ nâng cao nhận thức về ô nhiễm môi trường mà còn hỗ trợ các biện pháp cải thiện chất lượng không khí trong cộng đồng.
Nghiên cứu các tiêu chuẩn nồng độ cho phép đối với sức khỏe con người là rất quan trọng, đặc biệt đối với các chất khí và bụi mịn như LPG, CO, VOC, CO2 và PM2.5 Các tiêu chuẩn này giúp xác định mức độ an toàn cho con người khi tiếp xúc với các chất ô nhiễm không khí, từ đó bảo vệ sức khỏe cộng đồng và môi trường sống Việc tuân thủ các tiêu chuẩn này không chỉ giảm thiểu nguy cơ mắc bệnh mà còn nâng cao chất lượng cuộc sống cho mọi người.
• Nghiên cứu và trình bày nguyên lý hoạt động của các giao thức truyền dữ liệu: UART, I2C, SPI
• Nghiên cứu và trình bày cơ chế hoạt động của các cảm biến: MQ-6, MiCS-6814, CCS811, GP2Y1014AU0F, SHT41, BMP280
• Nghiên cứu và trình bày cơ chế hoạt động của module WiFi ESP8285
• Nghiên cứu và giới thiệu vi điều khiển STM32F407VET6
• Nghiên cứu và trình bày nguyên lý hoạt động của giao thức HTTP
Nghiên cứu và trình bày các giải thuật ứng dụng trong truyền nhận dữ liệu và xử lý chuỗi ký tự là rất quan trọng Các giải thuật như giải thuật bộ đệm vòng và giải thuật KMP đóng vai trò then chốt trong việc tối ưu hóa hiệu suất xử lý dữ liệu Việc áp dụng những giải thuật này giúp cải thiện tốc độ và độ chính xác trong truyền nhận thông tin, từ đó nâng cao hiệu quả của các hệ thống công nghệ thông tin.
• Thiết kế mô hình kiến trúc hệ thống
• Thiết kế lưu đồ giải thuật
• Viết chương trình cho vi điều khiển STM32F407VET6 giao tiếp với từng cảm biến và module
Chương trình hoàn chỉnh cho STM32F407VET6 được thiết kế để giao tiếp và điều khiển các cảm biến, module, đồng thời thu thập dữ liệu và hiển thị lên website.
• Viết giao diện web server hiển thị các thông số đã thu thập được và cho phép người dùng điều khiển từ xa
• Viết một ứng dụng đơn giản giúp giám sát dữ liệu trên điện thoại chạy hệ điều hành Android
• Thi công sản phẩm hoàn chỉnh
• Chạy kiểm thử sản phẩm và đánh giá kết quả đạt được
• Viết báo cáo khóa luận.
KẾT QUẢ ĐẠT ĐƯỢC
Sau hơn 3 tháng nghiên cứu và phát triển, cùng với 15 lần kiểm tra thực nghiệm và điều chỉnh thiết kế, chúng tôi đã cho ra mắt một thiết bị giám sát và quản lý chất lượng không khí Thiết bị này có cơ chế điều hòa tự động và khả năng giám sát từ xa, mang lại giải pháp hiệu quả cho việc cải thiện môi trường sống.
BỐ CỤC LUẬN VĂN
Bố cục trình bày của quyển luận văn tốt nghiệp này gồm có 5 chương:
Chương 1 - Giới thiệu cung cấp cái nhìn tổng quát về bối cảnh và lý do lựa chọn đề tài, đồng thời nêu rõ mục tiêu nghiên cứu Nội dung chương cũng sẽ chỉ ra những vấn đề mà đề tài hướng tới, kết quả đã đạt được và cấu trúc của luận văn tốt nghiệp.
Chương 2 - Cở sở lý thuyết trình bày chi tiết các tiêu chuẩn chỉ số cho từng loại khí, các giao thức truyền dữ liệu sẽ áp dụng trong nghiên cứu, giới thiệu vi điều khiển STM32F407VET6, cùng với nguyên lý và cơ chế hoạt động của module WiFi và các cảm biến Bên cạnh đó, chương này cũng đề cập đến các thuật toán truyền nhận và xử lý chuỗi dữ liệu, ứng dụng vào đề tài, cũng như giao thức HTTP và cơ chế tương tác với web server, tạo nền tảng cho chương 3.
Chương 3 - Thiết kế hệ thống: Chương này tổng hợp quá trình xây dựng, phát triển và thiết kế hệ thống, tập trung vào yêu cầu của người dùng và các yêu cầu kỹ thuật Nội dung được dựa trên những cơ sở lý thuyết đã được nghiên cứu và phân tích trong chương 2, nhằm làm nền tảng cho các nội dung tiếp theo.
Chương 4 - Thi công hệ thống và đánh giá kết quả: Chương này tóm tắt quá trình thực hiện sản phẩm dựa trên nội dung đã trình bày ở chương 3, đồng thời tiến hành kiểm thử sản phẩm để đánh giá kết quả thu được.
Chương 5 - Kết luận và hướng phát triển tóm tắt lại nội dung chính của đề tài, đồng thời đề xuất các khả năng phát triển và hướng cải thiện trong tương lai.
CƠ SỞ LÝ THUYẾT
TIÊU CHUẨN CHẤT LƯỢNG KHÔNG KHÍ
2.1.1 Tổng quan về chỉ số AQI
Chỉ số AQI (Air Quality Index) là thước đo hàng ngày về chất lượng không khí, cho biết mức độ ô nhiễm xung quanh chúng ta AQI giúp xác định không khí có sạch hay ô nhiễm và mức độ ô nhiễm cụ thể Rủi ro sức khỏe con người gia tăng khi chỉ số AQI cao, với tác động có thể xảy ra trong vài giờ hoặc vài ngày sau khi tiếp xúc với không khí ô nhiễm Cơ quan Bảo vệ Môi trường Hoa Kỳ (EPA) và Tổ chức Y tế Thế giới (WHO) tính toán chỉ số AQI dựa trên 5 thông số ô nhiễm không khí chính.
• Ozone: Được tạo ra bởi các phản ứng hóa học giữa các oxit nitơ
Các chất ô nhiễm như NOx và hợp chất hữu cơ dễ bay hơi (VOCs) được phát thải từ ô tô, nhà máy điện, nồi hơi công nghiệp, nhà máy lọc dầu, và nhà máy hóa chất Những chất này phản ứng hóa học dưới tác động của ánh sáng mặt trời, tạo ra các vấn đề ô nhiễm không khí nghiêm trọng.
Vật chất dạng hạt, bao gồm các hạt có nguồn gốc tự nhiên và nhân tạo, xuất phát từ nhiều nguồn như quá trình đốt cháy nhiên liệu hóa thạch, tinh chế dầu thô, đốt củi sinh hoạt, cháy rừng, hoạt động của núi lửa và bụi Hai chỉ số chính để đánh giá mức độ ô nhiễm của vật chất dạng hạt là PM2.5 và PM10.
Carbon Monoxide (CO) là một khí độc không màu và không mùi, được sinh ra từ quá trình cháy không hoàn toàn của hydrocarbon Các nguồn phát thải CO phổ biến bao gồm cháy nhà, khí thải từ ô tô, khí đốt, lò nung, bình đun nước nóng, bếp lò đốt bằng gỗ hoặc than, và việc đốt dầu hỏa.
Sulfur Dioxide (SO2) là một khí được phát sinh chủ yếu từ việc đốt nhiên liệu hóa thạch tại các nhà máy điện và các cơ sở công nghiệp khác, cũng như từ việc đốt cháy nhiên liệu trong các phương tiện di động như đầu máy, tàu và thiết bị khác.
Nitrogen Dioxide (NO2) là một khí được hình thành từ các động cơ đốt trong hoặc từ khí tự nhiên Sự kết hợp giữa khí Nitơ và Oxy trong không khí ở nhiệt độ cao, như do sét đánh, hoạt động của núi lửa, hoặc quá trình phân hủy của vi sinh vật, là nguyên nhân chính dẫn đến sự hình thành của NO2.
WHO đã thiết lập các tiêu chuẩn chất lượng không khí cho từng loại khí gây ô nhiễm nhằm bảo vệ sức khỏe cộng đồng Đồng thời, tổ chức này quy định màu sắc cụ thể cho từng khoảng giá trị AQI, giúp người dân dễ dàng nhận biết và hiểu rõ mức độ ô nhiễm không khí.
2.1.2 Thang đo chỉ số chất lượng không khí và chú giải màu sắc
Các mức AQI ảnh hưởng đến sức khỏe con người được phân loại theo tiêu chuẩn US-EPA, với các tác động cụ thể được liệt kê trong bảng dưới đây.
Bảng 2.1: Thang đo chỉ số chất lượng không khí
AQI Phân loại mức độ ô nhiễm không khí
Tác động tới sức khỏe con người
Chất lượng không khí được coi là đạt yêu cầu và ô nhiễm không khí gây ra ít hoặc không có rủi ro
Chất lượng không khí hiện đang ở mức chấp nhận được, nhưng một số chất gây ô nhiễm vẫn có thể gây ra lo ngại về sức khỏe, đặc biệt đối với những người nhạy cảm với ô nhiễm không khí.
101 đến 150 Không lành mạnh cho các nhóm nhạy
Thành viên của các nhóm nhạy cảm có thể bị ảnh hưởng sức khỏe Công chúng nói chung không có khả năng bị ảnh hưởng
Sức khỏe của mọi người có thể bị ảnh hưởng, đặc biệt là những người thuộc các nhóm nhạy cảm, họ có thể gặp phải những vấn đề sức khỏe nghiêm trọng hơn.
201 đến 300 Rất không tốt cho sức khỏe
Cảnh báo tình trạng khẩn cấp về sức khỏe Toàn bộ cộng đồng có nhiều khả năng bị ảnh hưởng hơn
Trên 300 Nguy hiểm Cảnh báo về sức khỏe: mọi người có thể bị ảnh hưởng sức khỏe nghiêm trọng hơn
Chú giải màu sắc cho thang đo chỉ số chất lượng không khí theo tiêu chuẩn US-EPA được thể hiện trong hình dưới đây:
CÁC GIAO THỨC TRUYỀN DỮ LIỆU
Giao thức I²C (Inter-Integrated Circuit) là phương thức giao tiếp nối tiếp hai chiều với chỉ hai dây tín hiệu, được phát triển bởi Philips để kết nối các IC (Integrated Circuit) I²C cho phép giao tiếp bán song công, hỗ trợ nhiều thiết bị chủ (master) và thiết bị tớ (slave) trên cùng một đường truyền Giao thức này rất thích hợp cho các ứng dụng yêu cầu kết nối đơn giản và chi phí sản xuất thấp, hơn là tốc độ truyền tải dữ liệu.
Các thiết bị tương thích với giao thức I²C được trang bị giao diện phần cứng tích hợp, cho phép chúng giao tiếp qua bus I²C Bus I²C có những đặc điểm kỹ thuật quan trọng.
• Chỉ sử dụng hai đường truyền:
▪ SDA (Serial Data Line): Đường truyền dữ liệu nối tiếp
▪ SCL (Serial Clock Line): Đường xung clock nối tiếp
Hoạt động theo cơ chế chủ - tớ cho phép cả thiết bị chủ và thiết bị tớ truyền nhận dữ liệu hiệu quả Hệ thống hỗ trợ nhiều thiết bị chủ, có khả năng phát hiện và giải quyết xung đột tín hiệu trên cùng một đường truyền Điều này giúp ngăn ngừa mất mát dữ liệu khi hai hoặc nhiều thiết bị chủ truyền tín hiệu đồng thời.
• Mỗi thiết bị khi kết nối vào bus I 2 C sẽ được định một địa chỉ sao cho duy nhất bằng phần mềm
Quá trình truyền dữ liệu nối tiếp hai chiều 8-bit có qui định hướng có thể đạt tốc độ tối đa 100 Kbit/s ở chế độ tiêu chuẩn, 400 Kbit/s ở chế độ nhanh, và lên đến 3.4 Mbit/s trong chế độ tốc độ cao.
• Số lượng thiết bị tối đa có thể kết vào một bus I²C chỉ bị giới hạn bởi sức chứa tối đa của bus I 2 C đó
Cách thức triển khai kết nối một bus I 2 C được thể hiện cụ thể như trong hình dưới đây: là:
Hình 2.2: Mô hình triển khai của một bus I 2 C
2.2.1.2 Các chế độ hoạt động
Giao thức I 2 C có 3 chế độ hoạt động chính thường được sử dụng phổ biến nhất
Chế độ tiêu chuẩn, được phát hành đầu tiên, cho phép tốc độ truyền dữ liệu tối đa lên đến 100 Kbit/s Nó sử dụng kiểu địa chỉ 7-bit và có khả năng kết nối với tối đa 128 thiết bị.
• Fast Mode: Tốc độ truyền tải dữ liệu tối đa là 400 Kbit/s
• High-Speed Mode: Được tạo ra nhằm nâng cao tốc độ truyền tải dữ liệu với tốc độ truyền dữ liệu có thể lên đến 3,4 Mbit/s
2.2.1.3 Quá trình truyền dữ liệu Để bắt đầu quá trình truyền dữ liệu, thiết bị chủ sẽ thực hiện một điều kiện bắt đầu Sau đó thiết bị chủ sẽ gửi địa chỉ của thiết bị tớ muốn giao tiếp kèm theo bit đọc/ghi dữ liệu có giá trị là 0 (mức thấp) để thể hiện hoạt động gửi dữ liệu Tiếp theo, thiết bị tớ có địa chỉ tương ứng sẽ phản hồi với thiết bị chủ bằng một bit xác nhận gọi là bit ACK để xác nhận có thiết bị tớ với địa chỉ tương ứng hoạt động trên hệ thống bus I 2 C Tiếp đến thiết bị chủ gửi địa chỉ thanh ghi của thiết bị tớ mà thiết bị chủ muốn ghi dữ liệu (nếu ghi nhiều byte thì đó sẽ là địa chỉ của byte bắt đầu ghi) và thiết bị tớ sẽ phản hồi cho thiết bị chủ bằng một bit ACK xác nhận có địa chỉ thanh ghi và sẵn sàng nhận dữ liệu Kế tiếp, thiết bị chủ gửi dữ liệu (có thể một hoặc nhiều byte) cần ghi vào thanh ghi cho thiết bị tớ Cuối cùng thiết bị chủ kết thúc việc truyền dữ liệu bằng một điều kiện dừng
Khung truyền dữ liệu khi thiết bị chủ muốn gửi dữ liệu cho thiết bị tớ được thể hiện trong hình dưới đây:
Hình 2.3: Khung truyền dữ liệu khi master muốn gửi dữ liệu cho slave
2.2.1.4 Quá trình nhận dữ liệu Để bắt đầu quá trình nhận dữ liệu, đầu tiên thiết bị chủ sẽ thực hiện một điều kiện bắt đầu Sau đó thiết bị chủ sẽ gửi địa chỉ của thiết bị tớ cần đọc dữ liệu về kèm theo bit đọc/ghi có giá trị bằng 0 (mức thấp) để gửi tiếp địa chỉ thanh ghi Thiết bị tớ sẽ phản hồi cho thiết bị chủ bằng một bit xác nhận ACK để xác nhận có thiết bị tớ với địa chỉ tương ứng hoạt động trên hệ thống bus I 2 C Tiếp theo, thiết bị chủ sẽ gửi địa chỉ thanh ghi của thiết bị tớ mà thiết bị chủ muốn đọc dữ liệu về (hoặc bắt đầu đọc dữ liệu về từ địa chỉ đó nếu là đọc nhiều byte) Thiết bị tớ sẽ phản hồi cho thiết bị chủ bằng một bit xác nhận ACK để thông báo có địa chỉ thanh ghi đó trong thiết bị tớ Tiếp đến, thiết bị chủ gửi lại điều kiện bắt đầu cùng với địa chỉ của thiết bị tớ kèm theo bit đọc/ghi lúc này sẽ có giá trị bằng 1 (mức cao) để thể hiện hoạt động đọc dữ liệu về Thiết bị tớ sẽ phản hồi cho thiết bị chủ bằng bit xác nhận ACK Tiếp đến thiết bị chủ sẽ nhận dữ liệu từ thiết bị tớ (có thể nhiều byte trong trường hợp đọc nhiều byte) Cuối cùng nếu thiết bị chủ nhận một bit NACK từ thiết bị tớ thì nó sẽ kết thúc quá trình nhận dữ liệu bằng cách tạo điều kiện dừng
Khung truyền dữ liệu khi thiết bị chủ muốn đọc dữ liệu về từ thiết bị tớ được thể hiện trong hình dưới đây:
Hình 2.4: Khung truyền dữ liệu khi master muốn đọc dữ liệu về từ slave
2.2.1.5 Các thành phần trong khung truyền dữ liệu
Tiếp theo, chúng ta sẽ tiến hành phân tích các thành phần trong khung truyền dữ liệu trong Hình 2.3 và Hình 2.4 ở trên:
Khi đường tín hiệu SCL ở mức cao, sự chuyển đổi từ mức cao xuống mức thấp trên đường tín hiệu SDA sẽ tạo ra tín hiệu bắt đầu.
Điều kiện kết thúc (Stop) trong giao thức I2C xảy ra khi đường tín hiệu SCL ở mức cao và có sự chuyển đổi từ mức thấp lên mức cao trên đường tín hiệu SDA, tạo ra tín hiệu dừng.
Các bit địa chỉ (Slave Address) đóng vai trò quan trọng trong việc xác định và phân biệt các thiết bị khác nhau trên một hệ thống bus.
I 2 C, các thiết bị tớ phải có địa chỉ khác nhau và thông thường địa chỉ của thiết bị tớ có 7-bit
Bit đọc/ghi (R/W) là bit quyết định hướng truyền dữ liệu, cho biết liệu dữ liệu sẽ được đọc hay ghi Khi ghi dữ liệu, giá trị của R/W sẽ là 0 (mức thấp), trong khi khi đọc dữ liệu, R/W sẽ có giá trị 1 (mức cao).
Mỗi byte dữ liệu trong quá trình truyền đều được xác nhận bằng một bit ACK từ phía nhận gửi về phía gửi, cho biết byte đã được nhận thành công và có thể tiếp tục gửi dữ liệu tiếp theo Bit ACK có giá trị 0 (mức thấp), trong khi giá trị 1 (mức cao) được gọi là bit NACK.
Dữ liệu (Data) là thông tin được truyền tới hoặc đọc từ các thiết bị tớ, thông qua việc thực hiện các thao tác đọc/ghi trên các thanh ghi trong bộ nhớ của thiết bị Các thanh ghi này được xác định bởi địa chỉ và chứa thông tin cấu hình hoạt động cũng như dữ liệu thu thập từ cảm biến trong quá trình hoạt động Để điều khiển thiết bị tớ thực hiện một nhiệm vụ cụ thể, thiết bị chủ sẽ ghi vào các thanh ghi của thiết bị tớ.
Lặp lại điều kiện bắt đầu là quá trình mà thiết bị chủ thực hiện để thay thế việc thực hiện điều kiện dừng trước khi khởi động lại Điều này thường được áp dụng khi thiết bị chủ cần đọc dữ liệu từ thiết bị tớ sau khi đã nhận phản hồi về địa chỉ thiết bị và địa chỉ thanh ghi cần truy cập Hình ảnh dưới đây minh họa rõ ràng cho điều kiện bắt đầu và điều kiện dừng trong quy trình này.
Hình 2.5: Điều kiện bắt đầu và điều kiện dừng của giao tiếp I 2 C
SPI (Serial Peripheral Interface) là giao thức truyền dữ liệu song công, thường được áp dụng trong các hệ thống nhúng và vi điều khiển Được phát triển bởi Motorola vào giữa những năm 1980, SPI đã trở thành tiêu chuẩn trong ngành điện tử Hiện nay, nhiều dòng vi điều khiển tích hợp sẵn các module giao tiếp SPI, cho phép truyền dữ liệu hiệu quả với các vi điều khiển khác và các thiết bị ngoại vi như cảm biến, EEPROM, và LCD.
Dưới đây liệt kê một số đặc điểm của giao thức SPI:
• SPI là một chuẩn truyền thông nối tiếp có tốc độ rất cao
• Các bit dữ liệu được truyền nối tiếp nhau và đồng bộ theo xung clock
• Giao tiếp song công, có thể truyền và nhận cùng một thời điểm
• Khoảng cách truyền gần, được sử dụng để trao đổi dữ liệu với nhau giữa các IC trên cùng một bảng mạch
• Một bus SPI thường có 4 đường tín hiệu là:
• CS (Chip Select): Đường tín hiệu chọn thiết bị tớ Đôi khi kí hiệu là SS (Slave Select)
• SCK (Serial Clock): Đường tín hiệu xung clock nối tiếp
• MOSI (Master Out Slave In): Đường tín hiệu truyền dữ liệu từ thiết bị chủ qua thiết bị tớ
• MISO (Master In Slave Out): Đường tín hiệu truyền dữ liệu từ thiết bị tớ về thiết bị chủ
GIỚI THIỆU PHẦN CỨNG
Cảm biến MQ-6 được chế tạo từ SnO2, có độ dẫn điện thấp trong không khí sạch, và sẽ giảm khi có sự hiện diện của khí dễ cháy, tương ứng với nồng độ khí tăng Người dùng có thể dễ dàng chuyển đổi sự thay đổi độ dẫn này thành tín hiệu đầu ra về nồng độ khí thông qua một mạch điện đơn giản Cảm biến MQ-6 đặc biệt hiệu quả trong việc phát hiện khí LPG (khí gas hóa lỏng) và là một giải pháp chi phí thấp cho nhiều ứng dụng khác nhau.
Hình 2.15: Cảm biến MQ-6 2.3.1.1 Sơ đồ chân và kết nối với vi điều khiển
Bảng 2.4 dưới đây trình bày chi tiết sơ đồ chân và chức năng từng chân của cảm biến MQ-6:
Bảng 2.4: Sơ đồ chân cảm biến MQ-6
Số thứ tự Tên chân Chức năng
1 A Chân cấp nguồn 5V hoặc dùng làm ngõ ra tương tự
2 B Chân cấp nguồn 5V hoặc dùng làm ngõ ra tương tự
3 H Cấp nguồn 5V để làm nóng cảm biến
Ngõ ra của cảm biến MQ-6 (A hoặc B) được kết nối với một kênh của bộ chuyển đổi tương tự sang số (ADC) của vi điều khiển, như được minh họa trong Hình 2.16 dưới đây.
Hình 2.16: Kết nối cảm biến MQ-6 với vi điều khiển 2.3.1.2 Phương pháp tính toán nồng độ khí LPG
Hình 2.17 từ datasheet của nhà sản xuất cho thấy độ nhạy của cảm biến MQ-6 đối với các loại khí khác nhau.
Hình 2.17: Đặc tính độ nhạy của cảm biến MQ-6 với từng loại chất khí
Cảm biến MQ-6 cho thấy độ nhạy cao nhất đối với khí LPG, được biểu diễn bởi đường thẳng tuyến tính màu xanh dương trong bảng đặc tính độ nhạy Đây chính là chất khí mà chúng ta cần đo đạc và tính toán Phương trình của đường thẳng tuyến tính này có dạng:
• x: Là giá trị của nồng độ khí LPG (đơn vị: ppm)
• Rs: Giá trị điện trở cảm biến khí có sự hiện diện của chất khí
• R0: Giá trị điện trở của cảm biến khi không có sự hiện diện của chất khí
• m: Là độ dốc của đường thẳng
• b: Là giao điểm trên trục y của đồ thị
Nhìn vào Hình 2.17 ta thấy đây là đồ thị dạng log-log nên lúc này phương trình trên có dạng: log(𝑦) = 𝑚 log(𝑥) + 𝑏 (2.4)
Trên đồ thị, từ đường thẳng tuyến tính màu xanh dương, chúng ta chọn ba điểm đặc biệt: điểm đầu mút trên A(200; 2), trung điểm B(5000; 0.5) và điểm đầu mút dưới C(10000; 0.4) Sau đó, chúng ta tiến hành tính toán hệ số m và hằng số b dựa trên phương trình 2.4, với giá trị log(0.4).
𝑏 = log(0.5) − 𝑚 log(500) = 1.220756189 Khi đã có m và b ta tính được nồng độ khí LPG theo đơn vị ppm như sau từ phương trình 2.4: log(𝑦) − 𝑏
Vậy bây giờ việc cần làm là xác định tỉ lệ 𝑅𝑠 Quan sát từ đồ thị ta thấy tỉ lệ
Trong không khí, hằng số 𝑅 0 có giá trị cố định là 9.9, cho phép chúng ta tính toán giá trị điện trở của cảm biến trong môi trường không khí sạch bằng một công thức cụ thể.
Để xác định điện trở của cảm biến khi có mặt khí LPG (Rs), chúng ta chỉ cần sử dụng giá trị R0 trong không khí sạch và áp dụng phương trình từ mạch điện đơn giản được cung cấp trong datasheet của nhà sản xuất.
• Rs: Là điện trở cảm biến khí có sự hiện diện của khí LPG
• Vcc: Là giá trị điện áp cung cấp (5V)
Vout là giá trị điện áp ngõ ra phản ánh nồng độ chất khí, với mối quan hệ tỷ lệ thuận: nồng độ chất khí càng cao thì giá trị điện áp ngõ ra càng lớn Công thức tính Vout được sử dụng để xác định mối liên hệ này.
▪ Vout: Là giá trị điện áp đọc được ở ngõ ra tương tự của cảm biến
▪ ADC Value: Là giá trị ADC mà vi điều khiển đọc được ứng với mức điện áp ở ngõ ra tương tự của cảm biến
▪ Vcc: Là điện áp cung cấp của vi điều khiển
▪ Step Size: Là số bước điện áp hay độ phân giải tùy thuộc vào số bit của bộ chuyển đổi tương tự sang số (ADC) của vi điều khiển
• RL: Là giá trị của điện trở tải từ 10 KΩ đến 47 KΩ
Hình 2.18 dưới đây trình bày mạch điện hướng dẫn kết nối cảm biến MQ-6 của nhà sản xuất:
Hình 2.18: Mạch điện cảm biến MQ-6 theo datasheet Đơn giản hóa từ mạch điện trong Hình 2.18 thành mạch điện như sau:
Hình 2.19: Mạch điện MQ-6 đơn giản hóa
Hai điện trở Rs và RL được mắc nối tiếp, do đó chúng ta có thể đơn giản hóa mạch thêm một lần nữa, tạo ra mạch điện như trong Hình 2.20 dưới đây.
Hình 2.20: Mạch điện cảm biến MQ-6 tối giản 2.3.2 Cảm biến MiCS-6814
Cảm biến khí MiCS-6814 nổi bật với thời gian làm nóng ngắn, độ chính xác cao và khả năng phát hiện nhiều loại khí trong một kích thước nhỏ gọn Dưới đây là một số thông số chính của cảm biến MiCS-6814.
• Điện áp cung cấp: 4.9V đến 5.1V
• Nhiệt độ môi trường làm việc: -30℃ đến 85℃
• Độ ẩm môi trường làm việc: 5% RH đến 95% RH
• Một số chất khí tiêu biểu có thể phát hiện được và phạm vi:
Hình 2.21: Cảm biến MiCS-6814 2.3.2.1 Sơ đồ chân và kết nối với vi điều khiển
Sơ đồ chân của cảm biến MiCS-6814 được trình bày chi tiết và cụ thể như trong Bảng 2.5 dưới đây:
Bảng 2.5: Sơ đồ chân cảm biến MiCS-6814
Số thứ tự Tên chân Chức năng
1 CO Chân ngõ ra tương tự của khí CO
2 NH3 Chân ngõ ra tương tự của khí NH3
3 NO2 Chân ngõ ra tương tự của khí NO2
Chân 5 +5V cung cấp điện áp cho cảm biến 5V, cho phép vi điều khiển giao tiếp và đọc giá trị điện áp từ cảm biến Để thực hiện điều này, cần kết nối các ngõ ra tương tự CO, NH3 và NO2 của cảm biến với ba kênh ngõ vào ADC của vi điều khiển.
Hình 2.22: Kết nối cảm biến MiCS-6814 với vi điều khiển 2.3.2.2 Phương pháp tính toán nồng độ khí CO và NO 2
Cảm biến MiCS-6814 được tích hợp 3 cảm biến nhỏ khác bên trong là RED,
OX và NH3, với mỗi cảm biến sẽ có độ nhạy cảm riêng biệt với một nhóm các chất khí khác nhau
Hình 2.23: Đồ thị đặc tính nhạy cảm của cảm biến RED
Hình 2.24: Đồ thị đặc tính nhạy cảm của cảm biến OX
Hình 2.25: Đồ thị đặc tính nhạy cảm của cảm biến NH3
Các đồ thị quan sát đều có dạng log-log tương tự như cảm biến MQ-6, tuy nhiên, datasheet của nhà sản xuất không cung cấp đường đặc tính nhạy cảm trong không khí, dẫn đến việc không thể áp dụng phương pháp tính toán đồ thị log-log Thay vào đó, chúng ta sẽ sử dụng phương pháp ánh xạ để tính toán tỷ lệ nồng độ khí CO và NO2 Quan sát đường thẳng tuyến tính của CO trong đồ thị Hình 2.23 cho thấy phạm vi
Giá trị 1000 ppm tương ứng với điện áp ngõ ra của cảm biến từ 0V đến 5V, nghĩa là mỗi 1 ppm khí CO tương ứng với 0.005V Đối với khí NO2, phạm vi nồng độ mà cảm biến có thể phát hiện là từ 0 ppm đến 10 ppm, tương ứng với điện áp ngõ ra từ 0V đến 5V, do đó mỗi 1 ppm NO2 tương ứng với 0.5V Nồng độ của khí CO và NO2 sẽ được tính theo hai công thức tương ứng.
CCS811 là cảm biến khí kỹ thuật số tiêu thụ điện năng thấp, tích hợp cảm biến oxit kim loại (MOX) để phát hiện các hợp chất hữu cơ dễ bay hơi (VOC) Thiết bị này được sử dụng trong giám sát chất lượng không khí trong nhà, kết hợp với bộ vi điều khiển (MCU), bộ chuyển đổi tương tự sang số (ADC) và giao tiếp I2C.
CCS811 là cảm biến chất khí tiên tiến dựa trên công nghệ đĩa hâm siêu nhỏ độc đáo của Sciosense, cung cấp giải pháp đáng tin cậy với thời gian chu kỳ nhanh và tiết kiệm điện năng hiệu quả.
GIỚI THIỆU PHẦN MỀM
2.4.1 Giới thiệu một số giải thuật sử dụng
2.4.1.1 Giải thuật bộ đệm vòng
Trong lập trình nhúng, giao thức UART yêu cầu sử dụng mảng hoặc hàng đợi để lưu trữ chuỗi dữ liệu nhận về Tuy nhiên, nhược điểm lớn của việc này là kích thước hàng đợi cố định, dẫn đến việc không thể nhận thêm dữ liệu khi hàng đợi đầy, gây ra tình trạng không toàn vẹn cho chuỗi dữ liệu Mở rộng kích thước hàng đợi tốn nhiều tài nguyên RAM và có thể gây ra lỗi bộ nhớ, làm hệ thống không ổn định Việc cấp phát bộ nhớ động cũng phức tạp và dễ phát sinh lỗi Để khắc phục, hàng đợi vòng hay bộ đệm vòng là giải pháp mở rộng, cho phép ghi dữ liệu vô hạn bằng cách liên kết phần tử cuối với phần tử đầu Cấu trúc bộ đệm vòng bao gồm con trỏ front/head chỉ tới phần tử đầu và con trỏ rear/tail chỉ tới phần tử cuối, giúp quản lý dữ liệu hiệu quả hơn.
Hình 2.39: Cấu trúc của một bộ đệm vòng 8 phần tử
Các hoạt động của một bộ đệm vòng:
• IsEmpty: Kiểm tra bộ đệm vòng rỗng hay không Nếu vị trí front bằng rear và bằng -1 thì trả về giá trị là true, ngược lại là false
Kiểm tra trạng thái của bộ đệm vòng với hàm IsFull Khi vị trí (rear + 1) chia phần dư cho kích thước bộ đệm bằng với front, bộ đệm được coi là đầy và hàm sẽ trả về giá trị true Nếu không, kết quả trả về sẽ là false.
Để thêm một phần tử vào bộ đệm vòng, bạn cần thực hiện thao tác enqueue bằng cách chèn phần tử vào vị trí rear Sau đó, vị trí rear sẽ được cập nhật bằng cách tính (rear + 1) chia phần dư cho kích thước của bộ đệm.
Dequeue là quá trình lấy giá trị từ vị trí front và xóa phần tử đó khỏi bộ đệm vòng Điều này được thực hiện bằng cách tăng vị trí front lên, sử dụng công thức (front + 1) chia cho kích thước của bộ đệm để đảm bảo tính tuần hoàn.
• Peek: Trả về dữ liệu tại vị trí front mà không cần xóa dữ liệu tại vị trí đó ra khỏi bộ đệm
• Length: Trả về độ dài hiện tại (số phần tử đang lưu trữ trong bộ đệm) của bộ đệm vòng
2.4.1.2 Giải thuật Knuth - Morris - Pratt
Khi tìm kiếm một chuỗi ký tự trong một chuỗi dài hơn, chúng ta cần áp dụng thuật toán tìm kiếm và xử lý chuỗi ký tự Phương pháp đơn giản nhất là so sánh từng ký tự của chuỗi mẫu với chuỗi cần tìm Có hai trường hợp có thể xảy ra trong quá trình này.
• Trường hợp tốt nhất: Độ phức tạp thuật toán O(n)
▪ Khi mẫu được tìm thấy ở đầu văn bản (hoặc từ rất sớm)
▪ Thuật toán sẽ thực hiện một số lượng so sánh không đổi, thường theo thứ tự so sánh O(n), trong đó n là độ dài của mẫu
• Trường hợp xấu nhất: Độ phức tạp thuật toán O(n 2 )
▪ Khi mẫu hoàn toàn không xuất hiện trong văn bản hoặc chỉ xuất hiện ở cuối
▪ Thuật toán sẽ thực hiện so sánh O((n-m+1).m), trong đó n là độ dài của chỗi tìm kiếm và m là độ dài của mẫu
Để cải thiện thời gian tìm kiếm trong văn bản, thuật toán Knuth - Morris - Pratt được sử dụng, giúp so sánh mẫu với văn bản một cách hiệu quả hơn Thuật toán này tạo bảng tìm kiếm (Look-up table) trước để tránh việc quay lại từ đầu chuỗi khi kí tự không khớp Nhờ vào bảng tìm kiếm, thuật toán có thể di chuyển mẫu tới vị trí đã khớp trước đó, giảm thiểu thời gian tìm kiếm Độ phức tạp của thuật toán trong trường hợp tốt nhất là O(m+n), trong khi trong trường hợp xấu nhất là O(m.n), với m là độ dài chuỗi tìm kiếm và n là độ dài chuỗi mẫu.
Cách lập bảng tìm kiếm từ chuỗi mẫu như sau: giả sử ta có chuỗi mẫu là
Để xây dựng bảng tìm kiếm cho chuỗi mẫu "abcdabca", ta khởi tạo một mảng có độ dài tương đương với chuỗi mẫu Phần tử đầu tiên của bảng tìm kiếm được gán giá trị 0, sau đó chỉ mục được tăng lên 1 Ta đặt j tại phần tử đầu tiên và i tại phần tử liền kề So sánh ký tự tại vị trí i và j; nếu khác nhau, gán giá trị 0 cho phần tử hiện tại trong bảng tìm kiếm, tăng chỉ mục và i lên 1 Nếu ký tự tại vị trí i giống với j, gán giá trị bằng j + 1 cho phần tử hiện tại, đồng thời tăng cả j và i lên 1 Nếu ký tự không giống nhau, giữ nguyên i và lùi j về giá trị của phần tử thứ (j-1) trong bảng tìm kiếm, tiếp tục so sánh cho đến khi bảng tìm kiếm đầy Bảng 2.12 dưới đây thể hiện kết quả của bảng tìm kiếm cho chuỗi mẫu "abcdabca" theo phương pháp đã mô tả.
Sau khi có bảng tìm kiếm, chúng ta sử dụng nó để kiểm tra xem chuỗi mẫu có xuất hiện trong chuỗi tìm kiếm hay không Đầu tiên, đặt i tại vị trí đầu tiên của chuỗi tìm kiếm và j tại vị trí đầu tiên của chuỗi mẫu So sánh ký tự tại vị trí i với ký tự tại vị trí j; nếu giống nhau, tăng cả i và j lên 1 và cập nhật chỉ mục trong bảng tìm kiếm theo j Nếu ký tự tại vị trí i khác ký tự tại vị trí j, lùi j về giá trị tại (j-1) trong bảng tìm kiếm Nếu j bằng 0 mà ký tự tại i và j không giống nhau, giữ nguyên j và tăng i lên 1, sau đó lặp lại quá trình so sánh cho đến khi i đến vị trí cuối cùng trong chuỗi tìm kiếm.
2.4.2 Giới thiệu các ngôn ngữ lập trình sử dụng
Ngôn ngữ lập trình C, được phát triển bởi Dennis Ritchie vào những năm 1970 cho hệ điều hành UNIX, đã trở thành một trong những ngôn ngữ phổ biến nhất trên nhiều hệ điều hành khác nhau Với tính hiệu quả cao, C được ưa chuộng để viết phần mềm hệ thống nhúng và cũng được sử dụng để phát triển các ứng dụng Trong đề tài khóa luận này, C là ngôn ngữ chính được sử dụng để lập trình cho vi điều khiển.
HTML (HyperText Markup Language) là ngôn ngữ đánh dấu siêu văn bản dùng để tạo và cấu trúc các thành phần trên trang web hoặc ứng dụng Nó giúp phân chia các đoạn văn bản, tiêu đề, tiêu đề phụ, và các khối trích dẫn Cần lưu ý rằng HTML không phải là một ngôn ngữ lập trình.
Tim Berners-Lee, người sáng lập HTML, cũng là người sáng lập W3C (World Wide Web Consortium) Các thiết lập và cấu trúc của HTML được phát triển và quản lý bởi W3C.
Một tài liệu HTML được tạo thành từ các phần tử HTML, được xác định bởi các cặp thẻ và thuộc tính Các cặp thẻ này được bao bọc bởi dấu ngoặc ngọn, thường bao gồm thẻ mở và thẻ đóng Ví dụ, để tạo tiêu đề, chúng ta sử dụng cặp thẻ và Cấu trúc cơ bản của HTML bao gồm 5 phần tử chính: .
, , và Cụ thể trong đó:
• : Mọi tài liệu HTML phải bắt đầu bằng khai báo
cho trình duyệt web biết được trang được biết bằng phiên bản HTML nào
Trang web sẽ được định dạng bằng HTML, và ngôn ngữ sử dụng cho nội dung của trang được xác định thông qua thuộc tính .
Thẻ trong HTML chứa nội dung không hiển thị trực tiếp cho người dùng, bao gồm từ khóa và mô tả trang cho công cụ tìm kiếm Ngoài ra, còn thường bao gồm các liên kết đến CSS, JavaScript và Meta Tags để tối ưu hóa trải nghiệm người dùng và SEO.
• : Phần tử đặt tiêu đề cho trang, tiêu đề xuất hiện đầu tiên trong tab trình duyệt
Phần tử là thành phần quan trọng trong HTML, chứa toàn bộ nội dung mà người dùng sẽ thấy khi truy cập trang web, bao gồm văn bản, hình ảnh, video, trò chơi, âm thanh và nhiều loại nội dung khác HTML mang lại nhiều ưu điểm nổi bật, giúp tối ưu hóa trải nghiệm người dùng trên trang web.
THIẾT KẾ HỆ THỐNG
YÊU CẦU NGƯỜI DÙNG
Thiết bị cần phát hiện khí gas gây cháy nổ và các chất khí độc hại như nitrogen dioxide, carbon monoxide, hợp chất hữu cơ dễ bay hơi, carbon dioxide và bụi mịn, ảnh hưởng đến sức khỏe con người Nó cũng phải đo nhiệt độ, độ ẩm không khí, áp suất khí quyển và xác định độ cao so với mực nước biển Thiết bị cho phép kết nối và điều khiển các thiết bị điện tử như quạt gió, điều hòa và máy lọc không khí Khi phát hiện khí nguy hiểm với nồng độ vượt mức cho phép, thiết bị tự động kích hoạt các thiết bị kết nối để điều chỉnh môi trường Ngoài ra, thiết bị cần gửi dữ liệu đo đạc lên internet để người dùng có thể giám sát và điều khiển từ xa.
YÊU CẦU KỸ THUẬT
Dưới đây là một số chức năng kỹ thuật của hệ thống:
• Phát hiện, đo lường và hiển thị được khí LPG theo đơn vị ppm
• Phát hiện, đo lường và hiển được khí NO2 theo đơn vị ppm
• Phát hiện, đo lường và hiển thị được khí CO theo đơn vị ppm
• Phát hiện, đo lường và hiển thị được khí VOC theo đơn vị ppb
• Phát hiện, đo lường và hiển thị được khí CO2 theo đơn bị ppm
• Phát hiện, đo lường và hiển thị được bụi mịn PM2.5 theo đơn vị ug/m 3
• Phát hiện, đo lường và hiển thị được nhiệt độ theo đơn vị Celsius
• Phát hiện, đo lường và hiển thị được độ ẩm không khí theo đơn vị %
• Phát hiện, đo lường và hiển thị được áp suất khí quyển theo đơn vị hPa
• Phát hiện, đo lường và hiển thị được độ cao so với mực nước biển theo đơn vị mét
• Relay điều khiển thiết bị phải được bật ngay khi một trong số các điều kiện sau xảy ra:
▪ Nồng độ khí LPG ≥ 50 ppm
▪ Nồng độ khí NO2 ≥ 3 ppm
▪ Nồng độ khí CO ≥ 50 ppp
▪ Nồng độ khí VOC ≥ 50 ppb
▪ Nồng độ khí CO2 ≥ 450 ppm
▪ Nồng độ bụi mịn PM2.5 ≥ 50 ug/m 3
▪ Áp suất khí quyển ≥ 1930 hPa
• Kết nối được với mạng không dây và đưa tất cả dữ liệu thiết bị thu thập được lên website để giám sát
Dưới đây là một số thông số kỹ thuật của thiết bị:
• Nguồn hoạt động: Adapter 7V đến 12V
▪ Mật độ bụi mịn PM2.5: 0 ug/m 3 - 500 ug/m 3
▪ Độ ẩm không khí: 0% RH - 100% RH
▪ Nhiệt độ không khí: -40℃ đến 125℃
▪ Áp suất khí quyển: 300 hPa - 1100 hPa
▪ Độ cao so với mực nước biển: 9000m đến -500m
• Hỗ trợ kết nối với 4 thiết bị điện tử khác
• Hỗ trợ kết nối WiFi.
THIẾT KẾ KIẾN TRÚC
3.3.1 Mô hình tổng thể của hệ thống
Hệ thống kiến trúc bao gồm thiết bị giám sát chất lượng không khí, thu thập dữ liệu tại điểm đặt và kết nối với Gateway qua mạng không dây, tạo thành một mạng cục bộ Mạng này liên kết với web server để cập nhật dữ liệu từ thiết bị lên website, đồng thời cho phép người dùng theo dõi và giám sát từ xa trên các thiết bị di động khác.
Hiện nay, có nhiều loại web server như AwardSpace, ThingSpeak, Firebase của Google, Hostinger, và 000webhost Tuy nhiên, hầu hết các dịch vụ này yêu cầu người dùng trả phí để sử dụng, hoặc nếu miễn phí, sẽ bị giới hạn về tốc độ phản hồi và khả năng tùy chỉnh.
Dựa trên tiêu chí miễn phí và tốc độ phản hồi nhanh, web server của 000webhost là lựa chọn duy nhất đáp ứng cả hai yêu cầu này Vì vậy, chúng ta quyết định chọn 000webhost làm máy chủ web server để triển khai thiết kế hệ thống.
Hình 3.1: Kiến trúc của hệ thống 3.3.2 Sơ đồ khối hệ thống
Hình 3.2 dưới đây trình bày sơ đồ khối của hệ thống:
Hình 3.2: Sơ đồ khối hệ thống
Chức năng của từng khối như sau:
• Khối cảm biến khí LPG: Phát hiện và đo nồng độ của khí gas hóa lỏng
• Khối cảm biến khí CO và NO2: Phát hiện và đo nồng độ của khí carbon monoxide và khí nitrogen dioxide
• Khối cảm biến khí CO2 và VOC: Phát hiện và đo nồng độ của khí carbon dioxide và hợp chất hữu cơ dễ bay hơi.
• Khối cảm biến bụi min PM2.5: Đo mật độ bụi mịn PM2.5 hiện diện trong không khí
• Khối cảm biến nhiệt độ và độ ẩm: Đo nhiệt độ và độ ẩm không khí
• Khối cảm biến áp suất và độ cao: Đo áp suất khí quyển và xác định độ cao so với mực nước biển
• Khối WiFi: Giúp kết nối thiết bị với internet và giao tiếp với web server
• Khối nút nhấn: Cho người dùng điều khiển các thiết bị kết nối với relay
• Khối relay: Điều khiển các thiết bị kết nối với thiết bị của chúng ta
• Khối nguồn: Chuyển đổi nguồn vào từ adapter thành điện áp 5V và điện áp 3.3V để cấp nguồn cho toàn bộ hệ thống
• Khối xử lý trung tâm: Thực hiện việc điều khiển và giao tiếp với các khối khác đồng thời xử lý dữ liệu nhận và gửi.
THIẾT KẾ CHI TIẾT
3.4.1 Khối cảm biến khí LPG
Trên thị trường hiện có nhiều loại cảm biến phát hiện khí dễ cháy khác nhau Việc tìm hiểu và phân tích các loại cảm biến này là rất cần thiết để lựa chọn được sản phẩm phù hợp nhất Bảng 3.1 dưới đây sẽ so sánh một số cảm biến khí dễ cháy để giúp người dùng đưa ra quyết định đúng đắn.
Bảng 3.1: Bảng so sánh một số cảm biến khí gas
Loại khí nhạy cảm CH4, LPG LPG LPG
Tỉ lệ Rs/R0 trong không khí
Kiểu đầu ra Analog Analog Analog
Giá thành 26.000 VNĐ 27.000 VNĐ 17.000 VNĐ
Dựa vào số liệu từ bảng so sánh, tất cả các cảm biến đều sử dụng điện áp hoạt động 5V và có kiểu ngõ ra analog Tuy nhiên, cảm biến MQ-6 nổi bật với giá thành rẻ và tỉ lệ Rs/R0 được cung cấp trong datasheet một cách chính xác, rõ ràng và dễ quan sát.
Dựa vào datasheet của nhà sản xuất đã trình bày trong chương 2, chúng tôi thiết kế mạch điện cho khối cảm biến khí LPG sử dụng cảm biến MQ-6, như thể hiện trong Hình 3.3 dưới đây.
Hình 3.3: Khối cảm biến khí LPG 3.4.2 Khối cảm biến khí CO và NO 2
Trên thị trường hiện nay, có nhiều cảm biến phát hiện khí carbon monoxide như MQ-7, MQ-9 và MiCS-6814 Trong số đó, MiCS-6814 nổi bật nhờ tích hợp cảm biến khí nitrogen dioxide, giúp đơn giản hóa thiết kế mạch Theo datasheet, để đo nồng độ carbon monoxide chính xác bằng MQ-7 hoặc MQ-9, cần một nguồn điện áp bổ sung 1.4V, ngoài nguồn chính 5V, và việc chuyển đổi giữa hai điện áp này tốn nhiều thời gian (khoảng 150 giây), gây khó khăn trong thiết kế mạch và lập trình Do đó, MiCS-6814 là lựa chọn tốt nhất, mặc dù giá thành cao, nhưng đảm bảo độ tin cậy dữ liệu và dễ dàng lấy mẫu.
Hình 3.4: Khối cảm biến MiCS-6814
3.4.3 Khối cảm biến khí CO 2 và VOC
Trên thị trường hiện nay, chỉ có hai cảm biến có khả năng phát hiện khí carbon dioxide là MQ-135 và CCS811 Trong khi cảm biến MQ-135 không nhạy cảm với khí carbon dioxide và chỉ có thể phát hiện nồng độ tối đa 200 ppm, cảm biến CCS811 lại có khả năng phát hiện khí carbon dioxide với dãy phát hiện rộng hơn và đồng thời phát hiện hợp chất hữu cơ dễ bay hơi Vì vậy, CCS811 là sự lựa chọn tốt nhất cho ứng dụng của chúng ta Hình 3.5 dưới đây trình bày thiết kế cho khối cảm biến khí carbon dioxide và hợp chất hữu cơ dễ bay hơi.
Hình 3.5: Khối cảm biến CCS811 3.4.4 Khối cảm biến mật độ bụi PM2.5
Có nhiều cảm biến bụi mịn hiện nay trên thị trường và Bảng 3.2 sau đây cung cấp một số so sánh trực quan giữa các cảm biến bụi mịn:
Bảng 3.2: Bảng so sánh các cảm biến bụi mịn
GP2Y1014AU0F PMS7003 DMS501 Điện áp hoạt động 5V hoặc 3.3V 5V 5V
Loại bụi mịn PM2.5 PM2.5 PM2.5
Ngõ ra Analog UART PWM
Giá thành 93.000 VNĐ 459.000 VNĐ 153.000 VND
Cảm biến GP2Y1014AU0F nổi bật với giá thành rẻ, ngõ ra dễ sử dụng và yêu cầu kết nối tối thiểu, giúp đơn giản hóa thiết kế phần cứng và lập trình phần mềm Độ chính xác của cảm biến này cũng rất đáng tin cậy, như được thể hiện trong thiết kế khối cảm biến bụi mịn PM2.5 trong hình 3.6 dưới đây.
Hình 3.6: Khối cảm biến GP2Y1014AU0F 3.4.5 Khối cảm biến nhiệt độ và độ ẩm
Trên thị trường hiện nay có nhiều loại cảm biến nhiệt độ và độ ẩm với các chuẩn giao tiếp đa dạng Bảng 3.3 dưới đây trình bày sự so sánh giữa một số cảm biến nhiệt độ và độ ẩm phổ biến.
Bảng 3.3: Bảng so sánh cảm biến nhiệt độ và độ ẩm
DHT11 DHT22 SHT41 Điện áp hoạt động 3.3V 3.3V 3.3V
Giao tiếp One Wire One Wire I 2 C
Giá thành 18.000 VNĐ 109.000 VNĐ 45.000 VNĐ
Cảm biến SHT41 nổi bật với giá cả hợp lý và phạm vi đo rộng, đáp ứng tốt các yêu cầu kỹ thuật Ngoài ra, việc sử dụng giao tiếp I2C giúp nâng cao độ chính xác của dữ liệu thu thập Hình 3.7 dưới đây minh họa thiết kế khối của cảm biến nhiệt độ và độ ẩm.
Hình 3.7: Khối cảm biến SHT41 3.4.6 Khối cảm biến áp suất không khí và độ cao
Cảm biến BMP180 và BMP280 đều đo áp suất không khí và xác định độ cao, với điện áp hoạt động và phạm vi đo từ 300 hPa đến 1100 hPa, tương ứng với độ cao từ 9000m đến -500m so với mực nước biển Tuy nhiên, BMP280 là phiên bản nâng cấp, cung cấp độ chính xác cao hơn và hỗ trợ giao thức SPI bên cạnh I2C, làm cho nó trở thành lựa chọn tối ưu Hình 3.8 mô tả thiết kế khối cảm biến áp suất không khí và độ cao sử dụng giao thức I2C để giao tiếp với vi điều khiển.
Hình 3.8: Khối cảm biến BMP280 3.4.7 Khối WiFi
Trên thị trường hiện nay, có nhiều IC hỗ trợ kết nối internet như ESP8266, ESP32 và ESP8285 Tuy nhiên, ESP8285 nổi bật với giá thành hợp lý, kích thước nhỏ gọn và dễ sử dụng, trở thành lựa chọn lý tưởng Việc chọn ESP8266 hoặc ESP32 có thể dẫn đến việc thừa tính năng không cần thiết, gây lãng phí, đồng thời giá thành và kích thước của chúng cũng lớn hơn so với ESP8285 Hình 3.9 dưới đây trình bày thiết kế khối WiFi kết nối internet.
Hình 3.9: Khối WiFi ESP8285 3.4.8 Khối hiển thị
Việc hiển thị dữ liệu tại chỗ là rất quan trọng, giúp nắm bắt dữ liệu thu thập từ thiết bị một cách trực quan và nhanh chóng Điều này cũng hỗ trợ quá trình phát triển thiết bị bằng cách cung cấp thông tin dữ liệu rõ ràng và dễ kiểm soát Trên thị trường hiện có nhiều loại màn hình hiển thị với giá thành và phương thức giao tiếp đa dạng Tuy nhiên, TFT LCD MAR3501 là lựa chọn tốt để đáp ứng yêu cầu hiển thị rộng và khả năng trình bày 10 thông số khác nhau với màu sắc trực quan Hình 3.10 dưới đây trình bày thiết kế khối hiển thị cho thiết bị.
Khối rơ-le và nút nhấn điều khiển là phần quan trọng để điều khiển thiết bị, bao gồm hai loại nút nhấn: nút nhấn tích cực mức thấp và nút nhấn tích cực mức cao Tương tự, có hai kiểu kích relay là mức thấp và mức cao Trong đề tài này, phương pháp thiết kế sẽ sử dụng nút nhấn tích cực mức cao để đảm bảo hiệu quả trong việc điều khiển thiết bị.
Hình 3.11: Khối nút nhấn tích cực mức cao
Relay G5NB-1A-5VDC là một lựa chọn tuyệt vời cho hệ thống, với điện áp kích 5V và dòng hoạt động tối đa 40mA Có nhiều loại relay với các mức điện áp và dòng hoạt động khác nhau, nhưng G5NB-1A-5VDC nổi bật nhờ vào tính năng và hiệu suất của nó.
Để kích hoạt relay G5NB-1A-5VDC, không thể sử dụng trực tiếp chân của vi điều khiển do dòng ra tối đa chỉ 25mA, trong khi dòng khuyến nghị để relay hoạt động là 40mA Giải pháp là sử dụng transistor để điều khiển relay với dòng vào IB nhỏ và dòng IC đủ lớn để kích hoạt relay Transistor SS8050 được chọn với dòng cực đại có thể đạt 1.5 A, đảm bảo relay hoạt động hiệu quả.
Hình 3.13: Bảng đặc tính kỹ thuật của transistor SS8050
Chúng tôi chọn dòng phân cực IB = 0.2 mA, nằm trong phạm vi dòng ra của chân vi điều khiển Từ đó, ta có thể tính toán điện trở RB cần lắp vào cực B của transistor.
THIẾT KẾ PHẦN MỀM
Dưới đây là lưu đồ giải thuật của chương trình chính:
Hình 3.21: Lưu đồ giải thuật (phần 1)
Lưu đồ giải thuật phần tiếp theo:
Hình 3.22: Lưu đồ giải thuật chương trình (phần 2) 3.5.2 Giao diện website
Website tại địa chỉ https://vvaccehcmute.000webhostapp.com được phát triển với các ngôn ngữ HTML, CSS, JavaScript và PHP, cùng với cơ sở dữ liệu sử dụng SQL trên nền tảng MySQL Giao diện của website bao gồm ba trang chính: trang giám sát, trang bảng điều khiển và trang lịch sử.
Giao diện của trang giám sát:
Hình 3.23: Giao diện trang giám sát
Giao diện của trang bảng điều khiển:
Hình 3.24: Trang bảng điều khiển
Giao diện của trang lịch sử:
Hình 3.25: Giao diện trang lịch sử
3.5.3 Giao diện ứng dụng Android
Giao diện ứng dụng Android được thiết kế đơn giản, bao gồm một trang chính với ba nút nhấn, được lập trình bằng ngôn ngữ Java Các nút này giúp người dùng dễ dàng điều hướng đến các trang giám sát, trang bảng điều khiển và trang lịch sử, như minh họa trong Hình 3.26.
Hình 3.26: Giao diện ứng dụng Android
THI CÔNG VÀ ĐÁNH GIÁ HỆ THỐNG
THI CÔNG HỆ THỐNG
Mục này sẽ tóm tắt quá trình thi công thiết bị, bao gồm các bước thi công PCB chính, PCB khối nút nhấn và PCB khối relay, cùng với hình ảnh của thiết bị sau khi hoàn thiện.
Từ sơ đồ nguyên lý đã trình bày trong chương 3, ta tiến hành thi công bo mạch in Đầu tiên là bo mạch in trung tâm:
Hình 4.1: Bo mạch in trung tâm
Mặt trước của bo mạch in trung tâm:
Hình 4.2: Mặt trước của bo mạch in trung tâm
Mặt sau của bo mạch in trung tâm:
Hình 4.3: Mặt sau bo mạch in trung tâm
Bo mạch in của khối nút nhấn:
Hình 4.4: Bo mạch in khối nút nhấn
Mặt trước bo mạch in khối nhút nhấn:
Hình 4.5: Mặt trước PCB khối nút nhấn
Hình 4.6: Mặt sau bo mạch in khối nút nhấn
Bo mạch in khối relay:
Hình 4.7: Bo mạch in khối relay
Mặt trước bo mạch in khối relay:
Hình 4.8: Mặt trước bo mạch in khối relay
Mặt sau bo mạch in khối relay:
Hình 4.9: Mặt sau bo mạch in khối relay 4.1.2 Lắp ráp và kiểm tra
Bảng 4.1 dưới đây là bảng thống kê các linh kiện sử dụng để lắp ráp và thi công thiết bị giám sát chất lượng không khí:
Bảng 4.1: Bảng thống kê linh kiện sử dụng
Số thứ tự Tên linh kiện Số lượng Chú thích
1 MiCS-6814 1 Cảm biến khí CO và NO2
2 CCS811 1 Cảm biến khí CO2 và VOC
3 MQ-6 1 Cảm biến khí LPG
4 GP2Y1014AU0F 1 Cảm biến bụi mịn PM2.5
5 SHT41 1 Cảm biến nhiệt độ và độ ẩm
6 BMP280 1 Cảm biến áp suất và độ cao
7 TFT LCD 1 Màn hình hiển thị 3.5 inch
19 Domino 4 Cổng kết nối dây điện
37 STM32F407VET6 1 Vi điều khiển 32-bit của ST
38 DC5521 1 Jack cắm nguồn DC cái
Sau khi đặt các linh kiện vào đúng vị trí và tiến hành hàn bo mạch ta thu được kết quả như sau:
Hình 4.10: Thiết bị thu được sau khi thi công
Tiến hành viết chương trình theo lưu đồ giải thuật và biên dịch chương trình rồi nạp vào thiết bị ta thu được kết quả sau:
PHẦN MỀM THIẾT KẾ PCB
KiCad là phần mềm thiết kế PCB miễn phí và đa nền tảng, nổi bật với thư viện symbol và footprint phong phú Phiên bản mới nhất, KiCad 8.0, hiện có thể tải về từ trang chủ https://kicad.org.
Hình 4.12: Trang chủ phần mềm KiCad
PHẦN MỀM LẬP TRÌNH VI ĐIỀU KHIỂN
Để lập trình cho vi điều khiển STM32 trên hệ điều hành Linux, bạn cần sử dụng bộ công cụ mã nguồn mở gồm gcc-arm-none-eabi, binutils-arm-none-eabi, libnewlib-arm-none-eabi và stlink-gui Để cài đặt môi trường lập trình trên Ubuntu 22.04, hãy mở terminal và gõ lệnh “sudo apt install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi stlink-gui” Sau khi hoàn tất cài đặt, bạn có thể kiểm tra kết quả để xác nhận.
PHẦN MỀM LẬP TRÌNH WEBSITE
Visual Studio Code (VS Code) là trình soạn thảo mã nguồn mở của Microsoft, hỗ trợ đa nền tảng như Windows, MacOS và Linux Người dùng có thể tải và cài đặt phần mềm từ trang chủ chính thức của Microsoft tại https://code.visualstudio.com.
PHẦN MỀM ANDROID STUDIO
Android Studio là phần mềm phát triển tích hợp do Google phát hành, dành cho việc tạo ra ứng dụng trên nền tảng Android Phần mềm này cung cấp nhiều công cụ và tính năng hữu ích, giúp nhà phát triển dễ dàng xây dựng và triển khai ứng dụng Android Để cài đặt Android Studio trên hệ điều hành Ubuntu 22.04, bạn có thể sử dụng lệnh “sudo apt install android-studio”.
ĐÁNH GIÁ THIẾT BỊ
4.6.1 Ưu điểm của thiết bị
• Kích thước của thiết bị nhỏ gọn
• Tích hợp nhiều cảm biến trên một thiết bị duy nhất
• Hoạt động trong thời gian dài ổn định
• Kết nối WiFi không cần nạp lại chương trình
• Hiển thị các thông số với đơn vị rõ ràng
• Cho phép người dùng kết nối thêm các thiết bị điều hòa không khí khác và điều khiển thủ công kết hợp tự động
• Hiển thị các thông số dữ liệu lên website rõ ràng
• Hỗ trợ điều khiển từ xa
4.6.2 Hạn chế của thiết bị
Tuy nhiên thiết bị tồn tại một số hạn chế như sau:
Thiết bị có thể gặp sự cố khi kết nối mạng không ổn định, và trong trường hợp không có mạng, thiết bị sẽ trở nên hoàn toàn vô dụng.
• Sau khi kết nối với một mạng mới ta phải khởi động lại hệ thống điều này gây gián đoạn việc cập nhật dữ liệu lên website
Việc sử dụng web server miễn phí dẫn đến việc giới hạn thời gian kết nối của giao thức TCP, khiến server tự động đóng kết nối sau một khoảng thời gian nhất định, gây ra gián đoạn trong quá trình truy cập.
Đôi khi, điều khiển từ xa có thể không nhạy do thời gian cập nhật cơ sở dữ liệu lâu, trong khi vi điều khiển xử lý và đáp ứng quá nhanh Điều này cũng một phần do giới hạn của nhà cung cấp dịch vụ web server đang sử dụng.
Kết quả đo đạc khí NO2 có thể không chính xác do thiếu tài liệu kỹ thuật hướng dẫn tính toán và chưa được kiểm chứng thực tế.
• Thiết bị không đo được các thông số khí quan trọng như O3 và SO2 do giá thành của các cảm biến này quá cao và khó tiếp cận
Ứng dụng giám sát và điều khiển qua điện thoại hiện còn hạn chế về tính năng và thiết kế, không thu hút người dùng và chỉ tương thích với hệ điều hành Android, thiếu hỗ trợ cho các nền tảng khác.