Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
8,25 MB
Nội dung
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA VẬT LÝ –— Đề tài: HỆ THỐNG CHỐNG TRỘM GIA ĐÌNH BẰNG CẢM BIẾN HỒNG NGOẠI DÙNG VI ĐIỀU KHIỂN MSP430G2553 GVHD : PHẠM XUÂN TRUNG SVTH : LÊ THỊ HỒNG CÁC NGUYỄN THỊ TRƯỜNG Lớp : 10CVL Khoá : 2010 - 2014 Ngành : VẬT LÝ HỌC Đà Nẵng, 05/2014 KHÓA LUẬN TỐT NGHIỆP LỜI CẢM ƠN Trong suốt năm học (2010 - 2014) Trường Đại học Sư Phạm - Đại Học Đà Nẵng, với giúp đỡ qúy thầy cô giáo viên hướng dẫn mặt từ nhiều phía thời gian thực đề tài, nên đề tài hoàn thành thời gian qui định Chúng em xin chân thành gửi lời cảm ơn đến quý thầy cô khoa Vật lý, trường Đại học Sư Phạm - Đại Học Đà Nẵng quan tâm giúp đỡ, tạo điều kiện cho chúng em thực đề tài luận văn tốt nghiệp Chúng em gửi lời cảm ơn sâu sắc đến thầy Phạm Xuân Trung - khoa Điện Tử Viễn Thông - Đại Học Bách Khoa trực tiếp hướng dẫn, định hướng chun mơn, quan tâm giúp đỡ tận tình tạo điều kiện thuận lợi trình thực luận văn Nhờ chúng em tiếp thu ý kiến đóng góp nhận xét quý báu thầy Trên hết chúng em xin bày tỏ lịng kính trọng biết ơn sâu sắc đến gia đình tạo điều kiện tốt để chúng em hồn thành tốt cơng việc trình thực luận văn Chúng em xin chân thành cảm ơn quý Thầy Cô khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quý báu năm học vừa qua Bên cạnh đó, chúng em xin gửi lời cảm ơn tới bạn bè anh Công ty TNHH Thiết kế & Giải pháp Điện tử Vnelektronics giúp đỡ suốt thời gian thực luận văn Mặc dù chúng em cố gắng hoàn thành luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến quý thầy cô bạn Xin chân thành cảm ơn! Sinh viên thực KHÓA LUẬN TỐT NGHIỆP MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC BẢNG BIỂU DANH MỤC HÌNH DANH SÁCH TỪ VIẾT TẮT LỜI MỞ ĐẦU TÓM TẮT CHƯƠNG 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN MSP430G2553 13 1.1 Tổng quan MSP430 13 1.2 Vi điều khiển MSP430G2553 .15 1.2.1 Sơ đồ chân: 15 1.2.2 Cấu trúc xuất nhập 21 1.2.3 Hoạt động xuất nhập 22 1.2.4 Mô tả khối chức 22 1.2.5 Khối xử lý trung tâm (CPU) 22 1.2.6 Tổ chức nhớ .24 1.2.7 Các ghi 25 1.2.7.1 Thanh ghi Input PxIN 25 1.2.7.2 Thanh ghi đầu PxOUT 25 1.2.7.3 Thanh ghi định hướng PxDIR .26 1.2.7.4 Thanh ghi lựa chọn chức PxSEL PxSEL2 26 1.2.7.5 Các ngắt P1 P2 26 1.2.8 Bộ định thời 27 1.2.8.1 Các đặc tính Timer_A bao gồm: 27 1.2.8.2 Các chức cụ thể Timer A sau 28 1.2.9 Ngắt tái khởi động .30 1.2.9.1 Ngắt (Interrupts) 30 1.2.9.2 Tái khởi động (Resets) 30 KHÓA LUẬN TỐT NGHIỆP CHƯƠNG 2: TỔNG QUAN VỀ CẢM BIẾN HỒNG NGOẠI 32 2.1 Giới thiệu tia hồng ngoại .32 2.1.1 Khái niệm 32 2.1.2 Tính chất 32 2.1.3 Nguồn phát sóng hồng ngoại phổ hồng ngoại 33 2.2 Giới thiệu tia nhiệt 34 2.3 Linh kiện thu sóng hồng ngoại 34 2.4 Cảm biến thu phát hồng ngoại 35 2.4.1 Giới thiệu 35 2.4.2 Led phát hồng ngoại .35 2.4.2.1 Cấu tạo ký hiệu .35 2.4.2.2 Nguyên lý làm việc .36 2.4.3 Led thu hồng ngoại (Photodiode) 37 2.4.3.1 Khái quát .37 2.4.3.2 Nguyên lý hoạt động .38 2.5 Cảm biến hồng ngoại PIR 40 2.5.1 Giới thiệu 40 2.5.2 Cấu tạo cảm biến PIR .41 2.5.3 Thiết bị hội tụ tia nhiệt cho module cảm biến PIR 42 2.5.4 Nguyên lý hoạt động cảm biến PIR 43 2.5.4.1 Môi trường hoạt động cảm biến PIR 43 2.5.4.2 Nguyên tắc hoạt động module cảm biến PIR 43 CHƯƠNG 3: THIẾT KẾ MẠCH CHỐNG TRỘM 47 3.1 Thiết kế mạch 47 3.2 Sơ đồ khối hệ thống 47 3.3 Một số linh kiện điện tử sử dụng mạch .48 3.3.1 LED 48 3.3.2 LCD 50 3.3.2.1 Giới thiệu .50 3.3.2.2 Chức chân 51 3.3.2.3 Các chân điều khiển LCD .52 KHÓA LUẬN TỐT NGHIỆP 3.3.2.4 Tập lệnh LCD 53 3.3.2.5 Giao tiếp bit…………………………………………………………… 44 3.3.2.6 Vi điều khiển Text LCD 56 3.3.3 LM 358 58 3.4 Thiết kế mạch nguyên lý .58 3.4.1 Sơ đồ mạch nguyên lý 58 3.4.2 Nguyên lý hoạt động 60 3.4.3 Tính tốn chọn linh kiện 60 3.4.3.1 Led đơn 60 3.4.3.2 Led màu 61 3.4.3.3 LM 358 Led thu phát hồng ngoại 62 3.5 Lưu đồ thuật toán 64 3.5.1 Chương trình 64 3.5.2 Chương trình giao tiếp MSP430G2553 với LCD 67 3.6 Thi cơng mơ hình 68 3.6.1 Sơ đồ Layout 68 3.6.2 Sản phẩm hoàn chỉnh .69 3.6.3 Kết kiểm tra thực tế 71 3.7 Đánh giá hệ thống 72 3.7.1 Kết đạt .72 3.7.2 Khuyết điểm hướng khắc phục 72 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 73 TÀI LIỆU THAM KHẢO 75 PHỤ LỤC KHÓA LUẬN TỐT NGHIỆP DANH MỤC BẢNG BIỂU Bảng 1.1: Chức chân vi điều khiển MSP430G2553 16 Bảng 1.2: Chức port xuất nhập chức đặc biệt .26 Bảng 3.1: Bảng xếp chân Text LCD 39 Bảng 3.2: Tóm tắt lệnh ghi vào LCD 41 KHÓA LUẬN TỐT NGHIỆP DANH MỤC HÌNH Hình 1.1: Vi điều khiển MSP430G2553 13 Hình 1.2: Cấu trúc chung MSP430 13 Hình 1.3: Một số phiên họ vi điều khiển MSP430 15 Hình 1.4: Sơ đồ chân MSP430G2553 15 Hình 1.5: Sơ đồ khối vi điều khiển MSP430G2553 22 Hình 1.6: CPU Block Diagram 23 Hình 1.7: Tổ chức nhớ 25 Hình 1.8: Sơ đồ khối TimerA .27 Hình 1.9: Up Mode 28 Hình 1.10: Continous Mode 28 Hình 1.11: Up/Down Mode .29 Hình 1.12: Output Example – Timer in up mode .30 Hình 2.1: Quang phổ nguồn sáng .33 Hình 2.2: Tia nhiệt 34 Hình 2.3: Led phát hồng ngoại 35 Hình 2.4: Ký hiệu led phát hồng ngoại .36 Hình 2.5: Led thu hồng ngoại 37 Hình 2.6: Photodiode làm việc với điện ngược 38 Hình 2.7: Chuyển tiếp P – N hàng rào 39 Hình 2.8: Hiệu ứng quang điện vùng nghèo chuyển tiếp P – N .40 Hình 2.9: Cảm biến PIR .41 Hình 2.10: Vật liệu pyroelectric cảm biến dị tia nhiệt 41 Hình 2.11: Cấu tạo cảm biến PIR 42 Hình 2.12: Dùng kính Fresnel để chụp lên cảm biến PIR 42 KHĨA LUẬN TỐT NGHIỆP Hình 2.13: Kính Fresnel hội tụ tia nhiệt vào vị trí cảm biến PIR 43 Hình 2.14: Khi chưa có vật di chuyển vào vùng phát tín hiệu 44 Hình 2.15: Vật thể di chuyển vào vùng ảnh hưởng tín hiệu bắt đầu xuất 45 Hình 2.16: Vật thể vào vùng ảnh hưởng thứ 45 Hình 2.17: Vật thể qua khỏi vùng ảnh hưởng 46 Hình 2.18: Trạng thái thường trực 46 Hình 3.1: Sơ đồ khối hệ thống 48 Hình 3.2: Các mẫu đèn Led thường gặp 48 Hình 3.3: Sơ đồ nguyên lý led đơn 49 Hình 3.4: Hình LCD 16x2 .50 Hình 3.5: sơ đồ chân LCD 51 Hình 3.6: Hoạt động chân RS 52 Hình 3.7: Trình tự giao tiếp với LCD .57 Hình 3.8: LM358 .58 Hình 3.9: Sơ đồ nguyên lý 59 Hình 3.10: Khối Led đơn 60 Hình 3.11: Sơ đồ nguyên lý Led báo nguồn .61 Hình 3.12: Sơ đồ chân LM 358 .62 Hình 3.13: Sơ đồ nguyên lý khối thu phát hồng ngoại .62 Hình 3.14: Lưu đồ thuật tốn chương trình 64 Hình 3.15: Lưu đồ thuật tốn chương trình Ngắt ngoại vi PORT 65 Hình 3.16: Lưu đồ thuật tốn chương trình ngắt TimerA0 .66 Hình 3.17: Lưu đồ thuật tốn chương trình giao tiếp MSP430G2553 với LCD 67 Hình 3.18: Sơ đồ layout mặt trước 68 Hình 3.19: Sơ đồ layout mặt sau .68 Hình 3.20: Mặt trước .69 KHĨA LUẬN TỐT NGHIỆP Hình 3.21: Mặt sau 69 Hình 3.22: Mạch hồn chỉnh 70 Hình 3.23: Mơ hình hồn chỉnh……………………………………………………59 KHĨA LUẬN TỐT NGHIỆP DANH SÁCH TỪ VIẾT TẮT VĐK : Vi điều khiển LED : Light Emitting Diode PIR : Passive InfraRed IR : Tia hồng ngoại IrDA : Infrared Data Associatio CPU : Khối xử lý trung tâm PC : Program counter (Thanh ghi đếm chương trình) SP : Stack pointer (Con trỏ ngăn xếp) SR : Status register (Thanh ghi trạng thái) RAM : Random access memory TACLK : Timer A clock ACLK : Auxiliary clock SMCLK : Submaster clock TAR : Timer A register TACCR0 : Timer A Capture/Compare register CCIFG : Capture/Compare interrupt flag PT : phototransistor PVDF : Polyviny-Lidendifluorid IR Led : Infra Red Led GaAs : Arsenic-Galium LCD : Liquid Crystal Display RS : Reset 10 KHÓA LUẬN TỐT NGHIỆP P2DIR |= (BIT0 + BIT3); P2OUT &= ~(BIT0 + BIT3); } // * // * Bat chuong bao dong // * Su dung Timer A0 de nhay LED & chuong // * void turnOnAlarm(void) { // Cai dat timer CCTL0 = CCIE; // CCR0 interrupt enabled CCR0 = 0xFFFE; TACTL = TASSEL_2 + ID_3 + MC_1; // SMCLK, UP, /2 spearker_num = 0x00; // Bat LED bao dong P2OUT |= BIT0; // Bat loa bao dong P2OUT |= BIT3; } // * // * Ham main // * Chuong trinh chinh, goi cac ham // * void main(void) { WDTCTL = WDTPW + WDTHOLD; // Dung watchdog timer KHÓA LUẬN TỐT NGHIỆP BCSCTL1 = CALBC1_8MHZ; // Tan so hoat dong CPU = 1MHz DCOCTL = CALDCO_8MHZ; init_Ports(); lcdinit(); // Khoi tao cac chan input/output // Khoi tao LCD 16x2 enable_interrupt(); // Cho phep ngat toan cuc // Hien thi thong tin tac gia lcdblink(4,"Chong trom - PIR"); lcd_delay(150); lcdrotade(1,'l',"Thi Truong - Hong Cac"); lcd_delay(250); lcd_delay(200); // Hien thi man hinh Home lcdblink(2,"Alarm Home"); while (1) { // Khong lam gi ca } } // * // * Chuong trinh xu ly ngat dung de // * bat/tat loa bao dong // * #pragma vector = TIMER0_A0_VECTOR interrupt void Timer_A_ISR (void) KHÓA LUẬN TỐT NGHIỆP { // disable_interrupt(); // Tang bien dem so lan spearker_num++; // Bat/tat loa, LED bao dong P2OUT ^= (BIT0 + BIT3); if(spearker_num == 35) { TACTL = 0x00; // Dung Timer A0 P2OUT &= ~BIT3; // Tat loa bao dong P2OUT &= ~BIT0; // Tat LED bao dong // Xoa LCD lcd_clear(); lcddatas(1,"Alarm Home"); } // enable_interrupt(); // Xoa co ngat timer CCTL0 &= ~CCIFG; } // * // * Ham xu ly ngat ngoai vi // * xu ly cho module hong ngoai, PIR, button // * #pragma vector=PORT2_VECTOR KHÓA LUẬN TỐT NGHIỆP interrupt void Port2_Vector_ISR(void) { // disable_interrupt(); if(P2IFG & BIT4) // PIR tai cua so { // Bat chuong bao dong turnOnAlarm(); // Hien thi LCD lcd_clear(); lcddatas(1, "Bao dong!"); lcddatas(2, "Co trom: Cua so"); // Xoa co ngat P2IFG &= ~BIT4; } else if(P2IFG & BIT5) // PIR tai cua vao/ra { // Bat chuong bao dong turnOnAlarm(); // Hien thi LCD lcd_clear(); lcddatas(1, "Bao dong!"); lcddatas(2, "Co trom: Vao ra"); // Xoa co ngat P2IFG &= ~BIT5; } else if(P2IFG & BIT1) // PIR tai cong KHÓA LUẬN TỐT NGHIỆP { // Bat chuong bao dong turnOnAlarm(); // Hien thi LCD lcd_clear(); lcddatas(1, "Bao dong!"); lcddatas(2, "Co trom: Cong"); // Xoa co ngat P2IFG &= ~BIT1; } else if(P2IFG & BIT6) { // Kiem tra nut nhan? delay_cycles(200); if(P2IN & BIT6) { // Dung timer bao dong TACTL = 0x00; // Tat loa & LED bao dong P2OUT &= ~(BIT0 + BIT3); // Hien thi LCD lcd_clear(); lcddatas(1, "Alarm Home"); } // Xoa co ngat KHÓA LUẬN TỐT NGHIỆP P2IFG &= ~BIT6; } // Cho phep ngat toan cuc // enable_interrupt(); } ************Chương trình giao tiếp MSP430G2553 với LCD************* /* lcddatas(row no,"DATA which u need to desplay"); for desplay string on lcd lcddata("data(only single char) which u need to desplay on lcd") lcdblink(no of time u wont to blink data,"data which u wont to blink"); hear data desplay on row only lcdrotade (row no,'direction of rotaed l or r',"data which u wont to rotaed"); visit : http://ramoliyabiren.blogspot.com/ RS = P1.5 EN = P1.4 KHÓA LUẬN TỐT NGHIỆP D4:D7 = P1.3 : P1.0 */ #ifndef _LCD16X2_H_ #define _LCD16X2_H_ #define SET_PIN_RS (P1OUT |= BIT5) #define CLR_PIN_RS (P1OUT &= ~BIT5) #define SET_PIN_EN (P1OUT |= BIT4) #define CLR_PIN_EN (P1OUT &= ~BIT4) #define LCD_OUT #define LCD_DIR P1OUT P1DIR void lcd_delay(unsigned int ms); void lcd_enable(void); void lcd_command(unsigned char cmd); void lcd_datac(unsigned char ascii); KHÓA LUẬN TỐT NGHIỆP void lcdrow(unsigned char no); void lcddatas (unsigned char row,unsigned char *lcdstring); void lcdblink(unsigned char no,unsigned char *lcdstring); void lcdrotade(unsigned char no,unsigned char dir,unsigned char *lcdstring); void lcdinit(); #define lcd_clear() (lcd_command(0x01), lcd_delay(1)) void lcd_delay(unsigned int ms) { unsigned char n; unsigned int i; for (n=0; n4; k = (((k & BIT3)>>3) + ((k & BIT2)>>1) + ((k & BIT1)1) + ((k & BIT1)3) + ((k & BIT2)>>1) + ((k & BIT1)1) + ((k & BIT1)