Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Tài liệu tham thảo vi điều khiển, Study notes of Constitutional Law

Tìm hiểu chi tiết và đầy đủ hơn về vi điều khiển

Typology: Study notes

2023/2024

Uploaded on 06/22/2024

1903-tran-quoc-tuan
1903-tran-quoc-tuan 🇻🇳

1 document

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH
TIỂU LUẬN
VI ĐIỀU KHIỂN
Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ
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: 20DOTA3
Lê Nguyễn Nhật Tân Mã SV:1911050263 Lớp: 19DTDA1
Tp.HCM, ngày 01 tháng 01 năm 2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Tài liệu tham thảo vi điều khiển and more Study notes Constitutional Law in PDF only on Docsity!

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH

TIỂU LUẬN

VI ĐIỀU KHIỂN

Ngành: CÔNG NGHỆ KỸ THUẬT Ô TÔ

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.

MỤC LỤC

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:

  • Có thể tránh được những môi nguy hiểm do hoà hoạn gây ra.
  • Báo trước được những hiểm hoa do cháy nổ sắp xảy ra (nhờ hệ thống các đầu dò, đầu báo nhiệt, đầu báo khói, đầu báo gas...)
  • Có thể xử lí dễ dàng khi xảy ra xự cô (nhờ những thiết bị chữa cháy được thiết kế phù hợp, hoàn hảo và dễ xử dụng). Vì lý do đó, chúng em quyết định nghiên cứu và tìm hiểu mạch báo-chữa cháy hiển thị trên LCD. 1.2. Ứng dụng của đề tài Nhà Ở và Căn Hộ: Hệ thống có thể được tích hợp trong các hộ gia đình để cảnh báo sớm về nguy cơ cháy nổ và kích hoạt các biện pháp chữa cháy tự động, chẳng hạn như bơm nước, cảm biến cháy, và hệ thống sprinkler. Công Trình Thương Mại và Văn Phòng: Hệ thống báo cháy có thể giúp bảo vệ các công trình thương mại, văn phòng, và cửa hàng bằng cách kích hoạt các biện pháp chữa cháy như hệ thống phun nước tự động hoặc bình chữa cháy. Khu Công Nghiệp và Nhà Máy: Trong môi trường công nghiệp, hệ thống có thể được triển khai để giảm thiểu thiệt hại tài sản và đảm bảo an toàn nhân viên bằng cách tự động kích hoạt các thiết bị chữa cháy khi phát hiện có cháy. Phương Tiện Giao Thông: Trong ô tô hoặc phương tiện vận tải công cộng, mạch báo cháy có thể được tích hợp để cảnh báo và ngăn cháy nổ trong trường hợp sự cố. Trung Tâm Dữ Liệu và Server Rooms: Các trung tâm dữ liệu đặc biệt quan trọng với nhiều thiết bị điện tử nhạy cảm. Hệ thống có thể giúp phòng chống cháy và bảo vệ dữ liệu quan trọng.

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:

  • Tìm hiểu nguyên lý hoạt động của hệ thống báo cháy, chữa cháy tự động.
  • Lập sơ đồ khối về mô hình báo cháy, chữa cháy.
  • Lập danh sách các cảm biến, linh kiện điện tử, vi điều khiển, các bộ phận cơ khí… cần áp dụng vào trong đề tài. -Tìm hiểu về nguyên lý hoạt động, thông số kỹ thuật của các linh kiện được sử dụng. -Vẽ sơ đồ nguyên lý hoạt động của mạch điều khiển trên proteus và mô hình mô phỏng nguyên lý hoạt động của hệ thống. -Bắt đầu in mạch, lắp linh kiện và kiểm tra mạch điều khiển. -Tiến hành làm mô hình thực tế. -Lập trình vi điều khiển cho mô hình hoạt động. -Cuối cùng tiến hành kiểm tra, thử nghiệm và sửa lỗi để hoàn thành đề tài nghiên cứu.

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

Cảm biến nhiệt trở âm 10k

Hình 2.3. Nhiệt trở 10k Thông số kỹ thuật

  • Loại: NTC
  • Sai số: ±0.1°C
  • Điện trở ở 25 °C: 10 KΩ

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 int16 read_adc_lap() // vong lap doc gia tri adc { int8 i; float32 adc2=0; for (i=0;i<100;i++) // doc 100 lan de lay gia tri trung binh sau 100 lan doc { delay_us(100); // tao thoi gian tre us adc2=adc2+read_adc(); } return (adc2/100); // he so nay em tinh lai nhe cho phu hop voi cau phan ap va dien ap 24V } //======================================== void main() { setup_adc_ports(AN0_AN1_AN3); // thiet lap ADC su dung 3 kenh setup_adc(ADC_CLOCK_INTERNAL); // thiet lap xung nhip cho bo ADC là giao dong noi lcd_init(); lcd_gotoxy(1,1); // dua con tro LCD ve dong 1 cot 1; printf(lcd_putc,"HE THONG PHONG "); lcd_gotoxy(1,2); printf(lcd_putc," CHAY CHUA CHAY"); delay_ms(1500); output_low(coi); // Tat coi output_low(rl); // Tat rl output_low(rl1); // Tat rl //=======================================; while (true) // vong lap vo han { doc_cam_bien();

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();