Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
1,81 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - Đinh Thị Hải NGHIÊN CỨU XÂY DỰNG HỆ QUAN TRẮC KHÍ THẢI GIAO THƠNG SỬ DỤNG MẠNG CẢM BIẾN KHÔNG DÂY LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2021 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN - ĐINH THỊ HẢI NGHIÊN CỨU XÂY DỰNG HỆ QUAN TRẮC KHÍ THẢI GIAO THÔNG SỬ DỤNG MẠNG CẢM BIẾN KHÔNG DÂY Chuyên ngành: Vật lý vô tuyến điện tử Mã số: 8440130.03 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Trần Quốc Tuấn TS Lê Quang Thảo Hà Nội - 2021 LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu xây dựng hệ quan trắc khí thải giao thơng sử dụng mạng cảm biến khơng dây” cơng trình nghiên cứu − học viên Đinh Thị Hải, chuyên ngành Vật lý vô tuyến điện tử, khoa Vật lý, trường Đại học Khoa học tự nhiên, Đại học Quốc gia Hà Nội hoàn thành hướng dẫn TS Trần Quốc Tuấn TS Lê Quang Thảo Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Nếu luận văn chép từ tài liệu xin hoàn toàn chịu trách nhiệm trước đơn vị đào tạo pháp luật Hà Nội, ngày 20 tháng 12 năm 2020 Học Viên Đinh Thị Hải LỜI CẢM ƠN Để hồn thiện luận văn, tơi xin bày tỏ lịng biết ơn sâu sắc đến thầy hướng dẫn TS Trần Quốc Tuấn TS Lê Quang Thảo Trong suốt trình thực luận văn, thầy tận tình hướng dẫn, giúp đỡ để tơi hồn thành luận văn Tơi xin chân thành cảm ơn Thầy cô giáo Bộ môn Vật lý Vô tuyến, Khoa Vật lý, Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội truyền đạt cho kiến thức kinh nghiệm quý báu trình học tập nghiên cứu Tôi xin cảm ơn đến cán quản lý thiết bị, máy móc thuộc danh mục thiết bị bảng A trang bị Bộ môn Vật lý Vô tuyến, Khoa Vật lý Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia Hà Nội Tôi bày tỏ lịng biết ơn đến gia đình, bạn bè, đồng nghiệp, người ủng hộ động viên giúp đỡ thời gian làm luận văn Tôi xin chân thành cảm ơn! Học viên: Đinh Thị Hải MỤC LỤC MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ MẠNG CẢM BIẾN KHÔNG DÂY 1.1 Giới thiệu mạng cảm biến không dây 1.2 Đặc tính mạng cảm biến khơng dây 1.2.1 Linh hoạt thiết kế 1.2.2 Khả tự tổ chức tốt 1.2.3 Giao tiếp mạng cảm biến 1.2.4 Năng lượng tiêu thụ 1.2.5 Chi phí sản xuất 1.3 Node cảm biến thành phần node cảm biến 1.3.1 Cảm biến 1.3.2 Bộ vi xử lý 1.3.4 Bộ thu phát 1.3.5 Năng lượng node cảm biến 1.4 Ứng dụng mạng cảm biến không dây 1.4.1 Ứng dụng quân 10 1.4.2 Ứng dụng vào môi trường 11 1.4.3 Ứng dụng chăm sóc sức khỏe 12 1.4.4 Ứng dụng vào thiết bị nhà 12 1.4.5 Ứng dụng công nghiệp 13 1.4.6 Ứng dụng nông nghiệp 13 1.5 Kiến trúc mạng cảm biến không dây 13 1.5.1 Mục tiêu kiến trúc mạng cảm biến không dây 13 1.5.2 Xác định ứng dụng mạng cảm biến không dây 14 1.5.3 Xác định xu hướng công nghệ 14 1.5.4 Tối ưu hóa thiết kế 14 1.5.5 Kiểu mạng đơn bước đa bước 14 1.5.6 Các kiểu cấu trúc mạng 15 1.6 Mơ hình giao thức mạng cảm biến không dây 16 1.6.1 Giao thức tầng ứng dụng 17 1.6.2 Giao thức tầng truyền tải 17 1.6.3 Giao thức tầng mạng 18 1.6.4 Giao thức tầng liên kết liệu 18 1.6.5 Giao thức tầng vật lý 20 1.6.6 Khối quản lý lượng 21 1.6.7 Khối quản lý di động 21 1.6.8 Khối quản lý nhiệm vụ 21 CHƯƠNG KHẢO SÁT CẢM BIẾN KHÍ THẢI GIAO THƠNG 23 2.1 Ơ nhiễm khơng khí 23 2.2 Ơ nhiễm khơng khí khí thải giao thơng 23 2.3 Ảnh hưởng khí thải giao thông đến sức khỏe người 25 2.4 Quy chuẩn khí thải giao thơng 25 2.5 Các loại cảm biến đánh giá ô nhiễm không khí 26 2.5.1 Cảm biến điện hóa 26 2.5.2 Cảm biến xúc tác 27 2.5.3 Cảm biến hồng ngoại 27 2.5.4 Cảm biến bán dẫn 28 2.6 Cảm biến MICS 6814 29 2.6.1 Mô đun cảm biến 29 2.6.2 Nguyên lý hoạt động 29 2.6.3 Đặc tính thành phần cảm biến MICS 6814 30 2.6.4 Hiệu chuẩn cảm biến MICS 6814 33 Kết luận chương 34 CHƯƠNG Xây dỰNG MẠNG CẢM BIẾN KHÔNG DÂY QUAN TRẮC KHÍ THẢI GIAO THƠNG 35 3.1 Kiến trúc tổng thể hệ thống 36 3.1.1 Node cảm biến 37 3.1.2 Khối xử lý trung tâm 38 3.2 Vi điều khiển họ AVR Atmel 41 3.3 Mô đun nRF24L01 42 3.4 Sơ đồ thuật toán 48 3.4.1 Thuật toán hoạt động node cảm biến 48 3.4.2 Thuật toán hoạt động khối xử lý trung tâm 50 3.5 Vận hành thử 52 Kết luận chương 52 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 53 4.1 Bố trí hệ quan trắc 54 4.2 Hoạt động node cảm biến 54 4.3 Hoạt động khối xử lý trung tâm 55 4.4 Kết thực nghiệm 56 Kết luận chương 59 KẾT LUẬN CHUNG 60 TÀI LIỆU THAM KHẢO 62 PHỤ LỤC 64 DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT Từ viết tắt Cụm từ Nghĩa tiếng Việt ACK Acknowledgement ADC Analog Digital Converter Tín hiệu sử dụng truyền thông số để đảm bảo liệu nhận Vi điều khiển họ AVR AVR CPU ISM Bộ chuyển đổi tương tự - số Bộ xử lý trung tâm Central Processing Unit Industrial, Scientific and Chuẩn công nghiệp, nghiên cứu khoa Medical học y tế LCD Liquid Crystal Display Màn hiển thị tinh thể lỏng WSN Wireless sesor network Mạng cá nhân không dây tốc độ thấp MAC Media Access Control Điều khiển truy cập đường truyền MCU Microcontroller unit Đơn vị vi xử lý trung tâm Tên riêng thu phát nRF24L01 nRF24L01 Bộ thu phát sóng vơ tuyến RF Radio frequency RISC Reduced Instruction Computer RX Receiver Thu sóng SPI Serial Peripheral Interface Giao tiếp ngoại vi nối tiếp TX Transmitter Phát sóng MEMS Micro Electro Mechanical Hệ thống điện tử Systems Set Cấu trúc tập hợp lệnh rút gọn CMOS GPS SMP TADAP Complementary Metal- Oxide-Semiconductor Global Positioning System Symmetric Multi- Processing Cơng nghệ điều chế mạch tích hợp Hệ thống định vị toàn cầu Đa xử lý đối xứng Task Assignment and Data Giao thức nhiệm vụ quảng cáo Advertisement Protocol liệu SQDDP Sensor Query and Data Giao thức truy vấn phân bổ liệu Dissemination Protocol TCP Transmission Protocol TDMA Time Division Access Multiple CSMA Carrier Access Multiple AQI Air Quality Index GPRS General Service GSM Sense Packet Control Đa kết nối phân chia theo khe thời gian Đa truy cập sóng mang Chỉ số chất lượng khơng khí Radio Global System for Mobile Communications Giao thức truyền Dịch vụ liệu di động Hệ thống thơng tin di động tồn cầu DANH MỤC CÁC BẢNG BIỂU Bảng 2.1 Bảng thơng số tiêu chuẩn khí thải Euro 26 Bảng 2.2 Thông số kĩ thuật phần tử cảm biến CO 31 Bảng 2.3 Thông số kĩ thuật phần tử cảm biến NO2 32 Bảng 2.4 Thông số kĩ thuật phần tử cảm biến NH3 32 Bảng 3.1 Các tính thu phát vô tuyến nRF24L01 44 Bảng 3.2 Chức chân nRF24L01 47 CSN=1; delay_us(10); CSN=0; RF_Write_Add_TX_2(TX_ADDR, Address, Address2); } void RX_Address(unsigned char Address_Pipe, unsigned char Address){ CSN=0; RF_Write(SETUP_AW,0b00000011); CSN=1; delay_us(10); CSN=0; RF_Write_Add(Address_Pipe, Address); } void RX_Address_2(unsigned char Address_Pipe, unsigned char Address, unsigned char Address2){ CSN=0; RF_Write(SETUP_AW,0b00000011); CSN=1; delay_us(10); CSN=0; RF_Write_Add_RX_2(Address_Pipe, Address, Address2); //ghi vao pipe number, d?a ch? d?a ch? pipe } void Common_Config(){ CE=1; delay_us(700); CE=0; CSN=1; SCK=0; delay_us(100); RF_Write(STATUS,0b01111110); //STATUS 0x7E; clear all IRQ flag RF_Command(0b11100010); //0xE2; flush RX RF_Command(0b11100001); //Flush TX 0xE1 RF_Write(CONFIG,0b00011111); //0x1E; truy?n d? li?u delay_ms(2); RF_Write(RF_CH,0b00000010); //RF_CH 0x05 Chanel RF = 2400 + RF_CH* (1or M) RF_Write(RF_SETUP,0b00000111); //RF_SETUP 0x07 = 1M, 0dBm RF_Write(FEATURE, 0b00000100); //0x1D Dynamic payload length } void TX_Mode(){ CE=0; RF_Write(CONFIG,0b00011110); delay_us(130); //nrf can de khoi dong vao rx mode hoac txmode } void RX_Mode(){ RF_Write(CONFIG,0b00011111); CE=1; delay_us(130); //nrf can de khoi dong vao rx mode hoac txmode } void TX_Config(){ RF_Write(STATUS,0b01111110); //xoá IRQ flag RF_Command(0b11100001); //Flush TX 0xE1 TX_Address(Send_Add); //Ghi d?a ch? g?i d? li?u vào nRF24L01 RF_Write(DYNPD,0b00000001); //Ð?t ch? d? dynamic paypload ? pipe RF_Write(EN_RXADDR,0b00000001); //Enable Pipe } void TX_Config_2(){ RF_Write(STATUS,0b01111110); //xoá IRQ flag RF_Command(0b11100001); //Flush TX 0xE1 TX_Address_2(Send_Add, Address2); //Ghi d?a ch? g?i d? li?u vào nRF24L01 RF_Write(DYNPD,0b00000001); //Ð?t ch? d? dynamic paypload ? pipe RF_Write(EN_RXADDR,0b00000001); //Enable Pipe } void RX_Config(){ RF_Write(STATUS,0b01111110); //xoá IRQ flag RF_Command(0b11100010); //Flush RX RF_Write(DYNPD,0b00000001); //Ð?t ch? d? dynamic paypload ? pipe RF_Write(EN_RXADDR,0b00000001); //Enable RX ? Pipe RX_Address(RX_ADDR_P0, Address1); } void RX_Config_4(){ RF_Write(STATUS,0b01111110); //xoá IRQ flag RF_Command(0b11100010); //0xE2 = Flush RX RF_Write(DYNPD,0b00001111); //Ð?t ch? d? dynamic paypload ? pipe 04 RF_Write(EN_RXADDR,0b00001111); //Enable RX ? Pipe - pipe RX_Address(RX_ADDR_P0, Address1); RX_Address(RX_ADDR_P1, Address2); RX_Address_2(RX_ADDR_P2, Address3, Address2); RX_Address_2(RX_ADDR_P3, Address4, Address2); } void RX_Config_6(){ RF_Write(STATUS,0b01111110); RF_Command(0b11100010); //0xE2 = Flush RX RF_Write(DYNPD,0b00111111); RF_Write(EN_RXADDR,0b00111111); RX_Address(RX_ADDR_P0, Address1); RX_Address(RX_ADDR_P1, Address2); RX_Address_2(RX_ADDR_P2, Address3, Address2); RX_Address_2(RX_ADDR_P3, Address4, Address2); RX_Address_2(RX_ADDR_P4, Address5, Address2); RX_Address_2(RX_ADDR_P5, Address6, Address2); } void TX_Send(){ TX_Address(Send_Add); //Ghi d?a ch? g?i d? li?u vào nRF24L01 CSN=1; delay_us(10); CSN=0; SPI_Write(0b11100001); //0xE1=Define flush TX register command CSN=1; delay_us(10); CSN=0; SPI_Write(0b10100000); //0xA0 = Define TX payload register address SPI_Write(station_send.flag); //ghi d? li?u vào payload SPI_Write(station_send.light); SPI_Write(station_send.humi); SPI_Write(station_send.temp); SPI_Write(station_send.sm); SPI_Write(station_send.water); CSN=1; CE=1; delay_us(500); CE=0; RF_Write(0x07,0b01111110); //STATUS, 0x7E-clear IRQ flag (Tam test 0x70 van chay) TX_Address(Send_Add); //Ghi d?a ch? g?i d? li?u vào nRF24L01 RF_Command(0b11100001);//Flush TX 0xE1 } void TX_Send_2(){ TX_Address_2(Send_Add, Address2); //Ghi d? li?u vào nRF24L01 theo d?ng 4byte Address2 byte Send_Add CSN=1; delay_us(10); CSN=0; SPI_Write(0b11100001); CSN=1; delay_us(10); CSN=0; SPI_Write(0b10100000); SPI_Write(station_send.flag); SPI_Write(station_send.light); SPI_Write(station_send.humi); SPI_Write(station_send.temp); SPI_Write(station_send.sm); SPI_Write(station_send.water); CSN=1; CE=1; delay_us(500); CE=0; RF_Write(0x07,0b01111110); TX_Address_2(Send_Add, Address2); RF_Command(0b11100001); } void RX_Read(){ CE=0; CSN=1; delay_us(10); CSN=0; SPI_Write(0b01100001); //0x61 = Define RX payload register address delay_us(10); station_receive.flag = SPI_Read(); station_receive.light = SPI_Read(); station_receive.humi = SPI_Read(); station_receive.temp = SPI_Read(); station_receive.sm = SPI_Read(); station_receive.water = SPI_Read(); CSN=1; CE=1; RF_Write(STATUS,0b01111110); // 0x7E-clear IRQ flag RF_Command(0b11100010); //0xE2 = Flush RX } Chương trình thu thập liệu node cảm biến #include #include #include #include #include "define.c" #include "rf_multi.c" #define voltage 5.0 #define analog_scale 1023.0 unsigned char buff[20]; int NH3, NO2, CO; void main(void) { Send_Add = 0xA1; Init_system(); Common_Config(); TX_Mode(); TX_Config(); delay_ms(1000); TCCR0=(0