(Đồ Án Tốt Nghiệp) Nghiên Cứu, Thi Công Hệ Thống Phòng Cháy Và Báo Cháy Cho Nhà Phố.pdf

160 8 0
(Đồ Án Tốt Nghiệp) Nghiên Cứu, Thi Công Hệ Thống Phòng Cháy Và Báo Cháy Cho Nhà Phố.pdf

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Untitled BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP Y SINH ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI Tp Hồ Chí Minh – 09/2020 NGÀNH CÔNG NGHỆ KỸ[.]

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: NGHIÊN CỨU, THI CƠNG HỆ THỐNG PHỊNG CHÁY VÀ BÁO CHÁY CHO NHÀ PHỐ GVHD: GVC.ThS.Trương Ngọc Anh SVTH 1: Trần Thanh Hoài MSSV: 14141107 SVTH 2: Nguyễn Tuấn Hiệp MSSV: 13141090 Tp Hồ Chí Minh – 09/2020 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: NGHIÊN CỨU, THI CƠNG HỆ THỐNG PHỊNG CHÁY VÀ BÁO CHÁY CHO NHÀ PHỐ GVHD: GVC.ThS.Trương Ngọc Anh SVTH 1: Trần Thanh Hoài MSSV: 14141107 SVTH 2: Nguyễn Tuấn Hiệp MSSV: 13141090 Tp Hồ Chí Minh – 09/2020 LỜI CAM ĐOAN Đề tài chúng em tự thực dựa vào tham khảo số tài liệu cơng trình nghiên cứu, khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Nguyễn Tuấn Hiệp Trần Thanh Hồi vi LỜI CẢM ƠN Trong suốt q trình thực đồ án tốt nghiệp, chúng em gặp nhiều khó khăn kiến thức hướng xác đề tài Nhờ có hướng dẫn tận tình Thầy Trương Ngọc Anh Thầy môn Điện Tử Công Nghiệp – Y Sinh, chúng em hồn thành đề tài tốt nghiệp “Nghiên cứu, thi cơng hệ thống phịng cháy báo cháy cho nhà phố” Vì thế, lời báo cáo đồ án tốt nghiệp này, chúng em muốn dành lời cảm ơn chân thành sâu sắc đến Thầy Trương Ngọc Anh Thầy môn Điện Tử Công Nghiệp – Y Sinh Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Mặc dù cố gắng nhiều để thực đề tài với vốn kiến thức hạn hẹp, chúng em tránh khỏi thiếu sót Chúng em mong nhận dạy, góp ý quý báu quý Thầy để chúng em hồn thiện đề tài nói riêng đường nghiệp sau nói chung Nhóm chúng em xin chân thành cảm ơn ! Người thực đề tài Nguyễn Tuấn Hiệp Trần Thanh Hoài vii LIỆT KÊ HÌNH ẢNH Hình 2.1 Hệ thống báo cháy đầy đủ Hình 2.2 Module cảm biến khí gas MQ-02 Hình 2.3 Cấu trúc địa thiết bị tớ theo chuẩn One – Wire Hình 2.4 Mơ tả hoạt động chuẩn One – Wire Hình 2.5 Sơ đồ chân module DHT11 Hình 2.6 Cách thức hoạt động Hình 2.7 Bit Hình 2.8 Bit Hình 2.9 Thời gian tồn bit Hình 2.10 Hình ảnh thực tế LCD 20x4 Hình 2.11 Bảng mã kí tự Hình 2.12 Bus I2C thiết bị ngoại vi Hình 2.13 Kết nối thiết bị vào bus I2C ở chế độ chuẩn chế độ nhanh Hình 2.14 Hướng xung Clock hướng đường liệu Hình 2.15 Trình tự truyền bit Hình 2.16 Start bit Stop bit Hình 2.17 Module chuyển đổi I2C cho LCD 20x4 Hình 2.18 Hệ thống truyền liệu bất đồng Hình 2.19 Khung truyền liệu chuẩn giao tiếp UART Hình 2.20 Kiểm tra liệu truyền Hình 2.21 Cách thức hoạt động truyền Hình 2.22 Kết thúc liệu truyền Hình 2.23 Các kiểu kết thúc liệu Hình 2.24 Module PZEM - 004T Hình 2.25 Sơ đồ nối dây PZEM 004T Hình 2.26 Module SIM 800A mini Hình 2.27 Module SIM 800l Hình 2.28 Module SIM 900A Hình 2.29 Giao tiếp UART module SIM vi Arduino Hình 2.30 Giao tiếp UART Module SIM900A Arduino Mega2560 viii Hình 2.31 Module SIM 900A sử dụng Hình 2.32 Module hạ áp LM2596 Hình 2.33 Sơ đồ nguyên lý module LM2596 Hình 2.34 Arduino Mega 2560 Hình 2.35 Sơ đồ chân Arduino Mega 2560 Hình 2.36 Hình ảnh thực tế sơ đồ chân module NodeMCU ESP8266 Hình 2.37 Kit phát triển Arduino MEGA + WiFi R3 ATmega2560 + ESP8266 Hình 2.38 Sơ đồ chuyển USB UART CH340G Hình 2.39 Dip Switch Hình 2.40 Lựa chọn kết nối TX0 TX3 Hình 2.41 Sơ đồ chân Esp8266 Hình 2.42 Phiên phát triển Arduino 2560 với Esp8266 Hình 2.43 Mode chuyển đổi để nạp code cho ESP8266 Hình 3.1 Sơ đồ khối tồn mạch Hình 3.2 Sơ đồ chân Node MCU8266 Hình 3.3 Sơ đồ chân Arduino Mega2560 Hình 3.4 Sơ đồ kết nối Pzem-004T với Mega2560 Hình 3.5 Module Relay kênh Hình 3.6 Sơ đồ kết nối module Relay kênh với Mega2560 Hình 3.7 Sơ đồ kết nối ngõ Relay với thiết bị Hình 3.8 Sơ đồ kết nối LCD 20x4 với Mega2560 Hình 3.9 Kết nối cảm biến khí Gas với Arduino Mega2560 Hình 3.10 Kết nối module Sim900A với Arduino Mega2560 Hình 3.11 Sơ đồ nguyên lý tồn mạch Hình 4.1 Sơ đồ mạch in Hình 4.2 Bố trí linh kiện mặt trước board Hình 4.3 Mặt sau board Hình 4.4 Hộp đựng board module giao tiếp Hình 4.5 Hình ảnh mơ hình nhìn từ bên ngồi hộp Hình 4.6 Hình ảnh mơ hình bên hộp Hình 4.7 Lưu đồ chương trình Arduino Mega2560 Hình 4.8 Lưu đồ giải thuật Node MCU 8266 ix Hình 4.9 Lưu đồ chương trình đọc cảm biến PZEM Hình 4.10 Lưu đồ chương trình gửi gọi qua Sim Hình 4.11 Cửa sổ làm việc Arduino IDE Hình 4.12 Các thành phần Nodejs Hình 4.13 Cửa số Library Manager Hình 4.14 Project setting Firebase Hình 4.15 Database secrets Firebase Hình 4.16 Code Database secrets Hình 4.17 Realtime Database Firebase Hình 4.19 Các thành phần Nodejs Hình 4.20 Giao diện phần mềm Bitvise SSH Client Hình 4.21 Giao diện viết lệnh Terminal Hình 4.22 Cấu trúc website Hình 4.23 Cấu trúc HTML Hình 4.24 Chương trình định nghĩa nút nhấn, trạng thái thiết bị HTML Hình 4.25 Chương trình định dạng nút nhấn trạng thái thiết bị Hình 4.26 Chương trình khai báo kết nối Firebase Hình 4.27 Chương trình lắng nghe thay đổi Realtime Database Hình 4.28 Chương trình xử lý nút nhấn website Hình 4.29 Chương trình cập nhật giá trị nút nhấn website Hình 5.1 Hình giao diện đăng nhập địa web Hình 5.2 Cơng suất trạng thái thiết bị Hình 5.3 Hiển thị trạng thái bàn nút nhấn điều khiển ON/OFF thiết bị Hình 5.4 Điều khiển tắt thiết bị 2,3 4, bật thiết bị Hình 5.5 Thiết bị tắt, thiết bị 2,3 bật Hình 5.6 Hiển thị độ ẩm, nhiệt độ, tổng cơng suất thiết bị Hình 5.7 Tin nhắn cảnh báo có thiết bị hoạt động x LIỆT KÊ BẢNG Bảng 2.1 Chức chân LCD Bảng 2.2 Chức chân RS R/W Bảng 2.3 Tập lệnh LCD Bảng 2.4 Bảng thông số cấu hình Dip Switch Bảng 2.5 So sánh thơng số kỹ thuật Arduino Bảng 3.1 Bảng kết nối I2C LCD 20x4 với Mega2560 Bảng 3.2 Bảng tổng dòng điện cung cấp cho mạch xi MỤC LỤC Trang bìa ……………………………………………………………………………….i Nhiệm vụ đồ án ………………………………………………………………………… ii Lịch trình …………………………………………………………………………… iv Cam đoan …………………………………………………………………………… vi Lời cảm ơn ………………………………………………………………………… vii Liệt kê hình ảnh …………………………………………………………………… viii Liệt kê bảng vẽ…………………………………………………………………………………… xii Mục lục …………………………………………………………………………………………….xiii Tóm tắt ……………………………………………………………………………… xv CHƯƠNG 1: TỔNG QUAN………………………………………………………… 1.1.ĐẶT VẤN ĐỀ 1.2.MỤC TIÊU 1.3.NỘI DUNG NGHIÊN CỨU 1.4.GIỚI HẠN CỦA ĐỀ TÀI CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ………………………………………………… 2.1 HỆ THỐNG BÁO CHÁY THỰC TẾ 2.1.1 Giới thiệu hệ thống báo cháy tự động 2.2.2 Giới thiệu loại khí gas công nghiệp 2.2 GIỚI THIỆU MODULE CẢM BIẾN KHÍ GAS MQ-02 2.3 TỔNG QUAN VỀ MODULE CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11 2.3.1 Giới thiệu giao tiếp One – Wire 2.3.2 Giới thiệu cảm biến độ ẩm nhiệt độ 2.4 TỔNG QUAN VỀ MÀN HÌNH LCD 20X4 13 2.4.1 Giới thiệu sơ lược LCD 13 2.4.2 Tập lệnh LCD 17 2.5 MODULE CHUYỂN ĐỔI I2C 20 2.5.1 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP I2C 20 2.5.2 Module chuyển đổi I2C cho LCD 24 2.6 CHUẨN GIAO TIẾP UART .25 2.7 MODULE ĐO ĐIỆN NĂNG PZEM – 004T .29 2.8 MODULE SIM 900A 31 2.8.1 Các loại module sim thị trường .31 2.8.2 Giao tiếp UART với vi điều khiển 32 2.8.3 Tập lệnh AT 33 Các lệnh gọi điện: 34 Các lệnh nhắn tin: 34 xii 2.8.4 Giới thiệu module Sim 900A 35 2.9 MODULE HẠ ÁP LM2596 36 2.10 GIỚI THIỆU KIT ARDUINO MEGA WIFI R3 ATMEGA2560 + ESP8266 37 2.10.1 Tổng quan module Arduino Mega 2560 37 2.10.2 Giới thiệu ESP8266 42 2.10.3 Kit phát triển Arduino MEGA WiFi R3 ATmega2560 + ESP8266 44 CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ………………………………………………53 3.1 GIỚI THIỆU 50 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 50 3.2.1 Thiết kế sơ đồ khối hệ thống 50 3.2.2 Tính tốn thiết kế mạch 51 3.2.3 Sơ đồ nguyên lý toàn mạch 60 CHƯƠNG 4: THI CÔNG HỆ THỐNG …………………………………………… 64 4.1 GIỚI THIỆU 61 4.2 THI CÔNG HỆ THỐNG 61 4.2.1 Thi công bo mạch 61 4.2.2 Lắp ráp kiểm tra Error! Bookmark not defined 4.3 ĐÓNG GĨI VÀ THI CƠNG MƠ HÌNH 64 4.3.1 Đóng gói điều khiển .64 4.3.2 Thi cơng mơ hình 65 4.4 LẬP TRÌNH HỆ THỐNG 66 4.4.1 Lưu đồ giải thuật 66 4.4.2 Giới thiệu phần mềm lập trình cho vi điều khiển 70 CHƯƠNG 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ ……………………………89 5.1 KẾT QUẢ 86 5.1.1 GIAO DIỆN WEB 87 5.1.2 Phần cứng Sim 89 5.2 NHẬN XÉT – ĐÁNH GIÁ 91 5.2.1 Nhận xét 91 5.2.3 Đánh giá 92 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN …………………………….96 6.1 KẾT LUẬN 93 6.2 HƯỚNG PHÁT TRIỂN 93 TÀI LIỆU THAM KHẢO .94 PHỤ LỤC 95 xiii } sidebar logo{ position: absolute; bottom: 30px; left: calc(50% - 100px); } sidebar logo img{ width: 150px; } /* ================================== main ===================================== */ main{ border: 10px solid #303d43; } main chart{ width: 100%; height: 500px; } main status-data{ width: 100%; border-top: 10px solid #303d43; border-bottom: 10px solid #303d43 ; display: table; 135 } status-data right,.status-data middle,.status-data left{ display: table-cell; vertical-align: top; padding: 10px; } status-data left{ width: 38%; border-right: 10px solid #303d43; } status-data middle{ width: 38%; border-right: 10px solid #303d43; } status-data left left btn{ text-align: right; } status-data right{ width: 24%; } #chart_canvas { display: block; 136 width: 100%; height: 480px; top: 50%; left: 50%; margin-top: 20px; } /* ================================== BASE ===================================== */ input{ width: 100%; } input[type=text] { width: 100%; padding: 7px 7px; margin: 8px 0; box-sizing: border-box; font-size: 86px; text-align: right; background-color: #190B07; 137 color: white; border: none; font-family: 'Roboto Condensed', sans-serif; } img{ width: 100%; max-width: 100%; } a{ outline: none; transition:0.3s; } a:link, a:visited, a:active { text-decoration: none; } p{ margin: 0; padding: 0; } ol, ul { 138 list-style: none; margin: 0; padding: 0; } html { } body { overflow-x: hidden; width: 100%; margin: 0; padding: 0; line-height: 1.6; letter-spacing: 0; height: 100%; word-break: break-word; font-family: 'Roboto Condensed', sans-serif; 139 color: #f0faff; } body *{ box-sizing: border-box; } wrap{ width: 100%; max-width: 100%; margin: auto; font-size: 0; line-height: 1.6; letter-spacing: 0; background: #273238; display: table; } @media (max-width: 767px){ pc{ display: none !important; } } @media (min-width: 768px){ sp{ display: none !important; } 140 a:hover,button:hover{ opacity: 0.7; cursor: pointer; } } Code JS khởi tạo Firebase thông số công suất thiết bị const express = require("express"); const bodyParser = require("body-parser") const Firebase = require("Firebase") // const admin = require("Firebase-admin"); // Init Firebase Firebase.initializeApp({ serviceAccount: "./fir-nodejs-master-dep-Firebase-adminsdk-zldzq- bab6f48bf9.json", databaseURL: "https://fir-nodejs-master-dep.Firebaseio.com" }); // var admin = require("Firebase-admin"); // var serviceAccount = require("./fir-nodejs-master-dep-Firebase-adminsdkzldzq-bab6f48bf9.json"); 141 // admin.initializeApp({ // credential: admin.credential.cert(serviceAccount), // databaseURL: "https://fir-nodejs-master-dep.Firebaseio.com" // }); const NUMBER_OF_SAMPLE_CHART = 30; var power_records = []; var power1_records = []; var power2_records = []; var power3_records = []; var timestamps = []; //Init web-app var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(express.static("public")); app.set("view engine", 'ejs'); app.set("views", "./views"); 142 app.engine("html", require("ejs").renderFile); function databaseListener() { Firebase.database().ref("/Power1").on("value", (snapshot) => { console.log(`power1 ${snapshot.val()}`); io.emit("respond-env-info", { "device" : 1, "value": snapshot.val() }); }); Firebase.database().ref("/Power2").on("value", (snapshot) => { console.log(`power2 ${snapshot.val()}`); io.emit("respond-env-info", { "device" : 2, "value": snapshot.val() }); }); Firebase.database().ref("/Power3").on("value", (snapshot) => { console.log(`power3 ${snapshot.val()}`); io.emit("respond-env-info", { "device" : 3, 143 "value": snapshot.val() }); }); Firebase.database().ref("/Power4").on("value", (snapshot) => { console.log(`power4 ${snapshot.val()}`); io.emit("respond-env-info", { "device" : 4, "value": snapshot.val() }); }); Firebase.database().ref("/DEV1").on("value", (snapshot) => { console.log(`Dev1 ${snapshot.val()}`); io.emit("response-pin-info", { "device" : 1, "value": snapshot.val() }); }); Firebase.database().ref("/DEV2").on("value", (snapshot) => { console.log(`Dev2 ${snapshot.val()}`); io.emit("response-pin-info", { "device" : 2, 144 "value": snapshot.val() }); }); Firebase.database().ref("/DEV3").on("value", (snapshot) => { console.log(`Dev3 ${snapshot.val()}`); io.emit("response-pin-info", { "device" : 3, "value": snapshot.val() }); }); } app.get("/", (req, res) => { res.render("index.html"); }) var server = require("http").Server(app); var io = require("socket.io")(server); server.listen(3000); io.on("connection", (socket) => { 145 io.on("disconnect", () => {}); socket.on("pin-control", (data) => { var ref = Firebase.database().ref(`${data.pin}`); ref.set(data.state); }); }); setInterval(() => { var time = new Date().toLocaleString("en-US", { timeZone: "Asia/Ho_Chi_Minh" }); Firebase.database().ref("Power1").once("value").then((snapshot)=> { power_records.push(snapshot.val()); if (power_records.length > NUMBER_OF_SAMPLE_CHART) power_records.shift(); }); Firebase.database().ref("Power2").once("value").then((snapshot)=> { power1_records.push(snapshot.val()); 146 if (power1_records.length > NUMBER_OF_SAMPLE_CHART) power1_records.shift(); }); Firebase.database().ref("Power3").once("value").then((snapshot)=> { power2_records.push(snapshot.val()); if (power2_records.length > NUMBER_OF_SAMPLE_CHART) power2_records.shift(); }); Firebase.database().ref("Power4").once("value").then((snapshot)=> { power3_records.push(snapshot.val()); if (power3_records.length > NUMBER_OF_SAMPLE_CHART) power3_records.shift(); }); time = new Date(time); timestamps.push(time.toLocaleTimeString()); if (timestamps.length > NUMBER_OF_SAMPLE_CHART) timestamps.shift(); io.emit("data-for-chart", { "power1": power_records, "power2": power1_records, 147 "power3": power2_records, "power4": power3_records, "time": timestamps }); }, 3000); databaseListener(); 148 S K L 0

Ngày đăng: 15/11/2023, 00:17

Tài liệu cùng người dùng

Tài liệu liên quan