
















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Tìm hiểu chi tiết và đầy đủ hơn về vi điều khiển
Typology: Study notes
1 / 24
This page cannot be seen from the preview
Don't miss anything!
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH
Giảng viên hướng dẫn: NGHIÊM HOÀNG HẢI Sinh viên thực hiện: Trần Quốc Tuấn Mã SV: 2011251903 Lớp: 20DOTA Lê Nguyễn Nhật Tân Mã SV:1911050263 Lớp: 19DTDA Tp.HCM, ngày 01 tháng 01 năm 2024
LỜI CẢM ƠN Qua một khoảng thời gian nghiên cứu và thực hiện, đến nay nhóm em đã hoàn thành xong đồ án môn học vi điều khiển với đề tài: “Mạch báo cháy, chữa cháy tự động (PIC16F877A)” do giảng viên Nghiêm Hoàng Hải hướng dẫn. Trong suốt quá trình nghiên cứu và thực hiện đề tài, nhóm em đã gặp rất nhiều khó khăn và nhận được nhiều sự giúp đỡ và quan tâm của Thầy. Để hoàn thành được đồ án vi điều khiển cho phép nhóm em gửi lời cảm ơn đến các Thầy trong viện kỹ thuật đã giảng dạy và truyền thụ những kiến thức quý báo, bổ ích thông qua các môn học ở trường. Giúp chúng em có một kiến thức cơ bản và một cách nhìn tổng quát hơn để hoàn thành tốt đồ án này. Nhóm em xin chân thành cảm ơn đến Thầy Nghiêm Hoàng Hải đã luôn luôn tận tình giúp đỡ, chỉ báo và tạo mọi điều kiện cho nhóm trong suốt quá trình thực hiện đồ án.
Chương 1: GIỚI THIỆU CHUNG VỀ ĐỀ TÀI 1.1. Lý do chọn đề tài. Ngày nay, cùng với những hiểm hoạ có thể xảy ra với con người thì hoả hoạn cũng là một trong những mối nguy hiểm mà con người cần đề phòng nhất. Hậu quả mà nó gây ra cho chúng ta là rất lớn, rất khó có thể lường được, Do đó mà chúng tôi đề cập ở đây là chúng ta cần có cảnh giác cao về phòng cháy, chữa cháy. Chúng ta cân trang bị đây đủ những phương tiện phòng cháy chữa cháy để kịp thời xử lí nhanh khi có xự cô xảy ra. Chỉ có những hệ thông báo cháy, chữa cháy được thiết kế đúng đắn, đây đủ chức năng, ổn định và đạt tiêu chuẩn mới có thể đảm bảo cho cao ốc, nhà xưởng, ngôi nhà thân yêu của mình một cách chặc chăn khỏi những rủi ro do hoà hoạn gây ra. Với những sản phẩm được thiết kế phù hợp, đạt tiêu chuẩn sẽ mang đến những tính năng hữu dụng nhất:
Nhà Ga và Sân Bay: Trong các cơ sở vận tải công cộng, mạch báo cháy có thể giúp cảnh báo và điều chỉnh luồng người khi có sự cố cháy. Các Khu Vực Đặc Biệt Như Bệnh Viện và Trường Học: Trong các cơ sở y tế và giáo dục, hệ thống báo cháy tự động giúp đảm bảo an toàn cho bệnh nhân, học sinh, và nhân viên. Công Nghiệp Dầu Khí và Hóa Chất: Trong các ngành công nghiệp đặc biệt như dầu khí và hóa chất, mạch báo cháy có thể được tích hợp để giảm thiểu nguy cơ cháy nổ và bảo vệ cơ sở hạ tầng quan trọng. Ứng Dụng Trong Nông Nghiệp và Rừng: Các hệ thống báo cháy có thể được sử dụng để giảm rủi ro cháy rừng và bảo vệ các khu vực nông nghiệp. Ứng Dụng Trong Tàu Biển và Cảng: Mạch báo cháy có thể được tích hợp trong tàu biển và cảng để đảm bảo an toàn khi xảy ra sự cố cháy. 1.3. Hướng thực hiện đề tài Để tiến hành nghiên cứu và thực hiện đề tài: “Mạch báo cháy, chữa cháy tự động (PIC16F877A)” cần làm những công việc sau:
2.1.3. Ưu nhược điểm của PIC16F877A Ưu điểm: Cấu trúc đơn giản: PIC16F877A có một cấu trúc đơn giản, dễ hiểu, và dễ sử dụng. Điều này làm cho nó trở thành một lựa chọn phổ biến cho các dự án đòi hỏi đơn giản và hiệu quả. Dung lượng bộ nhớ: PIC16F877A có dung lượng bộ nhớ flash và RAM đủ lớn để xử lý các ứng dụng nhúng phức tạp. Nguồn cung cấp đa dạng: PIC16F877A có khả năng hoạt động ở nhiều mức điện áp khác nhau, từ 2V đến 5.5V, điều này làm cho nó linh hoạt trong việc tích hợp vào các hệ thống với nguồn cung cấp năng lượng khác nhau. Nhiều chân I/O: Vi xử lý này cung cấp một số lượng lớn chân đầu vào/đầu ra (I/O), giúp kết nối với nhiều thiết bị ngoại vi và cảm biến khác nhau. Hỗ trợ từ cộng đồng: Vì PIC16F877A là một trong những microcontroller phổ biến, có nhiều tài liệu, ví dụ và hỗ trợ từ cộng đồng phát triển, giúp cho việc học và sử dụng nó trở nên dễ dàng hơn. Nhược điểm: Giới hạn chức năng: So với một số vi điều khiển hiện đại, PIC16F877A có giới hạn chức năng và tính năng nâng cao, điều này có thể là một hạn chế trong một số ứng dụng đòi hỏi tính năng cao cấp. Không có chế độ tiết kiệm năng lượng tiên tiến: PIC16F877A không hỗ trợ các chế độ tiết kiệm năng lượng tiên tiến như một số dòng vi điều khiển mới, điều này có thể là một vấn đề trong các ứng dụng yêu cầu hiệu suất năng lượng cao. Thời gian phản hồi ADC chậm: Trong một số ứng dụng yêu cầu xử lý tín hiệu analog, thời gian phản hồi của bộ chuyển đổi ADC trên PIC16F877A có thể chậm so với một số vi điều khiển khác. 2.1.4. Cách thức nạp chương trình cho PIC Mạch nạp cho PIC Đây cũng là một dòng sản phẩm rất đa dạng cho vi điều khiển PIC. Có thể sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như: PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II. Có thể dùng các sản phẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB. Dòng sản phẩm chính thống này
có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiên giá thành rất cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm. Ngoài ra do tính năng cho phép nhiều chế độ nạp khác nhau, còn có rất nhiều mạch nạp được thiết kế dành cho vi điều khiển PIC. Có thể sơ lược một số mạch nạp cho PIC như PIC kit2, PICkit3, brune, ... Hình 2.2. Pickit 3 2.2. Cảm biến sử dụng
Hình 2.3. Nhiệt trở 10k Thông số kỹ thuật
Chương 3: HOẠT ĐỘNG CỦA MÔ HÌNH ĐỒ ÁN 3.1. Nguyên lý hoạt động của mô hình Khi nhiệt độ dưới 50 độ C, thì LCD sẽ hiện an toàn. Khi nhiệt độ từ 50-70 độ C, LCD sẽ hiện là nguy hiểm, đồng thời buzzer sẽ kêu lên trong 3s. Khi nhiệt độ từ 70 độ C trở lên, LCD sẽ hiện cháy sử lý, đồng thời buzzer sẽ kêu liên tục và máy bơm nước sẽ được kích hoạt. 3.2. Sơ đồ nguyên lý Hình 3.1. Sơ đồ khối của mạch 3.3. Kết quả thực tế _ Phần thiết kế cơ khí và mạch điều khiển đã hoàn thiện đúng theo yêu cầu. _ Mô hình hoạt động có thể báo cháy, tự động bơm nước khi có lửa xuất hiện và luôn hiển thị nhiệt độ trên màn hình LCD.
Hình 3.2. Mạch proteus mô hình báo cháy Hình 3.3. Mạch đã lắp hoàn chỉnh
Phụ lục: Code của toàn bộ chương trình #include
if(canh_bao==0) { lcd_gotoxy(1,1); // dua con tro LCD ve dong 1 cot 1; printf(lcd_putc,"PHONG CHINH "); ht_nhiet(nhiet); tao_tre(6); } if(canh_bao==1) { lcd_gotoxy(1,1); // dua con tro LCD ve dong 1 cot 1; printf(lcd_putc,"PHONG CHINH "); if(bao_chay) hien_thi_chay(); else { ht_nhiet(nhiet); tao_tre(6); } } } } //======================================== void kiem_tra() { if(nhiet>70) { if(xu_ly_chay==0) // khi chua duoc xu ly { output_high(rl); if(bao_coi==0) { output_high(coi); dang_bao_coi=1;
printf(lcd_putc,"BAO XU LY LAI: %1u ",xl); tao_tre2(2); } } } //======================================== void ht_nhiet(float n) { lcd_gotoxy(1,2); // dua con tro LCD ve dong 1 cot 1; if(n<50) { printf(lcd_putc,"AN TOAN %3.0f",n); } else if(n<70) { printf(lcd_putc,"NGUY HIEM %3.0f",n); output_high(coi); tao_tre(1); tao_tre(1); tao_tre(1); output_low(coi); } else if(n>=70) { printf(lcd_putc,"CO CHAY %3.0f",n); tao_tre(1); tao_tre(1); tao_tre(1); tao_tre(1); } lcd_putc(0xdf);
lcd_putc('C'); printf(lcd_putc," "); } //======================================== void tao_tre2(int16 t) { int16 i; int8 j; for(i=0;i<t;i++) { for(j=0;j<40;j++) { delay_ms(10); quet_phim(); } doc_cam_bien(); kiem_tra(); if(canh_bao==0) break; } } //======================================== void tao_tre(int16 t) { int16 i; int8 j; for(i=0;i<t;i++) { for(j=0;j<50;j++) { delay_ms(10); quet_phim(); } doc_cam_bien();