Đồ án Điện tử - Nghiên cứu và thiết kế thiết bị cảnh báo khí gas và phòng chống cháy nổ

+ Sản phẩm chạy ổn định. + Thông số chính xác. + Điều khiển bật tắt được các thiết bị tự động khi có sự cố + Là hệ thống thử nghiệm chưa áp dụng được áp dụng thực tế trong khoảng thời gian nào đo nên chưa thể đánh giá hết được hiệu suất và hiệu quả của thiết bị .

docx31 trang | Chia sẻ: tueminh09 | Ngày: 27/01/2022 | Lượt xem: 537 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Điện tử - Nghiên cứu và thiết kế thiết bị cảnh báo khí gas và phòng chống cháy nổ, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN ĐIỆN TỬ NGHIÊN CỨU VÀ THIẾT KẾ THIẾT BỊ CẢNH BÁO KHÍ GAS & PHÒNG CHỐNG CHÁY NỔ Người hướng dẫn: Ths. Đinh Văn Tuấn Người thực hiện: Nhóm 8 – Lớp D10-DTVT1 Các thành viên : 1 . Hoàng Đức Thanh 2 . Nguyễn Thế Mạnh 3 . Nguyễn Thanh Nhật Hà Nội, tháng 12 năm 2017 LỜI MỞ ĐẦU Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụng các thiết bị điện tử vào đời sống cũng ngày càng phổ biến hơn, nhất là với thời đại mà các hệ thống nhúng đang lên ngôi. Từ những ứng dụng đơn như đồng hồ kĩ thuật số, máy nghe nhạcđến những ứng dụng cho xã hội như đèn giao thông, bộ kiểm soát trong nhà máy, cửa tự độngcho đến những ứng dụng mang tính quy mô, tầm cỡ như robot, phi thuyền không người lái, kiểm soát nhà máy hạt nhân. Với những kiến thức đã được học và tìm hiểu từ trường học và khoa học công nghệ của cuộc sống hiện đại, em cũng có mong muốn góp thêm phần nào sự phát triển xã hội bằng cách học hỏi và đưa ra những sản phẩm có ích cho cuộc sống. Em xin giới thiệu một sản phẩm rất thiết thực cho cuộc sống của chúng ta: “ Thiết bị cảm biến khí gas và phòng chống cháy nổ ”. Với ý tưởng trên em mong muốn được góp phần bảo vệ cho những gia đình, tập thể hay công ty có sử dụng khí Gas được an toàn hơn. Mạch phát hiện sự rò rỉ khí Gas sẽ cảnh báo cho chúng ta biết được có khí gas bị rò rỉ ra khỏi bình chứa hoặc ống dẫn để tránh được những tai nạn đánh tiếc xảy ra. LỜI CẢM ƠN Trong thời gian thực hiện Đồ án điện tử 1 . chúng e đã tìm hiểu bổ xung và học hỏi được nhiều kiến thức và kinh nghiệm về việc thiết kế thực hiện và thi công thiết bị “ Cảnh báo khi gas và phòng chống cháy nổ “ . Do điều kiện về thời gian và kiến thức còn hạn chế nên đề tài của chúng em chỉ dừng lại ở mức nghiên cứu, thiết kế và mô phỏng bằng mô hình. Trong thời gian thực hiện đồ án, chúng em đã tham khảo ý kiến của giảng viên hướng dẫn, tìm hiểu tài liệu và sự hỗ trợ góp ý từ giảng viên cũng như bạn bè và các anh chị đi trước. Tuy nhiên do kiến thức còn hạn chế nên không thể tránh khỏi sai sót, chúng em rất mong nhận được sự góp ý của quý thầy cô và các bạn để đồ án của chúng em được hoàn thiện hơn, và tạo lập cho chúng em có một cơ sở nhìn nhận về khả năng, kiến thức, từ đó có hướng phấn tốt hơn cho các đồ án tiếp theo. Chúng em xin chân thành cảm ơn các thầy cô trong khoa Điện Tử Viễn Thông Trường Đại Học Điện Lực đã dạy bảo, truyền đạt kiến thức cho chúng em trong suốt quá trình học tập, các thầy cô đã giúp đỡ và tạo điều kiện cho chúng em trong quá trình thực hiện Đồ án điện tử. Đặc biệt , chúng em xin gửi lời chân thành cảm ơn đến thầy giáo Ths. Đinh Văn Tuấn – Giảng viên trường Đại học Điện Lực đã trực tiếp hỗ trợ, tận tình hướng dẫn, giúp đỡ và bổ sung kiến thức cho chúng em trong quá trình thực hiện và hoàn thiện đồ án này. Trong quá trình thực hiện đồ án không tránh khỏi sai sót, rất mong nhận được sự góp ý của thầy cô và các bạn . Một lần nữa chúng em xin chân thành cảm ơn các thầy cô và các bạn ! NHẬN XÉT (Của giảng viên hướng dẫn) .... Hà Nội, ngày tháng năm 2018 Giảng viên hướng dẫn (ký, ghi rõ họ tên) PHÂN CÔNG NHIỆM VỤ STT Mã SV Họ đệm Tên Lớp Chức vụ Nhiệm vụ 1 1581510139 Hoàng Đức Thanh D10-ĐTVT1 Nhóm trưởng Xây dựng sơ đồ khối chức năng Thiết kế mạch sản phẩm, lập trình. . 2 1581510130 Nguyễn Thanh Nhật D10-ĐTVT1 Thành viên Lựa chọn module linh kiện Làm vỏ hộp, viết báo cáo 3 1581510125 Nguyễn Thế Mạnh D10-ĐTVT1 Thành viên Vẽ mạch test,lập trình, gia công mạch . lắp giáp thiết bị . MỤC LỤC LỜI MỞ ĐẦU 1 LỜI CẢM ƠN 2 NHẬN XÉT 3 MỤC LỤC 4 BẢNG PHÂN CÔNG CÔNG VIỆC.......................................................................5 DANH MỤC HÌNH ẢNH ..6 DANH MỤC VIẾT TẮT 7 CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI 8 1.1. LÝ DO LỰA CHỌN ĐỀ TÀI 8 1.2. GIỚI THIỆU VỀ ĐỀ TÀI 8 1.3.MỤC TIÊU ĐỒ ÁN 9 CHƯƠNG II: THIẾT KẾ ĐỀ TÀI 10 2.1. CHỨC NĂNG BỘ THIẾT BỊ 10 2.2. THIẾT KẾ PHẦN CỨNG 10 2.2.1. SƠ ĐỒ KHỐI CHỨC NĂNG 10 2.2.2. GIỚI THIỆU VỀ Board Arduino mega 2560 11 2.2.3. LỰA CHỌN LINH KIỆN & MODULE 15 2.2.4. THIẾT KẾ MẠCH NGUYÊN LÝ 21 2.2.5. THIẾT KẾ MẠCH IN 22 2.2.6. THIẾT KẾ VỎ HỘP 23 2.3 THIẾT KẾ PHẦN MỀM 24 2.3.1VIẾT MÃ NGUỒN 24 2.4. KẾT QUẢ VÀ ĐÁNH GIÁ 28 2.4.1 KẾT QUẢ ĐẠT ĐƯỢC 28 2.4.2 ĐÁNH GIÁ SẢN PHẨM 30 TÀI LIỆU THAM KHẢO 30 DANH MỤC HÌNH ẢNH Hình 2.1: Sơ đồ khối chức năng bộ thiết bị 9 Hình 2.2.2.1 Board Arduino mega2560 14 Hình 2.2.3.1 Module cảm biến khí gas 15 Hình 2.2.3.2 Module cảm biến nhiệt độ 17 Hình 2.2.3.3 Module relay 2 kênh 18 Hình 2.2.3.4 Màn hình LCD 16*2 19 Hình 2.2.3.5 Module I2C 21 Hình 2.2.4.1 Khối nút bấm điều khiển 21 Hình 2.2.4.2 . Khối còi báo 22 Hình 2.2.4.3 . Khối cung cấp nguồn cho các module 22 Hình2.2.5.1 . Măt trước và sau của mạch in 23 Hình 2.2.6.1 Hộp sản phẩm 23 Hình 2.4.1.1 .Thiết bị được lắp ráp hoàn chỉnh 29 Hình 2.4.1.2 . Demo sản phẩm 29 DANH MỤC TỪ VIẾT TẮT AC Alternating Current Dòng điện xoay chiều AVR Automatic Voltage Regulator Tự động điều chỉnh điện áp DC Direct Current Dòng điện một chiều IC Integrated Circuit Vi mạch GND Ground Đất LCD Liquid Crystal Display LED Light Emitting Diode Diode phát quang VĐK Vi điều khiển IDE Integrated Development Môi trường phát triển tích hợp Environment SRAM Static Random Memory Bộ nhớ ngẫu nhiên tĩnh EEPROM Electrically Erasable Bộ nhớ chỉ đọc có Programmable Read-Only thể lập trình, xóa Memory bằng tín hiệu điện IDE Integrated Development Môi trường phát triển Environment hợp nhất SPI Serial Peripheral Interface Chuẩn giao tiếp ngoại vi nối tiếp CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU . Lý do lựa chọn đề tài Ngày nay với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được ứng dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu : chăm sóc sức khỏe, bảo vệ tính mạng và tài sản cho con người. Khi đời sống con người được cải thiện thì việc sử dụng bếp gas hay các sản phẩn của gas làm nhiên liệu đun nấu đang phổ biến. Bên cạnh việc tiện lợi của gas, một vấn đề khác của gas cũng được quan tâm đó là : an toàn khi sử dụng gas. Khi con người tiếp xúc trực tiếp với khí gas (vượt quá một nộng độ cho phép nhất định) trong thời gian dài thì rất dễ bị ngộ độc gas và có thể gây tử vong. Không những vậy khí gas rò rỉ vào trong không khí có thể dễ dàng bắt lửa và gây cháy nổ, ảnh hưởng nghiêm trọng tới an toàn của người sử dụng cũng như những người xung quanh. Vì vậy, vấn đề phát hiện và xử lý sự cố rò gas là một việc rất cần thiết với người thường xuyên sử dụng gas. Đặc biệt là các bạn sinh viên thường sử dụng cácbình gas mini không đảm bảo chất lượng, có thể rò rỉ gas bất cứ khi nào. Xuất phát từ ý tưởng và tình hình thực tế em thấy đây là một đề tài hay, có tính ứng dụng cao và có thể phát triển nên em đã chọn đề tài nàylàm đề tài chính trong đồ án môn học. Để khắc phục sự cố của khí gas khi sử dụng chúng em đã làm ra thiết bị cảnh báo rò rỉ khí gas, thiết bị này giúp chúng ta dễ dàng nhận biết khí gas khi bị rò rỉ, được sử dụng trong các tòa nhà và hộ gia đình. . Giớ thiệu về đề tài . Như thầy cô và mọi người đã biết trong cuộc sống xã hội hiện đại ngày nay vấn đề sử dụng khí đốt ( ở đây chúng ta đang nói đến là khí Gas ) trong việc lấu ăn hàng ngày và hay cả sử dụng khí đốt cho các ngành công nghiệp đang rất phổ biết . Như ngày xưa khoảng 15 năm về trước thì chỉ có thành phố mới sử dụng khí đốt cho nấu ăn hay nhưng cho nhưng ngành công nghiệp . còn nông thôn thường sử dụng bếp rạ và củi cho việc đun lấu thì nay gần như từ quê lên phố thì 99% sử dụng khí đốt cho bếp lúc đun lấu . nên khi khí gas bị rò rỉ ra ngoài khả năng cháy nổ là rất cao vì chỉ cần có tia nửa điện từ các ổ cắm hay thiết bị điện hay một đoạn dây bị hở sỉnh ra tia lửa điện là khả năng hỏa hoạn cho ngồi nhà là rất cao ảnh hưởng đến tài sản và tính mạng con người . vì thế Đề tài nghiên cứu của chúng em nhằm phần nào đó việc phát hiện hiện khí gas và ngăn chặn hỏa hoạn cho cho người và tài sản . Với nội dung chính của đề đó là khi phát hiện có khí gas thiết bị sẽ bật còi báo cho người trong nhà biết được khí gas đang bị rò rỉ đểkhắc phục và bật quạt thông gió thông qua việc đóng ngắt relay khi phát hiện có khi gas . khi trong phòng có cháy thường thì nhiệt độ không khí trong phòng tăng rất nhanh và độ ẩm giảm xuống ngưỡng cho phép được setup trước thì thiết bị sẽ bật máy bơm nước làm phun quang phòng để hạn nhiệt độ phòng và chữa cháy . . Mục tiêu đồ án . . Mục tiêu đồ án chúng em đặt ra sau khi hoàn thành xong là: Mục tiêu cá nhân: Nắm bắt được cấu trúc phần cứng, sơ đồ khối, nguyên lý làm việc của mạch điều khiển. Tìm hiểu về lập trình Arduino Biết cách làm một đồ án hoàn chỉnh phục vụ cho việc làm đồ án tốt nghiệp về sau. Mục tiêu sản phẩm: Sản phẩm hoạt động ổn định với đầy đủ các chức năng cần thiết cho việc “ cảnh báo khí gas và phòng chống cháy nổ “ . Sản phẩm nhỏ, gọn, mang tính thẩm mỹ cao. Giá thành sản phẩm phù hợp với người tiêu dùng hiện nay. CHƯƠNG 2: THIẾT KẾ ĐỀ TÀI 2.1. CHỨC NĂNG THIẾT BỊ Sau khi hoàn thiện bộ thiết bị cảnh báo khí ga và phòng chống cháy nổ sẽ có các chức năng sau : Thực hiện chức năng cảnh báo khi phát hiện có khí gas và bật quạt thông gió hút khí gas ra khỏi phòng . Khi nhiệt độ phòng lớn hơn nhiệt độ setup ( vì nhiệt độ phòng thường không quá 45°C ) thì đóng Relay2 bật máy bơm phun nước để hạ nhiệt độ trong phòng và dập lửa . 2.2. THIẾT KẾ PHẦN CỨNG 2.2.1. Sơ đồ khối chức năng Hình 2.2.1. Sơ đồ khối chức của thiết bị 2.2.2. Giới thiệu về board Arduino mega2560 . Giới thiệu về Arduino Arduino là một board mạch vi xử lý được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau . a . Phần cứng của Arduino Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield. Vài shield truyền thông với board Arduino trực tiếp thông qua các chân khác nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560. Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị. Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình. -Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232. Vài biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác. (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.) - Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O số. Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm). Nhiều shield ứng dụng plug-in cũng được thương mại hóa. Các board Arduino Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để cắm vào các breadboard. -Có nhiều biến thể như Arduino-compatible và Arduino-derived. Một vài trong số đó có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại. Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp' và các robot nhỏ. Những board khác thường tương đương về điện nhưng có thay đổi về hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không. Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau. b . Phần mềm của Arduino Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng cross-platform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý (Processing programming language) và project Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi là một sketch . -Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vòng thực thi (cyclic executive) có thể chạy được: VD : setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch -Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm cho một bóng đèn Led sáng/tắt. Trong môi trường Arduino, ta sẽ phải viết một chương trình giống như sau: #define LED_PIN 13 void setup () { pinMode (LED_PIN, OUTPUT); // Đặt chân 13 làm đầu ra digital } void loop () { digitalWrite (LED_PIN, HIGH); // Bật LED on delay (1000); // chờ trong 1 giây (1000 mili giây) digitalWrite (LED_PIN, LOW); // Tắt LED off delay (1000); // chờ trong 1s } - Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED và điện trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng dụng đơn giản. Đoạn code ở trên không thể đọc được bởi một compiler C++ chuẩn như là một chương trình đúng, vì vậy khi ta click vào nút "Upload to I/O board" trong IDE này, một bản copy của đoạn code này sẽ được ghi vào một file tạm với một extra include header ở phía trên cùng và một hàm main () đơn giản nằm ở phía đáy, để làm cho thàn một chương trình C++ khả dụng. -Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch chương trình, và sử dụng avrdude để upload chương trình lên board. -Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi trường phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng có thể được sử dụng để làm phần mềm phát triển cho Arduino. Arduino mega2560 Hình 2.2.2.1 Board Arduino mega2560 Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn gọi là Arduino Mega 1280. Sự khác biệt lớn nhất với Arduino Mega 1280 chính là chip nhân. Ở Arduino Mega 1280 sử dụng chip ATmega1280 với flash memory 128KB, SRAM 8KB và EEPROM 4 KB.* Ngắt ngoài : 6 chân Bộ nhớ Flash: 256 KB, 8KB sử dụng cho Bootloader SRAM: 8 KB EEPROM: 4 KB Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC Arduino Mega 2560 là sản phẩm tiêu biểu cho dòng mạch Mega là dòng bo mạch có nhiều cải tiến so với Arduino Uno (54 chân digital IO và 16 chân analog IO). Đặc biệt bộ nhớ flash của MEGA được tăng lên một cách đáng kể, gấp 4 lần so với những phiên bản cũ của UNO R3. Điều này cùng với việc trang bị 3 timer và 6 cổng interrupt khiến bo mạch Mega hoàn toàn có thể giải quyết được nhiều bài toán hóc búa, cần điều khiển nhiều loại động cơ và xử lý song song nhiều luồng dữ liệu số cũng như tương tự Ngoài việc phát triển được ưu tiên, việc kế thừa cũng được đặc biệt lưu ý. Trên mạch MEGA các chân digital vẫn từ 0-13, analog từ 0-5 và các chân nguồn tương tự thiết kế của UNO. Do vậy chúng ta dễ dàng phát triển nghiên cứu theo kiểu gắp ghép module từ Arduino UNO bê sang Arduino mega. Ngoài ra, ở phiên bản này, các nhà thiết kế đã mạnh dạn thay đổi thiết kế. Để có thêm được nhiều vùng nhớ và nhiều chân IO hơn, một con chip khác đã thay thế cho Atmega1280. Theo dòng phát triển của vi điều khiển nhúng, những dự án lớn cần nhiều dung lượng flash hơn. Do vậy, Arduino Mega 2560 ra đời với sứ mệnh giải những bài toán như thế. Arduino Mega được thiết kế cho nhiều dự án khó.Với 54 chân I/O kĩ thuật số, 16 chân analog, cùng không gian khá rộng để bạn có thể tích hợp các mạch điện tử của dự án của bạn lên đó. Tính năng nổi bật của Arduino Mega 2560 R3 Arduino Mega 2560 là board mạch vi điều khiển, xây dựng dựa trên Atmega 2560. Nó có 54 chân I/O (trong đó có 15 chân có thể sử dụng làm chân ouput với chức năng PWM), 16 chân đầu vào Analog, 4 UART, 1 thạch anh 16Mhz, 1 cổng USB, 1 jack nguồn, 1 header, 1 nút nhấn reset. Nó chứa mọi thứ cần thiết hỗ trợ cho người lập trình vi điều khiển, đơn giản chỉ việc kết nối nó với máy tính bằng cable USB là có thể bắt đầu học tập. Mach Arduino 2560 sử dụng tương thích với phần lớn các Shield của Arduino UNO . 2.2.3 Lựa chọ linh kiện và các module . Cảm Biến Khí Gas Hình 2.2.3.1 Module cảm biến khí gas Đặc tính kỹ thuật : Nguồn cung cấp:  2.5 V ~ 5V. Tích hợp MQ –5 gas Sensor. Kích thước : 40mm * 21mm. Led báo hiệu. Chân DOUT : digital output. Chân AOUT : analog output. Chân GND: đất chung. Chân VCC: kết nối nguồn 2.5 V ~ 5V. -Nguyên lí hoạt động : Khi cảm biến hoạt động nó sẽ truyền tín hiệu từ các chân DOUT và AOUT của mình về vi điều khiển. - Tín hiệu DOUT: + Tín hiệu thấp : có khí gas. + Tín hiệu cao : không có khí gas. - Tín hiệu AOUT: cho tín hiệu tương tự. Và khi có khí gas 2 đèn LED trên module sẽ phát sáng Cảm Biến Nhiệt Độ DTH11 DHT11 là cảm biến nhiệt độ, độ ẩm rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1-wire ( giao tiếp digital 1-wire truyền dữ liệu duy nhất). Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào . Hình 2.2.3.2 Module cảm biến nhiệt độ Thông số sản phẩm: + Điện áp hoạt động: 3V-5V (DC). + Dải độ ẩm hoạt động: 20% - 90% RH, sai số ±5% RH. + Dải nhiệt độ hoạt động: 0˚C ~ 50˚C, sai số ±2˚C. + Khoảng cách truyền tối đa: 20m. Cách điều khiển : DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức cao, nên trong mạch sử dụng DHT11, dây DATA phải được mắc với một trở kéo bên ngoài(thông thường giá trị là 4.7kΩ). Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần nguyên của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum. Ví dụ: ta nhận được 40 bit dữ liệu như sau: 0011 0101 0000 0000 0001 1000 0000 0000 0100 1101 Tính toán: 8 bit checksum 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101 Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000 0000,nên ta bỏ qua không tính phần thập phân). Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây do phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân). Module RELAY Mạch Relay 1-2-4-8 Kênh gồm Relay hoạt động tại điện áp 5VDC, chịu được hiệu điện thế lên đến 250VAC 10A. Có opto và transistor cách ly giúp cho việc sử dụng trở nên an toàn với board mạch chính, mạch được sử dụng để đóng ngắt nguồn điện công suất cao AC hoặc DC. Module relay được thiết kế chắc chắn, khả năng cách điện tốt. Trên module đã có sẵn mạch kích relay sử dụng transistor và IC cách ly quang giúp cách ly hoàn toàn mạch điều khiển (vi điều khiển) với rơ le bảo đảm vi điều khiển hoạt động ổn định. Có sẵn header rất tiện dụng khi kết nối với vi điều khiển. Hình 2.2.3.3 Module relay 2 kênh THÔNG SỐ KỸ THUẬT Đầu vào: - Điện áp nuôi : 5VDC - Tín hiệu vào điều khiển: 0V + Tín hiệu là 0: thì Relay đóng + Tín hiệu là 1 : thì Relay mở Đầu ra: + Tiếp điểm relay 220V 10A ( Lưu ý tiếp điểm , không phải điện áp ra) + NC : Thường đóng + NO: Thường mở + COM: Chân chung Ký hiệu nguồn: + VCC, GND là nguồn nuôi Relay + In là chân tín hiệu điều khiển LCD 16*2 và Module chuyển đổi I2C cho LCD 16*2 LCD 16*2 LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực hiện các dự án về điện tử, lập trình. Với khả hiển thị 2 dòng với mỗi dòng 16 ký tự, đồng thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng của mình . . Hình 2.2.3.4 Màn hình LCD 16*2 Thông số kỹ thuật Điện áp hoạt động: 5V Kích thước: 80 x 36 x 12.5 mm Chữ trắng, nền xanh Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard Đèn led nền có thể dùng biến trở hoặc PWM điều chình độ sáng thích hợp Có thể được điều khiển với 6 dây tín hiệu VSS: cực âm nguồn cho LCD - GND: 0V VDD: cực dương nguồn LCD - 5V Constrast Voltage (Vo): điều khiển độ sáng màn hình Register Select (RS): lựa chọn thanh ghi RS=0 chọn thanh ghi lệnh RS=1 chọn thanh ghi dữ liệu Read/Write (R/W) R/W=0 ghi dữ liệu R/W=1 đọc dữ liệu. Enable: Cho phép ghi vào LCD D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử dụng Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7. Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7. Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn hình LCD. Module chuyển đổi I2C cho LCD 16*2 LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng nhiều chân của vi điều khiển? Module chuyển đổi I2C cho LCD sẽ giải quyết vấn đề này cho bạn, thay vì sử dụng tối thiểu 6 chân của vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 và D4) thì với module chuyển đổi bạn chỉ cần sử dụng 2 chân (SCL, SDA) để kết nối. Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 1602, LCD 2004, ), kết nối với vi điều khiển thông qua giao tiếp I2C, tương thích với hầu hết các vi điều khiển hiện nay. Hình 2.2.3.5 Module I2C Thông số kĩ thuật Điện áp hoạt động: 2.5-6V DC Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780) Giao tiếp: I2C Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2) Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H) Trọng lượng: 5g Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD 2.2.4 Thiết kế mạch nguyên lý Khối nút bấm : Hình 2.2.4.1 Khối nút bấm điều khiển Khối nút bấm điều khiển gồm 3 nút bấm để điều chỉnh các thông số bằng tay: Nút bấm 1 để chọn cảm biến muốn thay đổi thông số. Nút bấm 2 để tăng giá trị thông số cảm biến đã chọn. Nút bấm 3 để giảm giá trị thông số cảm biến đã chọn. Khối còi báo Hình 2.2.4.2 . Khối còi báo Thực hiện báo hiệu khí cảm biến MQ5 phát hiejn có khí gas tắt đi khi ấn reset Khối nguồn . Hình 2.2.4.3 . Khối cung cấp nguồn cho các module Lấy nguồn 5V từ boar arduino để cung cấp nguồn cho các module khối còi báo và khối nút ấn . 2.2.5 Thiết kế mạch in Hình2.2.5.1 . Măt trước và sau của mạch in 2.2.6 Thiết kế vỏ hộp Hình 2.2.6.1 Hộp sản phẩm 2.3. THIẾT KẾ PHẦN MỀM 2.3.1. Viết mã nguồn #include #include #include //khai báo thư viện Wire #include //khai báo thư viện cho lcd #define DHTPIN 9 #define DHTTYPE DHT11 #define sw2 3 //Nút bấm số 2 #define sw3 4 //Nút bấm số 3 #define rl1 7 #define rl2 8 #define coi 5 #define mq_5 A0 #define t_add 0 //Địa chỉ lưu giá trị nhiệt độ trong EEPROM #define h_add 1 //Địa chỉ lưu giá trị gas trong EEPROM unsigned char mode = 0, count = 0, dem, state = 0; int humi, temp, t, h, gas, gass; DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27, 16, 2); //chọn địa chỉ của lcd void setup() { // put your setup code here, to run once: pinMode(sw2, INPUT_PULLUP); pinMode(sw3, INPUT_PULLUP); pinMode(coi, OUTPUT); pinMode(coi, OUTPUT); pinMode(rl1, OUTPUT); pinMode(rl2, OUTPUT); attachInterrupt(0, setMode, FALLING); //Ngắt ngoài 0, cài đặt chế độ của hệ thống t = EEPROM.read(t_add); //Đọc ngưỡng nhiệt độ cảnh báo được lưu trong EEPROM delay(250); gas = EEPROM.read(h_add); //Đọc ngưỡng độ ẩm cảnh báo được lưu trong EEPROM delay(250); digitalWrite(coi,LOW); dht.begin(); // khởi tạo cho dht11 lcd.init(); // khởi taok cho lcd lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Do An Dien Tu 1"); lcd.setCursor(0, 1); lcd.print("nhom 8 "); delay(1000); lcd.clear(); } void setMode(){ mode++; if(mode > 3) mode = 0; } void hienThi(){ lcd.setCursor(0,0); lcd.print("T: "); delay(10); lcd.print(temp); delay(10); lcd.print(" C"); lcd.setCursor(9,0); lcd.print("H: "); delay(10); lcd.print(humi); delay(10); lcd.print(" %"); lcd.setCursor(0,1); lcd.print("setup. . ."); } void setndo(){ lcd.setCursor(0,1); lcd.print("Set up temp: "); lcd.print(t); delay(10); lcd.print(" "); if(!digitalRead(sw2)){ delay(50); if(!digitalRead(sw2)) t++; } if(!digitalRead(sw3)){ delay(50); if(!digitalRead(sw3)) t--; } } void setgas(){ lcd.setCursor(0,1); lcd.print("Set up gas: "); lcd.print(gas); delay(10); lcd.print(" "); if(!digitalRead(sw2)){ delay(50); if(!digitalRead(sw2)) gas++; } if(!digitalRead(sw3)){ delay(50); if(!digitalRead(sw3)) gas--; } } void loop() { // put your main code here, to run repeatedly: if(mode==0){ if(dem==0){ lcd.clear(); dem=1; } if(dem==1){ humi = dht.readHumidity(); temp = dht.readTemperature(); gass = analogRead(A0); hienThi(); delay(10); if(temp > t){ digitalWrite(rl1,LOW); } else digitalWrite(rl1,HIGH); if(gass > gas){ digitalWrite(rl2,LOW); digitalWrite(coi,HIGH); } else digitalWrite(rl2,HIGH); } } if( mode == 1){ setndo(); } if( mode == 2){ setgas(); } if( mode == 3){ EEPROM.write(t_add, t); delay(50); EEPROM.write(h_add, gas); delay(50); mode = 0; dem = 0; } } 2.4. KẾT QUẢ VÀ ĐÁNH GIÁ 2.4.1. Kết quả đạt được Sau 1 quá trình miệt mài nghiên cứu, thực hiện đồ án với sự chỉ bảo tận tình của các thầy trong khoa Điện tử viễn thông thì nhóm 2 chúng em đã hoàn thành đồ án và tạo ra được một bộ sản phẩm hoàn chỉnh. Và dưới đây là hình ảnh Bộ thiết bị “ cảnh báo khí gas và phòng chánh cháy nổ “ sau khi đã hoàn thiện: Hình 2.4.1.1 .Thiết bị được lắp ráp hoàn chỉnh Hình 2.4.1.2 . Demo sản phẩm 2.4.2. Đánh giá sản phẩm + Sản phẩm chạy ổn định. + Thông số chính xác. + Điều khiển bật tắt được các thiết bị tự động khi có sự cố + Là hệ thống thử nghiệm chưa áp dụng được áp dụng thực tế trong khoảng thời gian nào đo nên chưa thể đánh giá hết được hiệu suất và hiệu quả của thiết bị . TÀI LIỆU THAM KHẢO arduino.vn Website: banlinhkien.vn Website : dientu360.com Diễn đàn: forum.arduino.cc Từ điển bách khoa Wikimedia

Các file đính kèm theo tài liệu này:

  • docxdo_an_dien_tu_nghien_cuu_va_thiet_ke_thiet_bi_canh_bao_khi_g.docx
Luận văn liên quan