1. Trang chủ
  2. » Giáo Dục - Đào Tạo

HỆ THỐNG BƠM PHÂN TỰ ĐỘNG ỨNG DỤNG iot

118 25 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 1. TỔNG QUAN

    • 1.1. ĐẶT VẤN ĐỀ

    • 1.2. MỤC TIÊU

    • 1.3. NỘI DUNG NGHIÊN CỨU

    • 1.4. BỐ CỤC

  • 2. GIỚI THIỆU ĐỀ TÀI

    • 2.1. PRODUCT REQUIREMENT

      • 2.1.1. Name:

      • 2.1.2. Purpose:

      • 2.1.3. Input and Output:

      • 2.1.4. Use Case:

      • 2.1.5. Functions:

      • 2.1.6. Performance:

      • 2.1.7. Manufacturing cost:

      • 2.1.8. Power:

      • 2.1.9. Physical size/weight:

      • 2.1.10. Installation:

    • 2.2. DESIGN SPECIFICATION:

      • 2.2.1. Description:

      • 2.2.2. External Environment:

      • 2.2.3. System Block Diagram:

        • 2.2.3.1. Sensor:

        • 2.2.3.2. Module TTL to Rs485

        • 2.2.3.3. Microcontroller:

        • 2.2.3.4. Raspberry:

        • 2.2.3.5. Van nước điện tử:

        • 2.2.3.6. Relay:

        • 2.2.3.7. Máy bơm:

        • 2.2.3.8. Đèn báo:

        • 2.2.3.9. Hệ thống nguồn:

    • 2.3. EMBEDDED SYSTEM DESIGN ISSUE

      • 2.3.1. Constraints

      • 2.3.2. Functional issues

      • 2.3.3. Real-time issues

      • 2.3.4. Concurrent issues

      • 2.3.5. Reactive issues

    • 2.4. PROJECT PLAN

  • 3. CƠ SỞ LÝ THUYẾT:

    • 3.1. ỨNG DỤNG IOT TRONG NÔNG NGHIỆP

      • 3.1.1. Giới thiệu

      • 3.1.2. Cấu trúc cơ bản của một hệ thống ứng dụng công nghệ IoT

    • 3.2. CÁC CHUẨN GIAO TIẾP VÀ TRUYỀN DỮ LIỆU

      • 3.2.1. Chuẩn giao tiếp UART

      • 3.2.2. Chuẩn giao tiếp RS485

      • 3.2.3. Chuẩn giao tiếp I2C

      • 3.2.4. Giao thức MQTT

        • 3.2.4.1. Khái niệm về MQTT

        • 3.2.4.2. Định dạng của Message

        • 3.2.4.3. Quy trình truyền nhận dữ liệu chính trong MQTT:

          • 3.2.4.3.1. CONNECT and SUBSCRIBE message sequence

          • 3.2.4.3.2. PUBLISH message flows

  • 4. HARDWARE

    • 4.1. TÍNH TOÁN VÀ THIẾT KẾ PHẦN CỨNG

      • 4.1.1. Giới thiệu

      • 4.1.2. Tính toán thiết kế mạch phần cứng

        • 4.1.2.1. Mạch Main Board

        • 4.1.2.2. Mạch Cảm biến 1

        • 4.1.2.3. Mạch Cảm biến 2

        • 4.1.2.4. Mạch nguồn LM2596

        • 4.1.2.5. Mạch nguồn LM1117

      • 4.1.3. Sơ đồ nguyên lý hệ thống

        • 4.1.3.1. Mạch Main Board

        • 4.1.3.2. Mạch Sensor Board 1

        • 4.1.3.3. Mạch Sensor Board 2

    • 4.2. THI CÔNG HARDWARE

      • 4.2.1. Giới thiệu

      • 4.2.2. Thi công hệ thống

        • 4.2.2.1. Mạch Xử lý Chính (Main Board)

        • 4.2.2.2. Mạch Cảm biến 1 (Sensor Board 1)

        • 4.2.2.3. Mạch Cảm biến 2 (Sensor Board 2)

      • 4.2.3. Lắp ráp và kiểm tra

      • 4.2.4. Hoàn chỉnh mô hình hệ thống

  • 5. FIRMWARE PROGRAMMING AND GATEWAY:

    • 5.1. MODULE MAINCONTROLLER

      • 5.1.1. Chức năng

      • 5.1.2. Nguyên lý hoạt động

      • 5.1.3. Cấu trúc và lưu đồ giải thuật

        • 5.1.3.1. Shared Variable

        • 5.1.3.2. Khối MainProcess

        • 5.1.3.3. Khối Usart_Handler

        • 5.1.3.4. Khối Tim_Handler

        • 5.1.3.5. Khối Exti_Handler

      • 5.1.4. Các loại Module cảm biến được dùng.

        • 5.1.4.1. Cảm biến lưu lượng nước Ys201

        • 5.1.4.2. Module Max485

        • 5.1.4.3. Cảm biến siêu âm HC – SRF04 (Dự kiến)

    • 5.2. GATEWAY DÙNG RASPBERRY

      • 5.2.1. Cấu hình SSH cho điều khiển Raspberry từ xa

      • 5.2.2. Mô tả và sơ đồ khối

      • 5.2.3. Lưu đồ giải thuật

    • 5.3. FRAME FORMAT

      • 5.3.1. Dữ liệu từ Mix Sensor gửi đến MainController

      • 5.3.2. Dữ liệu từ Climate Sensor gửi đến MainController

      • 5.3.3. Dữ liệu từ MainController gửi đến Raspberry

      • 5.3.4. Dữ liệu từ Raspberry gửi đến MainController

      • 5.3.5. Dữ liệu từ Raspberry gửi đến Server

      • 5.3.6. Dữ liệu từ Raspberry nhận từ Server

      • 5.3.7. Truyền xa bằng Rs485 và xử lý lỗi

      • 5.3.8. Kết quả:

    • 5.4. SENSOR BOARD 1

      • 5.4.1. I2C Library

        • 5.4.1.1. Header file

        • 5.4.1.2. Các hàm sử dụng

          • 5.4.1.2.1. Khởi động: I2C_Config

          • 5.4.1.2.2. Đọc giá trị I2C từ Slave: I2C_Read

      • 5.4.2. Cảm biến nhiệt độ - độ ẩm onewire DHT11:

        • 5.4.2.1. Header file:

        • 5.4.2.2. Các hàm sử dụng:

          • 5.4.2.2.1. Khởi động DHT11: DHT11_Start

          • 5.4.2.2.2. Chờ đợi phản hồi từ cảm biến: DHT11_Check_Response

          • 5.4.2.2.3. Đọc dữ liệu từ cảm biến: DHT11_Read

          • 5.4.2.2.4. Đọc giá trị nhiệt độ - độ ẩm: DHT11_GetData

      • 5.4.3. Cảm biến ánh sáng MAX44009:

        • 5.4.3.1. Header file:

        • 5.4.3.2. Các hàm sử dụng:

          • 5.4.3.2.1. Config chân và ngoại vi sử dụng: MAX44009_Config

          • 5.4.3.2.2. Đọc giá trị ánh sáng: MAX44009_GetLightIntensity

    • 5.5. SENSOR BOARD 2

      • 5.5.1. Cảm biến nhiệt độ onewire DS18B20:

        • 5.5.1.1. Header file:

        • 5.5.1.2. Các hàm sử dụng:

          • 5.5.1.2.1. Khởi động cảm biến: DS18B20_Star

          • 5.5.1.2.2. Gửi dữ liệu cho DS18B20: DS18B20_Write

          • 5.5.1.2.3. Đọc dữ liệu từ cảm biến: DS18B20_Read

          • 5.5.1.2.4. Đọc giá trị nhiệt độ: DS18B20_GetTemp

  • 6. PC SOFTWARE AND SERVER

    • 6.1. TẠO DATABASE

    • 6.2. THIẾT KẾ PC SOFTWARE

      • 6.2.1. Giới thiệu

      • 6.2.2. Quy trình thiết kế

      • 6.2.3. Nguyên lí hoạt động

    • 6.3. THIẾT KẾ WEBSERVER

  • 7. KẾT QUẢ, NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN

    • 7.1. KẾT QUẢ

      • 7.1.1. Nội dung nghiên cứu

      • 7.1.2. Kết quả nghiên cứu

    • 7.2. NHẬN XÉT

    • 7.3. HƯỚNG PHÁT TRIỂN

  • TÀI LIỆU THAM KHẢO

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ o0o BÁO CÁO ĐỒ ÁN HỆ THỐNG BƠM PHÂN TỰ ĐỘNG ỨNG DỤNG IoT GVHD: ThS Bùi Quốc Bảo Sinh viên thực hiện: Nguyễn Lâm Viên 1713939 Võ Trần Ngọc Lượng 1712095 Võ Thành Nhân 1712454 Nguyễn Cao Sang 1712993 Nguyễn Duy Tân 1713068 Hoàng Duy Lộc 1712037 Tp Hồ Chí Minh, ngày 28 tháng 07 năm 2020 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ o0o BÁO CÁO ĐỒ ÁN MÁY BƠM PHÂN TỰ ĐỘNG ỨNG DỤNG IoT GVHD: ThS Bùi Quốc Bảo Sinh viên thực hiện: Nguyễn Lâm Viên 1713939 Võ Trần Ngọc Lượng 1712095 Võ Thành Nhân 1712454 Nguyễn Cao Sang 1712933 Nguyễn Duy Tân 1713068 Hồng Duy Lộc 1712037 Tp Hồ Chí Minh, ngày 28 tháng 07 năm 2020 LỜI CẢM ƠN Nhóm em xin gởi lời cảm ơn sâu sắc đến ThS Bùi Quốc Bảo - Giảng viên môn Điện Tử, tận tình giúp đỡ chúng em lựa chọn đề tài trình thực đề tài Trong trình thực đồ án xảy nhiều khó khăn, thiếu sót hỗ trợ góp ý Thầy nên nhóm hồn thành đồ án Trong suốt thời gian theo học trường Đại học Bách Khoa TP.HCM, em nhận nhiều quan tâm giúp đỡ từ Thầy Cơ bạn bè Với lịng biết ơn sâu sắc, em xin gửi lời cảm ơn tới quý Thầy Cô, người truyền lại cho em nhiều kinh nghiệm kiến thức quý báu, giúp đỡ tiếp thêm động lực cho em vững bước đường chọn Và đặc biệt đặc biệt Thầy, Cô khoa Điện – Điện tử truyền đạt kiến thức, kinh nghiệm tạo điều kiện tốt để nhóm em hồn thành đề tài Nhóm gửi lời đồng cảm ơn đến bạn lớp KSVT17 chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cảm ơn cha mẹ, anh chị người động viên tạo điều kiện tốt sống, học tập q trình thực hồn thành đề tài Sau cùng, em xin kính chúc quý Thầy Cô Khoa Điện-Điện tử Thầy Bùi Quốc Bảo thật dồi sức khỏe, tiếp tục truyền kinh nghiệm kiến thức bổ ích, quý báu cho nhiều hệ mai sau Trân trọng Tp Hồ Chí Minh, ngày tháng năm Sinh viên thực MỤC LỤC TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 BỐ CỤC .2 GIỚI THIỆU ĐỀ TÀI 2.1 PRODUCT REQUIREMENT 2.1.1 Name: .4 2.1.2 Purpsoe: 2.1.3 Input and Output: .4 2.1.4 Use Case: 2.1.5 Functions: 2.1.6 Performance: 2.1.7 Manufacturing cost: 2.1.8 Power: 2.1.9 Physical size/weight: 2.1.10 Installation: 2.2 DESIGN SPECIFICATION: 2.2.1 Description: 2.2.2 External Environment: .7 2.2.3 System Block Diagram: 2.3 EMBEDDED SYSTEM DESIGN ISSUE 17 2.3.1 Constraints .17 2.3.2 Functional issues 17 2.3.3 Real-time issues .17 2.3.4 Concurrent issues 17 2.3.5 Reactive issues .17 2.4 PROJECT PLAN 18 CƠ SỞ LÝ THUYẾT: 20 3.1 ỨNG DỤNG IOT TRONG NÔNG NGHIỆP .20 3.1.1 Giới thiệu .20 3.1.2 Cấu trúc hệ thống ứng dụng công nghệ IoT 20 3.2 CÁC CHUẨN GIAO TIẾP VÀ TRUYỀN DỮ LIỆU 22 3.2.1 Chuẩn giao tiếp UART 22 3.2.2 Chuẩn giao tiếp RS485 24 3.2.3 Chuẩn giao tiếp I2C .27 3.2.4 Giao thức MQTT 28 HARDWARE .36 4.1 TÍNH TỐN VÀ THIẾT KẾ PHẦN CỨNG .36 4.1.1 Giới thiệu .36 4.1.2 Tính toán thiết kế mạch phần cứng 36 4.1.3 Sơ đồ nguyên lý hệ thống .40 4.2 THI CÔNG HARDWARE 43 4.2.1 Giới thiệu .43 4.2.2 Thi công hệ thống 44 4.2.3 Lắp ráp kiểm tra 48 4.2.4 Hồn chỉnh mơ hình hệ thống 49 FIRMWARE PROGRAMMING AND GATEWAY: .50 5.1 MODULE MAINCONTROLLER .50 5.1.1 Chức 50 5.1.2 Nguyên lý hoạt động 50 5.1.3 Cấu trúc lưu đồ giải thuật 50 5.1.4 Các loại Module cảm biến dùng 63 5.2 GATEWAY DÙNG RASPBERRY 67 5.2.1 Cấu hình SSH cho điều khiển Raspberry từ xa 67 5.2.2 Mô tả sơ đồ khối 68 5.2.3 Lưu đồ giải thuật 68 5.3 FRAME FORMAT .70 5.3.1 Dữ liệu từ Mix Sensor gửi đến MainController .70 5.3.2 Dữ liệu từ Climate Sensor gửi đến MainController .70 5.3.3 Dữ liệu từ MainController gửi đến Raspberry .71 5.3.4 Dữ liệu từ Raspberry gửi đến MainController .71 5.3.5 Dữ liệu từ Raspberry gửi đến Server 72 5.3.6 Dữ liệu từ Raspberry nhận từ Server 72 5.3.7 Truyền xa Rs485 xử lý lỗi 72 5.3.8 Kết quả: 73 5.4 SENSOR BOARD 76 5.4.1 I2C Library 76 5.4.2 Cảm biến nhiệt độ - độ ẩm onewire DHT11: 83 5.4.3 Cảm biến ánh sáng MAX44009: 88 5.5 SENSOR BOARD 92 5.5.1 Cảm biến nhiệt độ onewire DS18B20: 92 PC SOFTWARE AND SERVER 100 6.1 TẠO DATABASE 100 6.2 THIẾT KẾ PC SOFTWARE 101 6.2.1 Giới thiệu .101 6.2.2 Quy trình thiết kế 102 6.2.3 Nguyên lí hoạt động .102 6.3 THIẾT KẾ WEBSERVER .103 KẾT QUẢ, NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 106 7.1 KẾT QUẢ 106 7.1.1 Nội dung nghiên cứu 106 7.1.2 Kết nghiên cứu 106 7.2 NHẬN XÉT 107 7.3 HƯỚNG PHÁT TRIỂN 108 TÀI LIỆU THAM KHẢO .109 LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Sơ đồ khối hệ thống .7 Hình 3.1 Minh hoạ ứng dụng IoT nơng nghiệp 20 Hình 3.2 Cấu trúc hệ thống công nghệ IoT 21 Hình 3.3 Hệ thống truyền liệu UART 23 Hình 3.4 Khung truyền UART bất đồng .23 Hình 3.5 Minh hoạ Cáp kết nối chuẩn giao tiếp RS-485 25 Hình 3.6 Sơ đồ kết nối chuẩn giao tiếp RS-485 26 Hình 3.7 Sơ đồ kết nối giao tiếp I2C .27 Hình 3.8 Hình minh hoạ hệ thống dùng giao thức MQTT 29 Hình 3.9 Mơ hình giao thức MQTT 30 Hình 3.10 Session subscription thiết lập với clean session flag = 32 Hình 3.11 Session subscription thiết lập với clean session flag = 33 Hình 3.12 QoS mức 34 Hình 3.13 QoS mức 34 Hình 3.14 QoS mức 35 Hình 4.1 Sơ đồ nguyên lý mạch hạ áp LM2596 38 Hình 4.2 Sơ đồ nguyên lý mạch hạ áp LM1117 39 Hình 4.3 Sơ đồ nguyên lý Mạch Main Board 41 Hình 4.4 Sơ đồ nguyên lý Mạch Sensor Board .42 Hình 4.5 Sơ đồ nguyên lý Mạch Sensor Board .43 Hình 4.6 Mạch Main Board, lớp Bottom 44 Hình 4.7 Mạch Main Board, lớp Top 45 Hình 4.8 Mạch Sensor Board 1, lớp Bottom .45 Hình 4.9 Mạch Sensor Board 1, lớp Top 46 Hình 4.10 Mạch Layout Sensor Board 2, lớp Bottom .46 Hình 4.11 Mạch Layout Sensor Board 2, lớp Top .47 Hình 4.12 Mạch MainBoard thực tế 48 Hình 4.13 Mạch MainBoard thực tế 48 Hình 4.14 Mạch MainBoard thực tế 49 Hình 5.1 Sơ đồ khối MainController 50 Hình 5.2 Sơ đồ khối Module MainController .51 Hình 5.3 Sơ đồ khối Module MainController .54 Hình 5.4 Lưu đồ giải thuật khối USART1_IRQHandler .55 Hình 5.5 Lưu đồ giải thuật khối USART2_IRQHandler .55 Hình 5.6 Lưu đồ giải thuật khối USART3_IRQHandler .56 Hình 5.7 Lưu đồ giải thuật khối TIM2_IRQHandler 57 Hình 5.8 Lưu đồ giải thuật khối TIM3_IRQHandler 58 Hình 5.9 Lưu đồ giải thuật khối TIM4_IRQHandler 59 Hình 5.10 Lưu đồ giải thuật khối EXTI9_5_IRQHandler 60 Hình 5.11 Lưu đồ giải thuật khối EXTI4_IRQHandler 61 Hình 5.12 Lưu đồ giải thuật khối EXTI3_IRQHandler 62 Hình 5.13 Lưu đồ giải thuật khối EXTI15_10_IRQHandler .63 Hình 5.14 Biểu đồ thời gian HC – SRF04 65 Hình 5.15 Biểu đồ thời gian IputCapture 65 Hình 5.16 Biểu đồ thực nghiệm đo khoảng cách sàn nhà 66 Hình 5.17 Biểu đồ đo khoảng cách mặt nước 66 Hình 5.18 Biểu đồ đo khoảng cách mặt nước dao động 66 Hình 5.19 Sơ đồ khối khối Gateway 68 Hình 5.20 Lưu đồ giải thuật GateWay .69 Hình 5.21 Tín hiệu điều khiển Max485 72 Hình 5.22 Kết khởi động Terminal Raspberry 73 Hình 5.23 Kết nhận tín hiệu điều khiển từ Server 74 Hình 5.24 Kết hiển thị giá trị môi trường thay đổi .75 Hình 5.25 Kết hiển thị liệu bị đọc lỗi 75 Hình 5.26 Sơ đồ trình tự truyền Master Transmitter .81 Hình 5.27 Sơ đồ trình tự truyền Master Reciever 82 Hình 5.28 Tín hiệu Start 84 Hình 5.29 Tín hiệu chờ phản hồi 85 Hình 5.30 Dữ liệu gửi dạng điện áp .86 Hình 5.31 Khung giá trị bit Lux High-Byte Register 0x03 91 Hình 5.32 Tạo khe thời gian giao tiếp DS18B20 95 Hình 5.33 Tạo khe thời gian giao tiếp DS18B20 96 Hình 5.34 Đọc liệu DS18B20 .97 Hình 6.1 Mơ hình software tổng quát .100 Hình 6.2 Data nhận lưu vào database .100 Hình 6.3 Truy cập vào database gõ lệnh Terminal 101 Hình 6.4 Truy cập vào database MySQL Workbench 101 Hình 6.5 Sơ đồ khối trình nhận liệu điều khiển 102 Hình 6.6 Giao diện điều khiển PC 103 Hình 6.7 Các thư mục tạo Webserver .103 Hình 6.8 Các file thư mục “views” .103 Hình 6.9 Các file thư mục “public” 104 Hình 6.10 Webserver chạy .104 Hình 6.11 Giao diện tab SENSORDATA 104 Hình 6.12 Giao diện tab CONTROL .105 LIỆT KÊ BẢNG Bảng Trang Bảng 3.1 Tóm tắt thơng số RS485 .27 Bảng 3.2 Cấu trúc Header cố định 31 Bảng 3.3 Liệt kê loại message 32 Bảng 3.4 Liệt kê cờ .32 Bảng 4.1 Bảng thông số mạch Main Board 37 Bảng 4.2 Bảng thông số mạch Sensor Board 37 Bảng 4.3 Bảng thông số mạch Sensor Board 38 Bảng 4.4 Danh sách linh kiện sử dụng 47 FIRMWARE AND GATEWAY GVHD: ThS BÙI QUỐC BẢO Hình 5.63 Tạo khe thời gian giao tiếp DS18B20 492 else 493 { 494 /* Write time slot */ 495 Set_Pin_Output(DS18B20_PORT, DS18B20_PIN); 496 GPIO_WriteBit(DS18B20_PORT, DS18B20_PIN, Bit_RESET); 497 Timer4Delay_us(60); 498 499 Set_Pin_Input(DS18B20_PORT, DS18B20_PIN); 500 } 501 } 502 } 5.5.1.2.3 Đọc liệu từ cảm biến: DS18B20_Read /** 503 * 504 * @brief DS18B20_Read - function Read value DS18B20 Sensor 505 * @param - None 506 * @retval - Return value 507 * 508 **/ 509 510 /* 511 A read time slot is initiated by the master device 512 pulling the 1-Wire bus low for a minimum of 1µs and then releasing the bus 513 BỘ MÔN ĐIỆN TỬ 104 FIRMWARE AND GATEWAY GVHD: ThS BÙI QUỐC BẢO 514 LSB Read First > MSB 515 */ 516 517 uint8_t DS18B20_Read(void) Khoảng thời gian độc khởi tạo cashc master kéo bus data xuống thấp 1us sau thả Sau master khởi tạo khoảng thời gian đọc, DS18B20 bắt đầu truyền bít bus Nó truyền cách để bus mức cao truyền bit cách kéo bus xuống mức thấp Khi truyền 0, cảm biến thả bus kết thúc khoảng thời gian, bus kéo lên lại trạng thái rảnh điện trở kéo lên Hình 5.64 Đọc liệu DS18B20 518 uint8_t DS18B20_Read(void) 519 { 520 uint8_t value = 0; 521 Set_Pin_Input(DS18B20_PORT, DS18B20_PIN); 522 for (int i = 0; i < 8; i++) 523 { 524 Set_Pin_Output(DS18B20_PORT, DS18B20_PIN); 525 526 GPIO_WriteBit(DS18B20_PORT, DS18B20_PIN, Bit_RESET); 527 Timer4Delay_us(2); 528 529 Set_Pin_Input(DS18B20_PORT, DS18B20_PIN); 530 if (GPIO_ReadInputDataBit(DS18B20_PORT, DS18B20_PIN)) 531 { 532 BỘ MÔN ĐIỆN TỬ value |= (1

Ngày đăng: 22/12/2021, 19:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w