Đô án thiết kế hệ thống báo cháy bằng vi điều khiển , có code
Trang 1THIẾT KẾ HỆ THỐNG BÁO CHÁYTỰ ĐỘNG BẰNG VI ĐIỀU KHIỂN
Trang 2MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU TỔNG QUÁT ĐỀ TÀI 7
1.1 Giới thiệu đề tài 7
2.3 Giao diện proteus 8
CHƯƠNG 3: TỔNG QUAN PIC 16F877A VÀ THÔNG SỐ KỸ THUẬT CỦA CÁC LINH KIỆN 9
3.1 Giới thiệu 9
3.2 Cấu tạo PIC 16F877A 9
3.3 Thông số kỹ thuật của các linh kiện 11
4.4 Lưu đồ giải thuật: 21
4.5 Code vi điều khiển 22
4.6 Mô phỏng trên proteus: 26
CHƯƠNG 5: CHẠY HỆ THỐNG BÁO CHÁY THỰC TẾ 28
5.1 Trạng thái hiển thị: 28
5.2 kết luận: 29
Trang 3Hình 3.8: ký hiệu LCD1602A trên proteus 13
Hình 3.9: ký hiệu còi buzzer trên proteus 15
Hình 3.10: bộ nạp code 15
Hình 4.1 sơ đồ mạch trên proteus 16
Hình 4.2 bộ nguồn adapter 5V 18
Hình 4.3 bộ nguồn trong proteus 18
Hình 4.4: bộ cảm biến trong proteus 19
Hình 4.5: thiết bị điện trong proteus 20
Hình 4.6: bộ hiển thị trạng thái trong proteus 20
Hình 4.7: mô phỏng trên proteus 26
Hình 4.8: mô phỏng trên proteus khi gò rỉ gas 27
Hình 4.9: mô phỏng trên proteus khi có cháy 27
Hình 5.1: hệ thống báo cháy 28
Hình 5.2: hệ thống báo chay khi có sự cố 29
Trang 4CHƯƠNG 1 GIỚI THIỆU TỔNG QUÁT ĐỀ TÀI1.1 Giới thiệu đề tài
- Trong thế giới công nghiệp hoa hiện đại hóa ngày càng phát triển mạnh mẽ,những công trình hiện đại to lớn ngày càng xuất hiện nhiều đi kèm theo đó là rủi rophát sinh ra mà điển hình nhất chính là sự cố cháy nổ vì vậy các hệ thống báo cháyđã là một phần không thể thiếu Ngày nay con người phát minh ra rất nhiều hệthống báo cháy tiên tiến bằng các con cảm biến khí gas và cảm biến nhiệt độ ngoàira thì các tòa nhà được trang bị thêm vòi xịt nước tự động khi xảy ra sự cố cháy nổ.Thiết bị này giúp ích cho con người rất nhiều và ngày càng được ứng dụng rộng rãi.
1.2 Mục đích nghiên cứu
- Để hiểu được cấu tạo và nguyên lý hoạt động của hệ thống báo cháy, ngoài ratìm hiểu, học hỏi thêm về các chương trình làm ra mạch như proteus 8 và picc Emsử dụng vi điều khiển với con pic 16F877A rất phổ biến với sinh viên ngành điện đểlàm đồ án này.
1.3 Đối tượng nghiên cứu
- Đối tượng nghiên cứu tham khảo các tài liệu về hệ thống báo cháy bằng viđiều khiển là PIC 16F877A ngoài ra còn có các con cảm biến nhiệt độ LM35, cảmbiến khói MQ2 và cách xuất thông tin lên màn hình LCD 1602A.
1.4 Phạm vi nghiên cứu
- Hiện nay hệ thống báo cháy được sử dụng rộng rãi phổ biến trong nhiều lĩnhvực điển hình là khu chung cư, trường học, nhà máy, hộ gia đình,…
Trang 5CHƯƠNG 2: TỔNG QUAN PROTEUS 82.1 Giới thiệu
- Proteus là phần mềm được các chuyên gia điện tử sử dụng rộng rãi để mô phỏng mạch điện tử và thiết kế mạch in Bằng cách sử dụng phần mềm này, bạn có thể tiết kiệm rất nhiều thời gian, năng lượng và tiền bạc Để tạo điều kiện cho các bạn mới bắt đầu tìm hiểu và sử dụng phần mềm Proteus, mình đã sưu tầm và sắp xếp thành cẩm nang kiến thức tổng hợp từ đầu đến cuối để mọi người nhanh chóng xem và tự học Bạn có thể xem nội dung của tài liệu và tải xuống tài liệu khi cần bằng cách nhấp vào liên kết được cung cấp bên dưới.
2.2 Các tính năng
- Vẽ sơ đồ mạch
- Mô phỏng: Bạn có thể mô phỏng vi điều khiển Tùy thuộc vào bộ vi điềukhiển, bản phác thảo sẽ dựa trên PIC24, dsPIC33, 8051, Arduino hoặc ARM7.Ngoài ra, mô phỏng tích hợp thời gian thực của công tắc, điện trở, quang trở, thậmchí có thể sử dụng Volt kế, ampe kế
- Thiết kế PCB: tính năng này cho phép tự tạo bản thiết kế một cách dễ dàngngoài ra tính năng này còn tự động phát hiện ra lỗi khi vi phạm bất kỳ quy tắc thiếtkế.
- Thiết lặp tạo mạch 3D
2.3 Giao diện proteus
Trang 6CHƯƠNG 3: TỔNG QUAN PIC 16F877A VÀ THÔNG SỐ KỸ THUẬT CỦACÁC LINH KIỆN.
3.1 Giới thiệu
- PIC viết tắt là Programable Intelligent Comput có nghĩa là máy tính thông minh lập trình do hãng Genenral Instrument đặt tên Trải qua nhiều lần nghiên cứu phát triển nâng cao thêm đã cho ra đời dòng vi điều khiển PIC được sử dụng rộng rãi ngày nay điển hình là PIC 16F877A cho phép kết nối vi điều khiển với các thiết bị và điều khiển theo yêu cầu người sử dụng.
3.2 Cấu tạo PIC 16F877A
Hình 3.1: PIC 16F877A
- Bao gồm 40 chân và được sử dụng phổ biến trong vi điều khiển Nó có nămcổng bắt đầu từ cổng A đến cổng E có ba bộ định thời trong đó có 2 bộ định thời 8bit và 1 bộ định thời là 16 Bit.Hỗ trợ nhiều giao thức giao tiếp như giao thức nốitiếp, giao thức song song, giao thức I2C
- Kích thước RAM 368 x 8 byte và kích thước ROM là EEPROM 256 x 8 bytebao gồm 35 lệnh có độ dài 14 bit và mỗi lệnh khi nhập và chạy thì có tốc độ tối đalà 20MHz trong một chu kỳ xung.
- Độ phân giải 8bit, có 33 chân I/O.- Điện áp hoạt động từ 4V đến 5,5V- Có 5 Port là :
Trang 7 PORT A gồm 6 chân I/O, đây là các chân có thể vừa xuất và nhập được ký hiệu từ RA0 đến RA5
PORT B gồm 8 chân I/O, được ký hiệu từ RB0 ở chân 33 đến RB7 ở chân 40
PORT C gồm 8 chân I/O, được ký hiệu bởi các chân nằm song song từ chân 15 đến chân số 18
PORT D gồm 8 chân I/O được ký bởi các chân không nằm trên cùng hàng chân đầu tiên là số 19 đến số 22 và các chân cuối từ số 27 đến số 30
PORT E gồm 3 chân I/O, được ký hiệu từ RE0 ở chân số 8 đến RE2 ởchân số 10
Trang 8Hình 3.2: sơ đồ chân PIC 16F877A
- Ngoài ra PIC16F877a có tổng cộng 8 nguồn ngắt và có thể được tạo ra bằng8 cách sau:
Ngắt ngoài.
Ngắt bộ định thời (Timer0,Timer1). Thay đổi trạng thái cổng B.
Cổng Slave song song đọc, ghi. Bộ chuyển đổi A/D.
Nhận và truyền nối tiếp. Điều chế độ rộng xung. Thao tác ghi EEPROM.
3.3 Thông số kỹ thuật của các linh kiện3.3.1 Cảm biến nhiệt độ LM35
Hình 3.3: cảm biến nhiệt độ LM35
Trang 9Hình 3.4: ký hiệu LM35 trên proteus
- Điện áp hoạt động: 4~20VDC- Công suất tiêu thụ khoảng 60uA- Giới hạn tầm đo -55°C đến 150°C
- Điện áp tuyến tính theo nhiệt độ: 10mV/°C- Sai số 0.25°C
- Gồm 3 chân là Vcc, analog output, GND- Kích thước: 4.3 × 4.3mm
3.3.2 Cảm khí GAS MQ2
Hình 3.5: cảm biến khí gas MQ2
Trang 10Hình 3.6: ký hiệu MQ2 trên proteus - Điện áp hoạt động từ 3.3V-5V
- Kích thước PCB: 3cm x 1.6cm
- Gồm 4 chân là Vcc, GND, DO và AO- DO: Đầu ra tín hiệu số digital
- AO: Đầu ra tín hiệu Analog - Có cấu tạo từ chất bản dẫn Sno2
3.3.3 Màn hình hiển thị LCD1602A:
- Giới thiệu: LCD viết tắt là Liquid Crystal Display nghĩa là màn hình tinh thểlỏng là loại thiết bị hiển thị bới các điểm ảnh chứa lớp tinh thể lỏng có khả năngthay đổi tính phân cực của ánh sáng và làm thay đổi cường độ ánh sáng truyềnqua khi kết hợp với các kinh lọc phân cực
Trang 12- Dòng cấp nguồn từ 350uA đến 600uA- Nhiệt độ hoạt động từ - 30 đến 75 độ C
3.3.4 Còi buzzer: báo hiệu có cháy
Hình 3.9: ký hiệu còi buzzer trên proteus
- Điện áp hoạt động ổn định từ 3,5VDC đến 5VDC - Tần số hoạt động: 2KHz – 5KHz.
- Kích thước: 12mm x 8.5mm.
- Nhiệt độ hoạt động từ -20 °C đến 70 °C
3.3.5 Bộ nạp:
Trang 13Hình 3.10: bộ nạp code
- Mạch nạp PIC K150 là mạch nạp cho Vi điều khiển PIC Mạch hổ trợ gần nhưhoàn toàn các dòng PIC trên thị trường Đây là 1 mạch không thể thiếu cho ai cónhu cầu làm việc với PIC 1 các thường xuyên Mạch hoạt động ổn định Phần mềmvà driver đầy đủ Đơn giản dễ sử dụng.
CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG MẠCH4.1 Sơ đồ mạch proteus
Hình 4.1 sơ đồ mạch trên proteus
4.2 Sơ đồ các bộ thiết bị và chức năng từng.4.2.1 Sơ đồ các bộ thiết bị
Trang 144.2.2 Chức năng:
4.2.2.1 Nguồn DC adapter 5v:
- Cung cấp nguồn cho toàn bộ hệ thống Bộ sử dụng là adapter 5V - 2APIC 16F877ACẢM BIẾN KHÍ
GAS( MQ2) VÀ CẢMBIẾN NHIỆT( LM35)
THIẾT BỊ ĐIỆN
BỘ HIỂN THỊTRẠNG THÁI
Trang 15Hình 4.2 bộ nguồn adapter 5V
Hình 4.3 bộ nguồn trong proteus
- Thông số kỹ thuật:+ Điện áp ngõ ra DC 5V
+ Điện áp ngõ vào AC 100V - 240V+ Cường độ dòng điện 2A
4.2.2.2 Bộ cảm biến:
- Phát hiện ra khí dễ cháy và đo nhiệt độ liên tục truyền dữ liệu về PIC16F877A
Trang 16Hình 4.4: bộ cảm biến trong proteus
- Nguyên lý hoạt dộng:
+ Cảm biến khí gas MQ2: nó được cấu tạo từ chất bán dẫn SnO2 khi ở trong môi trường có khí dễ cháy thì chất này này sẽ phản ứng làm thay đổi độ dẫn nhờ đặc tính đó con người đã biến đổi độ dẫn đó thành tín hiệu điện.
+ Cảm biến nhiệt độ LM35: dựa vào sự thay đổi tuyến tính điện áp so với nhiệtđộ khi nhiệt độ tăng hoặc giảm 10C thì điện áp ngõ ra sẽ tăng hoặc giảm 10mV.
Trang 17Hình 4.5: thiết bị điện trong proteus.4.2.2.5 Bộ hiển thị trạng thái
- Hiển thị thông tin lên màn hình LCD1602A trong trường hợp có cháy thì sẽ cócòi và đèn LED báo động.
Hình 4.6: bộ hiển thị trạng thái trong proteus4.3 Nguyên lý hoạt động:
- Cấp nguồn thì hệ thống hoạt động, lúc này hai con cảm biến nhiệt độ LM 35
liên tục đo nhiệt độ truyền dữ liệu đến con PIC 16F877A để xử lý và xuất thông tinlên màn hình hiển thị LCD1602A, khi nhiệt bên ngoài môi trường lớn hơn nhiệt độđiều chỉnh (nút tăng giảm cho phù hợp với môi trường bình thường bên ngoài) thìLCD sẽ hiển thị là có cháy, tương tự con cảm biến khí gas MQ2 sẽ hoạt động bìnhthường nhưng khi có khí dễ cháy nổ thì nó truyền dữ liệu đến Pic 16F877A để xử lývà hiển thị thông tin trên LCD
4.4 Lưu đồ giải thuật:
Bắt đầu
Trang 18Kết thúcLCD hiển thị nhiệt độ
đo được
LCD hiển thị có cháy,đèn báo động và còi
hoạt độngNhiệt độ đo được
> nhiệt điều chỉnhhoặc có khí dể
cháy
Trang 194.5 Code vi điều khiển
#include<16f877a.h>#device *=16 adc=10;#fuses hs,put,nowdt
#use delay(clock=20000000)#include<lcd.c>
#define gas input(pin_a1) #define up input(pin_b0) #define down input(pin_b7)
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7
int16 nhietdo,i; int x=40;void main(){
set_tris_b(0x11); set_tris_d(0x00); lcd_init(); delay_ms(10);
setup_adc(adc_clock_internal);
Trang 20else if(down==0) // dieu chinh nhiet do dat giam 5 don vi {
x=x-5;
while(down==0) x=x; }
for(i=0;i<30;i++) {
nhietdo=nhietdo+(read_adc()); delay_us(10);
}
nhietdo=nhietdo/30/2.046; delay_ms(1000);
if(nhietdo<=x&&gas==1) {
lcd_gotoxy(1,1);
printf(lcd_putc,"TempSet:%d",x); lcd_putc(0xDF);
lcd_putc("C "); lcd_gotoxy(1,2);
printf(lcd_putc,"TempReal:%ld",nhietdo);
Trang 21lcd_putc(0xDF); lcd_putc("C "); output_low(pin_C3); delay_ms(300); }
else if(nhietdo<=x&&gas==0) {
else if(nhietdo>x&&gas==0) {
lcd_gotoxy(1,1);
lcd_putc(" Co Chay "); lcd_gotoxy(1,2);
lcd_putc(" Warning "); output_high(pin_C3); delay_ms(300); }
Trang 22
lcd_gotoxy(1,1);
lcd_putc(" Co Chay "); lcd_gotoxy(1,2);
lcd_putc(" Warning "); output_high(pin_C3); delay_ms(300); }
} }
4.6 Mô phỏng trên proteus:
Trang 23Hình 4.7: mô phỏng trên proteus
- Khi hệ thống hoạt động ban đầu thì sẽ xuất ra màn hình các dữ liệu nhiệt độ
điều chỉnh và nhiệt độ thực được đo mô phỏng trên con cảm biến LM35.
Trang 24- Khi có khí dễ cháy mà nhiệt độ thực lúc này vẫn thấp hơn nhiệt độ điều chỉnhthì sẽ xuất kết quả là “khi gas warning”.
Hình 4.9: mô phỏng trên proteus khi có cháy
- Khi nhiệt độ thực ở ngoài môi trường lớn hơn so với nhiệt độ điều chỉnh thìlúc này màn hình LCD sẽ xuất kết quả là “co chay warning”
Trang 25CHƯƠNG 5: CHẠY HỆ THỐNG BÁO CHÁY THỰC TẾ5.1 Trạng thái hiển thị:
Trang 26Hình 5.2: hệ thống báo chay khi có sự cố5.2 kết luận:
TÀI LIỆU THAM KHẢO
[1] https://components101.com/sensors/mq2-gas-sensor
[2] https://electrosome.com/microcontroller/pic-16f877a-datasheet/
[3] http://www.datasheet.es/PDF/49860/LM35-pdf.html
[4] http://www.datasheetcafe.com/lcd-1602a-datasheet-lcd-module/