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

Ứng dụng iot trong việc giám sát trạng thái và điều khiển tủ điện

99 15 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

Thông tin cơ bản

Tiêu đề Ứng Dụng IoT Trong Việc Giám Sát Trạng Thái Và Điều Khiển Tủ Điện
Tác giả Huỳnh Hiệp Phát, Nguyễn Viết Luân
Người hướng dẫn Th.S Nguyễn Đình Phú
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện – Điện Tử
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 99
Dung lượng 8,47 MB

Cấu trúc

  • Chương 1. TỔNG QUAN (20)
    • 1.1 Đặt vấn đề (20)
    • 1.2 Mục tiêu (21)
    • 1.3 Nội dung nghiên cứu (21)
    • 1.4 Giới hạn (21)
    • 1.5 Bố cục (21)
  • Chương 2. CƠ SỞ LÝ THUYẾT (23)
    • 2.1 IoT (23)
      • 2.1.1 Khái niệm IoT (23)
      • 2.1.2 Cấu Trúc Của Một Hệ Thống IOT (23)
      • 2.1.3 Các Giao Thức Truyền Tải (23)
    • 2.2 WIFI (30)
      • 2.2.1 Khái niệm (30)
      • 2.2.2 Các Chuẩn WIFI Hiện Nay (31)
    • 2.3 Các chuẩn giao tiếp (32)
      • 2.3.1 I2C (32)
      • 2.3.2 UART (37)
      • 2.3.3 So sánh chuẩn I2C và UART (41)
    • 2.4 Hệ thống (42)
      • 2.4.1 ESP32 (42)
      • 2.4.2 RFID (45)
      • 2.4.3 Module đo điện AC PZEM-004T (48)
      • 2.4.4 Cảm biến vân tay R502 (50)
    • 2.5 Khí cụ điện (52)
      • 2.5.1 CB (52)
      • 2.5.2 Contactor (54)
  • Chương 3. TÍNH TOÁN VÀ THIẾT KẾ (57)
    • 3.1 Giới thiệu (57)
      • 3.1.1 Sơ đồ khối (57)
      • 3.1.2 Sơ đồ của mặt bằng tính toán (58)
    • 3.2 Tính toán và thiết kế (59)
      • 3.2.1 Khối động lực và tủ điện (59)
      • 3.2.2 Khối điều khiển (64)
      • 3.2.3 Khối cảm biến và ngoại vi (65)
      • 3.2.4 Khối hiển thị (67)
      • 3.2.5 Khối nguồn (68)
      • 3.2.6 Sơ đồ nguyên lý toàn mạch (70)
  • Chương 4. THI CÔNG H Ệ THỐNG (72)
    • 4.1 Giới Thiệu (72)
    • 4.2 Thi Công Hệ Thống (72)
      • 4.2.1 Thi công PCB (72)
      • 4.2.2 Lắp đặt và kiểm tra hệ thống (75)
    • 4.3 Đóng gói và thi công mô hình (75)
      • 4.3.1 Thi công tủ điện (75)
      • 4.3.2 Bảng chi phí (75)
    • 4.4 Lập trình hệ thống (77)
      • 4.4.1 Lưu đồ giải thuật (77)
      • 4.4.2 Arduino IDE (82)
      • 4.4.3 Firebase (85)
      • 4.4.4 Android Studio (87)
  • Chương 5. KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ (89)
    • 5.1 Kết quả đạt được (89)
      • 5.1.1 Kết quả phần cứng (90)
      • 5.1.2 Kết quả phần mềm (92)
    • 5.2 Nhận xét và đánh giá (95)
      • 5.2.1 Về phần cứng (95)
      • 5.2.1 Về phần mềm (96)
  • Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (97)
    • 6.1 Kết luận (97)
    • 6.2 Hướng phát triển (97)
  • TÀI LIỆU THAM KHẢO (98)

Nội dung

Các thiết bị kết nối với nhau được điều khiển và giám sát bởi một hệ thống gọi là SCADA Supervisory Control And Data Acquisition.. CƠ SỞ LÝ THUYẾT 2.1 IoT 2.1.1 Khái niệm IoT Internet of

TỔNG QUAN

Đặt vấn đề

Công nghệ đang phát triển mạnh mẽ, nâng cao đời sống con người và thúc đẩy xu hướng tự động hóa và hệ thống thông minh Sự bùng nổ của các ứng dụng Internet of Things (IoT) được hỗ trợ bởi cơ sở hạ tầng ngày càng hoàn thiện và chi phí sản xuất giảm Do đó, việc điều khiển và giám sát thiết bị công nghiệp từ xa qua Internet đang trở thành xu hướng mới trong ngành tự động hóa và các nhà máy sản xuất.

Hệ thống SCADA (Supervisory Control And Data Acquisition) đã được phát triển từ những năm 1990 để điều khiển và giám sát các thiết bị công nghiệp từ xa Các thiết bị này kết nối với nhau qua mạng LAN (Local Area Network), cho phép quản lý và giám sát các nhà máy một cách hiệu quả.

Hiện nay, nhiều hệ thống SCADA hỗ trợ các Web Server riêng từ các hãng PLC như Siemens, cho phép kết nối và điều khiển qua Internet Hệ thống này mang lại nhiều lợi ích như nâng cao năng suất, cải thiện chất lượng sản phẩm, và giảm chi phí vận hành, bảo trì cũng như nhân lực Tuy nhiên, hệ thống SCADA cũng gặp một số hạn chế về cơ chế điều khiển và lập trình do giao diện mặc định của nhà sản xuất.

Để phát triển một hệ thống mới, cần kế thừa những lợi ích và khắc phục hạn chế của hệ thống SCADA Vì vậy, cần một thiết bị cho phép lập trình mở và thiết kế giao diện linh hoạt theo ý muốn mà không bị giới hạn.

“Ứng dụng IoT trong việc giám sát trạng thái và điều khiển tủ điện”

Mục tiêu

Nhóm thực hiện đồ án “Ứng dụng IoT trong việc giám sát trạng thái và điều khiển tủ điện” với những mục tiêu cụ thể như sau:

Giám sát các thông số: dòng điện (I), điện áp (V), tần số (f), hệ số công suất Power Factor (cosỉ), cụng suất tiờu thụ

Cảnh báo khi có sự cố (quá áp, sụt áp, quá tải,…), sau đó ngắt tủ điện Điều khiển đóng cắt contactor thông qua relay

Khoá/mở tủ bằng thẻ từ RFID, vân tay, password

Thiết kế App trên điện thoại có thể giám sát và điều khiển tủ điện

Tiếp nhận thông tin và điều khiển tủ qua mạng Wifi nội bộ

Thi công tủ điều khiển thực tế.

Nội dung nghiên cứu

Đề tài thực hiện gồm có những nội dung chính sau:

Tìm hiểu về truyền thông I2C, UART

Tìm hiểu cách trao đổi dữ liệu giữa Firebase và Arduino thông qua Wifi

Thiết kế Ứng dụng điều khiển và giám sát trạng thái thiết bị

Tìm hiểu tính thực thi của hệ thống.

Giới hạn

Các giới hạn của đề tài bao gồm: Điều khiển từ xa cần phải có kết nối Wifi

Chưa kết nối Wifi tự động

Tốc độ điều khiển vẫn còn chậm

Bố cục

Chương 1: Tổng Quan: Đặt vấn đề dẫn nhập đến lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn, thông số và bố cục của đồ án

Chương 2: Cơ Sở Lý Thuyết: Trình bày chi tiết về những lý thuyết cơ bản liên quan đến các vấn đề mà đề tài sử dụng để thiết kế và thi công

Chương 3: Thiết Kế và Tính Toán: Trình bày các bước thiết kế, tính toán về phần cứng, cũng như phần mềm để phù hợp với yêu cầu của đề tài

Chương 4: Thi công hệ thống: Trình bày quá trình thi công về phần cứng cũng như phần mềm, mô phỏng và kiểm tra quá trình hoạt động của hệ thống

Chương 5: Kết quả - Nhận xét - Đánh giá: Trình bày kết quả đạt được sau khi hoàn thành hệ thống, đưa ra nhận xét, đánh giá

Chương 6: Kết Luận và Hướng Phát Triển: Trình bày kết luận và hướng phát triển đề tài

CƠ SỞ LÝ THUYẾT

IoT

Mạng lưới Internet of Things (IoT) kết nối vạn vật qua Internet, cho phép mỗi đồ vật và con người có một định danh riêng và trao đổi thông tin mà không cần tương tác trực tiếp IoT phát triển từ sự hội tụ của công nghệ không dây, vi cơ điện tử và Internet, tạo thành một hệ thống các thiết bị kết nối với nhau và với thế giới bên ngoài để thực hiện các nhiệm vụ cụ thể.

2.1.2 Cấu Trúc Của Một Hệ Thống IOT

An IoT system comprises four essential components: devices (Things), gateways for connectivity, network and cloud infrastructure, and data analytics and processing services (Services-creation and Solution Layers).

Cảm biến có chức năng nhận diện tín hiệu từ môi trường như nhiệt độ, áp suất và ánh sáng, sau đó chuyển đổi chúng thành dữ liệu có thể sử dụng trên Internet Các tín hiệu này sẽ được xử lý để thực hiện các thay đổi theo yêu cầu của người tiêu dùng Hiện nay, cảm biến thường được ứng dụng qua các ứng dụng trên điện thoại và máy tính.

2.1.3 Các Giao Thức Truyền Tải Để khai thác hết được tiềm năng của mô hình IoT, các thiết bị kết nối cần phải giao tiếp với nhau bằng các giao thức nhẹ mà không làm tiêu tốn quá nhiều tài nguyên của CPU Các giao thức truyền tải dữ liệu phổ biến có thể được sử dụng trong các mô hình IoT là: MQTT, CoAP, AMQP, DDS, XMPP

2.1.3.1 MQTT (Message Queue Telemetry Transport)

MQTT là một giao thức mã nguồn mở cho phép truyền tải tin nhắn giữa các Client (Publisher và Subscriber) thông qua một Broker trung gian Giao thức này được thiết kế đơn giản và dễ triển khai, với kiến trúc dựa trên Broker trung gian và sử dụng kết nối TCP lâu dài từ các Client đến Broker.

MQTT cho phép tổ chức hệ thống theo các Topics phân cấp giống như cấu trúc thư mục, ví dụ: /Home/kitchen/humidity, giúp cung cấp nhiều tùy chọn điều khiển và đảm bảo chất lượng dịch vụ (QoS).

MQTT là một giao thức nhẹ, lý tưởng cho truyền thông hai chiều qua mạng có độ trễ cao và độ tin cậy thấp Giao thức này cũng tương thích với các thiết bị tiêu thụ điện năng thấp.

CoAP (Constrained Application Protocol) là một giao thức truyền tải tài liệu theo mô hình client/server tương tự như HTTP, nhưng được tối ưu hóa cho các thiết bị có tài nguyên hạn chế Giao thức này cho phép chuyển đổi trạng thái thông tin một cách hiệu quả giữa client và server thông qua cơ chế one-to-one.

CoAP (Constrained Application Protocol) sử dụng giao thức UDP (User Datagram Protocol) và không hỗ trợ TCP Nó cho phép sử dụng địa chỉ broadcast và multicast, truyền thông CoAP diễn ra thông qua các datagram phi kết nối, phù hợp với các giao thức truyền thông dựa trên gói.

Giao thức CoAP sử dụng UDP, dễ triển khai trên vi điều khiển hơn TCP, mặc dù không có sẵn các công cụ bảo mật như SSL/TLS Thay vào đó, Datagram Transport Layer Security (DTLS) có thể được sử dụng để đảm bảo an toàn cho dữ liệu.

2.1.3.3 AMQP (Advanced Message Queue Protocol)

AMQP là giao thức trung gian cho các gói tin trên lớp ứng dụng, nhằm thay thế các hệ thống truyền tin độc quyền và không tương thích Các tính năng chính của AMQP bao gồm định hướng message, hàng đợi, và định tuyến với độ tin cậy và bảo mật cao, hỗ trợ cả mô hình point-to-point và publish-subscribe Tất cả các hoạt động được thực hiện thông qua broker, giúp kiểm soát luồng thông tin hiệu quả.

RabbitMQ, một trong những Message Broker phổ biến, được phát triển bằng ngôn ngữ Erlang Nó cung cấp cho lập trình viên một giải pháp trung gian hiệu quả

AMQP là một giao thức có dây độc đáo, cho phép mô tả các thông điệp theo định dạng dữ liệu và có thể triển khai trên nhiều ngôn ngữ lập trình khác nhau.

DDS là một ngôn ngữ trung gian tập trung vào dữ liệu, cho phép khả năng mở rộng, tương tác dữ liệu, và đảm bảo độ tin cậy cao trong thời gian thực.

Giao thức DDS (Data Distribution Service) là một giao thức phi tập trung, không cần trung gian, cho phép truyền thông trực tiếp theo kiểu peer-to-peer giữa các publishers và subscribers DDS được thiết kế để hoạt động độc lập với ngôn ngữ và hệ điều hành, hỗ trợ gửi và nhận dữ liệu, sự kiện và thông tin lệnh qua UDP, cũng như các giao thức khác như IP Multicast và TCP/IP Giao thức này cho phép kết nối many-to-many theo thời gian thực và hỗ trợ tính năng dò tìm tự động, giúp đơn giản hóa việc lập trình mạng phức tạp mà không cần can thiệp từ các ứng dụng người dùng Các tham số QoS (Quality of Service) được sử dụng để thiết lập các cơ chế tự dò tìm một lần cho DDS.

2.1.3.5 XMPP (Extensible Messaging và Presence Protocol)

XMPP (trước đây gọi là “Jabber”) là giao thức truyền thông dùng cho định hướng tin nhắn trung gian dựa trên ngôn ngữ XML

WIFI

WiFi, viết tắt của Wireless Fidelity, là công nghệ sử dụng sóng vô tuyến để truyền tín hiệu, cho phép kết nối với mạng hoặc thiết bị khác Sóng này tương tự như sóng điện thoại, truyền hình và radio Hầu hết các thiết bị điện tử như máy tính, laptop, điện thoại và tablet đều có khả năng truy cập WiFi, đáp ứng nhu cầu kết nối mạng của người dùng.

Nguyên lý hoạt động của WiFi bao gồm bốn thành phần chính, trong đó đường truyền mạng đóng vai trò quan trọng Đường truyền mạng là kết nối internet băng thông rộng, giúp tăng tốc độ truy cập và truyền tải dữ liệu nhanh hơn so với dịch vụ kết nối quay số truyền thống.

Cổng mạng đóng vai trò quan trọng trong việc bảo vệ WiFi của bạn khỏi những truy cập trái phép Nó không chỉ ngăn chặn người dùng không được phép mà còn cung cấp các công cụ quản lý hữu ích, cho phép bạn kiểm tra mạng và các dịch vụ khác thông qua địa chỉ IP.

Mạng LAN không dây: Là một hệ thống kết nối máy tính của bạn với các thiết bị khác bằng sóng vô tuyến

Adapter không dây là thiết bị cho phép người khác truy cập vào WiFi của bạn, có thể được tích hợp sẵn trong máy tính hoặc là thiết bị rời được cắm vào.

Bộ phát sóng WiFi (Modem, Router) hoạt động thông qua 4 thành phần chính, cho phép kết nối và lấy tín hiệu Internet hữu tuyến qua dây cáp quang, sau đó chuyển đổi tín hiệu thành sóng WiFi vô tuyến và truyền đến các thiết bị sử dụng WiFi như điện thoại, laptop, Smart Tivi và Internet Tivi Quá trình này có thể diễn ra hai chiều, tức là Router và Modem không chỉ nhận tín hiệu từ Internet mà còn có thể nhận tín hiệu vô tuyến từ Adapter, giải mã và gửi ngược lại qua Internet.

2.2.2 Các Chuẩn WIFI Hiện Nay

Tổ chức công nghệ IEEE (Institute of Electronics Engineers) đã định nghĩa một chuẩn chung cho nhiều giao thức kỹ thuật khác nhau, nhằm thống nhất và phân loại các chuẩn WiFi bằng hệ thống số.

Băng thông tối đa (MB/s)

Bảng 2.1 Các chuẩn WiFi hiện nay

Các chuẩn giao tiếp

I2C (Inter-Integrated Circuit) là một giao thức giao tiếp nối tiếp đồng bộ do Philips Semiconductors phát triển, cho phép truyền nhận dữ liệu giữa các IC chỉ với hai đường tín hiệu.

Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ

Bus I2C thường được sử dụng để giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại vi điều khiển, cảm biến, EEPROM, …

I2C sử dụng 2 đường truyền tín hiệu:

SCL - Serial Clock Line: Tạo xung nhịp đồng hồ do Master phát đi

SDA - Serial Data Line: Đường truyền nhận dữ liệu

Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay Master - Slave

Thiết bị Master đóng vai trò là một vi điều khiển, có trách nhiệm điều khiển đường tín hiệu SCL và thực hiện việc gửi nhận dữ liệu hoặc lệnh thông qua đường SDA đến các thiết bị khác, đảm bảo quá trình truyền thông diễn ra một cách chính xác và hiệu quả.

Các thiết bị nhận lệnh và tín hiệu từ thiết bị Master được gọi là thiết bị Slave, thường là các IC hoặc vi điều khiển.

Trong hệ thống I2C, Master và Slave được kết nối thông qua hai đường bus SCL và SDA, hoạt động ở chế độ Open Drain Điều này có nghĩa là các thiết bị trên mạng I2C chỉ có khả năng kéo các đường bus này xuống mức thấp (LOW) mà không thể kéo lên mức cao (HIGH) Cách thiết kế này giúp tránh tình trạng xung đột khi một thiết bị cố gắng kéo bus lên mức cao trong khi một thiết bị khác đang kéo xuống mức thấp.

14 bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch Do đó cần có 1 điện trờ ( từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao

Hình 2.6 Cách kết nối giữa Master và Slave trong I2C Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay Master - Slave

Thiết bị Master là một vi điều khiển, có chức năng điều khiển tín hiệu SCL và thực hiện việc gửi, nhận dữ liệu hoặc lệnh qua đường SDA đến các thiết bị khác.

Các thiết bị nhận lệnh và tín hiệu từ thiết bị Master được gọi là thiết bị Slave, thường là các IC hoặc vi điều khiển.

Trong hệ thống I2C, Master và Slave được kết nối thông qua hai đường bus SCL và SDA, hoạt động ở chế độ Open Drain Điều này có nghĩa là các thiết bị trên mạng chỉ có thể kéo các đường bus này xuống mức thấp (LOW) mà không thể đưa chúng lên mức cao Để tránh tình trạng ngắn mạch khi một thiết bị kéo lên mức cao trong khi thiết bị khác kéo xuống mức thấp, cần sử dụng một điện trở từ 1 đến 4,7 kΩ để giữ cho đường bus ở mức cao mặc định.

Hình 2.7 Khung truyền I2C Khối bit địa chỉ:

Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị, IC với nhau

Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định

Hình 2.8 Khối bit địa chỉ I2C Bit Read/Write:

Bit này xác định quá trình truyền hoặc nhận dữ liệu từ thiết bị Master Khi Master gửi dữ liệu, bit này có giá trị '0', trong khi khi nhận dữ liệu, bit này sẽ có giá trị '1'.

Viết tắt của Acknowledged / Not Acknowledged, thuật ngữ này được sử dụng để so sánh địa chỉ vật lý của thiết bị với địa chỉ được gửi tới Nếu địa chỉ trùng khớp, Slave sẽ được đặt thành '0'; ngược lại, nếu không trùng, giá trị mặc định sẽ là '1'.

Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại

Quá trình truyền nhận dữ liệu:

Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1 xuống 0

Hình 2.9 Quá trình truyền nhận dữ liệu Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write

Slave sẽ so sánh địa chỉ vật lý với địa chỉ được gửi tới Nếu hai địa chỉ trùng khớp, Slave sẽ xác nhận bằng cách kéo đường SDA xuống 0 và thiết lập bit ACK/NACK thành ‘0’ Ngược lại, nếu không trùng khớp, cả SDA và bit ACK/NACK sẽ mặc định là ‘1’.

Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu Nếu Master gửi đến Slave thì bit Read/Write ở mức 0 Ngược lại nếu nhận thì bit này ở mức 1

Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thành mức 0 để báo hiệu cho Master tiếp tục

Sau khi dữ liệu được gửi thành công đến Slave, Master sẽ phát tín hiệu Stop để thông báo rằng quá trình truyền đã hoàn tất, bằng cách chuyển đổi lần lượt SCL và SDA từ mức 0 lên mức 1.

Các chế độ hoạt động của I2C:

Chế độ chuẩn (standard mode) với tốc độ 100 kBit/s

Chế độ tốc độ thấp (low speed mode) với tốc độ 10 kBit/s

Giao tiếp I2C khác với SPI ở chỗ cho phép nhiều thiết bị Master truyền nhận dữ liệu với thiết bị Slave, trong khi SPI chỉ có một Master Tuy nhiên, quá trình này phức tạp hơn vì thiết bị Slave có thể nhận nhiều khung dữ liệu từ các Master khác nhau cùng lúc, dẫn đến nguy cơ xung đột hoặc sai sót dữ liệu Để ngăn chặn những vấn đề này, mỗi thiết bị Master cần theo dõi trạng thái của đường SDA khi hoạt động trong chế độ này.

Nếu SDA ở mức 0, nghĩa là đang có 1 thiết bị Master khác đang có quyền điều khiển và phải chờ đến khi truyền xong

Ngược lại nếu SDA ở mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng

Hình 2.10 Module I2C của màn hình LCD

UART, viết tắt của Universal Asynchronous Receiver/Transmitter, là chuẩn giao tiếp nối tiếp hỗ trợ bởi phần cứng Khác với các chuẩn giao tiếp phần mềm như SPI và I2C, UART chủ yếu được sử dụng để truyền và nhận dữ liệu nối tiếp một cách hiệu quả.

UART, hay bộ thu-phát không đồng bộ đa năng, là một trong những phương thức giao tiếp kỹ thuật số đơn giản và lâu đời nhất giữa các thiết bị Thiết bị UART có thể được tìm thấy trong mạch tích hợp (IC) hoặc dưới dạng các thành phần riêng lẻ Giao tiếp giữa hai nút riêng biệt được thực hiện thông qua một cặp dẫn và một nối đất chung.

Hệ thống

ESP32 là một hệ thống vi điều khiển trên chip (SoC) của Espressif Systems, kế thừa từ ESP8266, với cả hai biến thể lõi đơn và lõi kép sử dụng bộ vi xử lý 32-bit Xtensa LX6 của Tensilica Nó tích hợp Wi-Fi và Bluetooth, cùng với các thành phần RF như bộ khuếch đại công suất và bộ khuếch đại nhận tiếng ồn thấp Những đặc điểm này giúp việc thiết kế phần cứng cho ESP32 trở nên dễ dàng, yêu cầu rất ít linh kiện bên ngoài.

ESP32 được sản xuất bằng công nghệ 40nm của TSMC, giúp tối ưu hóa hiệu suất năng lượng Điều này làm cho việc thiết kế các ứng dụng sử dụng pin như thiết bị đeo, thiết bị âm thanh và đồng hồ thông minh trở nên dễ dàng hơn.

2.4.1.2 Sơ Đồ Chân Của ESP32

18 kênh bộ chuyển đổi Analog- to- Digital (ADC), 3xSPI, 3xUART, 2xI2C, 16 kênh đầu ra PWM, 2 bộ chuyển đổi Digital-to-Analog (DAC), 2xI2S, 10 GPIO cảm biến điện dung

Các chân của chip ESP32 được gán cố định cho các tính năng ADC và DAC, nhưng bạn có thể tùy chọn các chân cho các giao thức như UART, I2C, SPI, PWM, v.v Việc này chỉ cần khai báo trong code nhờ vào tính năng ghép kênh của chip.

(VD: các chân từ 34 đến 39 là Input only pins nên không thể cấu hình chúng là Output)

Hình 2.15 Các chân của ESP32 NodeMCU-32

2.4.1.3 Thông Số Kỹ Thuật Của ESP32

ESP32 sở hữu nhiều tính năng vượt trội hơn so với ESP8266, khiến việc tổng hợp tất cả thông số kỹ thuật trở nên khó khăn Dưới đây là danh sách một số thông số kỹ thuật quan trọng của ESP32 mà bạn nên biết.

● Bộ vi xử lý LX6 32-bit lõi đơn hoặc lõi kép với xung nhịp lên đến 240 MHz

● 520 KB SRAM, 448 KB ROM và 16 KB SRAM RTC

● Hỗ trợ kết nối Wi-Fi 802.11 b / g / n với tốc độ lên đến 150 Mbps

● Hỗ trợ cho cả thông số kỹ thuật Bluetooth v4.2 và BLE cổ điển

● 34 GPIO có thể lập trình

● 18 kênh SAR ADC 12 bit và 2 kênh DAC 8 bit

● Kết nối nối tiếp bao gồm 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART

● Ethernet MAC cho giao tiếp mạng LAN vật lý (yêu cầu PHY bên ngoài)

● 1 bộ điều khiển host cho SD / SDIO / MMC và 1 bộ điều khiển slave cho

● Động cơ PWM và 16 kênh LED PWM

● Khởi động an toàn và mã hóa Flash

● Tăng tốc phần cứng mật mã cho AES, Hash (SHA-2), RSA, ECC và RNG

2.4.1.4 Các môi trường lập trình

ESP32 hỗ trợ nhiều môi trường lập trình, một số môi trường lập trình thường được sử dụng:

Espressif IDF (Khung phát triển IoT)

2.4.1.5 Espressif Systems ESP32-WROOM-32 MCU

Espressif Systems đã cho ra mắt nhiều module sử dụng ESP32, trong đó ESP-WROOM-32 là một trong những lựa chọn phổ biến Module này tích hợp SoC ESP32, bộ dao động thạch anh 40 MHz, IC Flash 4 MB cùng với một số linh kiện khác.

Module ESP-WROOM-32 có ưu điểm nổi bật với PCB có các cạnh đúc, cho phép các nhà sản xuất bên thứ ba dễ dàng thiết kế bo break-out tương thích với module này.

Hình 2.16 Module ESP32-WROOM-32 MCU

RFID (Nhận dạng qua tần số vô tuyến) là công nghệ sử dụng sóng vô tuyến để tự động xác định và theo dõi các thẻ nhận dạng gắn vào vật thể.

RFID là công nghệ nhận dạng sóng vô tuyến từ xa, cho phép đọc dữ liệu trên chip mà không cần tiếp xúc, với khoảng cách từ 50cm đến 10m thông qua thiết bị thẻ RFID và đầu đọc Điểm nổi bật của RFID là không sử dụng tia sáng như mã vạch, cho phép đọc thẻ qua nhiều vật liệu và điều kiện môi trường khó khăn như bê tông, tuyết, sương mù, băng đá và sơn, mà các công nghệ khác không thể thực hiện hiệu quả.

Một hệ thống RFID tối thiểu gồm những thiết bị sau:

- Thẻ RFID (RFID Tag, còn được gọi là transponder): là một thẻ gắn chíp + Anten

Thẻ RFID có khả năng thay thế mã vạch trên sản phẩm tại các siêu thị bán lẻ Khác với việc quét mã vạch cần tiếp xúc gần, công nghệ RFID cho phép truyền tải thông tin qua khoảng cách nhỏ mà không cần tiếp xúc vật lý.

Thẻ RFID được ứng dụng rộng rãi trong nhiều lĩnh vực, bao gồm quản lý nhân sự, theo dõi hàng hóa tại siêu thị và kho bãi, giám sát động vật, quản lý phương tiện qua trạm thu phí và làm thẻ hộ chiếu.

Có 2 loại thẻ RFID là RFID passive tag và RFID active tag:

Passive tags: Không cần nguồn ngoài và nhận năng lượng từ thiết bị đọc, khoảng cách đọc ngắn

Active tags: Được nuôi bằng PIN, sử dụng với khoảng cách đọc lớn

- Thiết bị đọc thẻ RFID (hay còn gọi là đầu đọc-reader): để đọc thông tin từ các thẻ, có thể đặt cố định hoặc lưu động

- Antenna: là thiết bị liên kết giữa thẻ và thiết bị đọc Thiết bị đọc phát xạ tín hiệu sóng để kích hoạt và truyền nhận với thẻ

- Server: nhu nhận, xử lý dữ liệu, phục vụ giám sát, thống kê, điều khiển,

2.4.2.3 Đặc điểm của hệ thống RFID

Hệ thống RFID sử dụng hệ thống không dây thu phát sóng radio, không sử dụng tia sáng như mã vạch

Hệ thống RFID thường sử dụng các tần số 125 kHz hoặc 900 MHz, cho phép truyền tải thông tin qua những khoảng cách ngắn mà không cần tiếp xúc vật lý.

Công nghệ mới cho phép đọc thông tin qua nhiều vật liệu và môi trường khó khăn như bê tông, tuyết, sương mù, băng đá và sơn, nơi mà mã vạch và các công nghệ truyền thống không thể hoạt động hiệu quả.

Thiết bị RFID reader phát sóng điện từ ở tần số xác định, cho phép các thiết bị RFID tag trong khu vực hoạt động nhận biết và thu nhận năng lượng từ sóng này Khi được kích hoạt, tag sẽ gửi lại mã số của mình, giúp RFID reader nhận diện các tag hiện diện trong vùng hoạt động.

2.4.2.5 Module RFID MFRC-522 NFC 13.56MHz

Dòng ở chế độ chờ: 10-13mA

Dòng ở chế độ nghỉ: Preferences, đến phần Additional boards manager URLs: https://raw.githubusercontent.com/espressif/arduino-esp32/gh- pages/package_esp32_index.json

Hình 4.15 Preferences của Arduino IDE

Ta vào Board Manager, bấm vào esp32, vào nhấn vào Install

Hình 4.16 Cài đặt thư viện board cho ESP32

Firebase là dịch vụ cơ sở dữ liệu dựa trên đám mây, được hỗ trợ bởi hệ thống máy chủ mạnh mẽ của Google Nó giúp lập trình viên phát triển ứng dụng dễ dàng hơn bằng cách tối ưu hóa các thao tác với cơ sở dữ liệu.

Cần có 1 tài khoản Google đã đăng nhập, sau đó truy cập: console.firebase.google.com Nhấn “Add project” để tạo một project

Hình 4.17 Add project Firebase Đặt tên Project

Hình 4.19 Giới thiệu Google Cloud và Google Analytics

Ta chọn Default Accont for Firebase và bấm Add Firebase

Hình 4.20 Điều chỉnh Google Analytics

Android Studio là IDE chính thức cho phát triển ứng dụng Android, dựa trên nền tảng IntelliJ IDEA Nó cung cấp giao diện giúp người dùng tạo ứng dụng và quản lý các file phức tạp Ngôn ngữ lập trình chính là Java, được cài đặt sẵn trên thiết bị Người dùng chỉ cần viết, chỉnh sửa và lưu trữ mã nguồn trong các dự án Ngoài ra, Android Studio còn cho phép truy cập vào Android SDK, hỗ trợ tối đa quá trình phát triển ứng dụng.

Bước 1: Vào https://developer.android.com/studio, bấm vào Download Android Studio

Hình 4.21 Trang chủ Android Studio

Ta đồng ý điều khoản sử dụng và tải xuống

Hình 4.22 Tải về Android Studio Sau đó ta mở file “android-studio-2021.3.1.17-windows.exe” để cài đặt

KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

Kết quả đạt được

Trong quá trình thực hiện đồ án tốt nghiệp, nhóm đã đối mặt với nhiều khó khăn nhưng nhờ sự hỗ trợ và hướng dẫn tận tình của thầy Nguyễn Đình Phú, nhóm đã nỗ lực tìm hiểu và học hỏi từ sách vở, các trang web và mạng xã hội Điều này đã giúp nhóm tiếp thu nhiều kiến thức quý báu để hoàn thành đề tài.

Dưới đây là một số kết quả đạt được mà nhóm đã cố gắng trong thời gian qua:

Hiểu thêm về ESP32 và các giao thức truyền thông giữa nó

Biết cách đi dây làm sao cho hợp lý giữa các module

Relay đóng vai trò quan trọng trong việc điều khiển thiết bị một cách chính xác bằng chức năng đóng mở Thiết kế của khối nguồn cho phép chuyển đổi điện áp 220V/DC thành 5V/DC, đáp ứng đúng nhu cầu của các thiết bị sử dụng.

Sắp xếp, bố trí linh kiện hợp lý, đẹp mắt và logic

Sử dụng phần mềm soạn thảo và biên dịch code Arduino IDE, cách thêm board mạch và thư viện của ESP32, thêm được các thư viện khác

Sử dụng phần mềm Android Studio để thiết kế app điều khiển

Sử dụng được phần mềm Arduino để vẽ sơ đồ nguyên lý, mạch PCB

Hình 5.1 Bên trong tủ điện

72 Hình 5.2 Sau cửa tủ điện

Hình 5.3 Trước tủ cửa điện

Mô hình được lắp đặt và thử nghiệm ở phòng trọ

Mô hình theo tủ điện cho nên có thể treo lên tường

Màn hình hiển thị đươc các thông tin đơn giản được định sẵn

Hình 5.5 Giao diện bắt đầu

Hình 5.6 Giao diện giám sát và điều khiển

Nhận xét và đánh giá

5.2.1 Về phần cứng Ưu điểm:

Relay hoạt động đúng theo yêu cầu điều khiển

Thời gian delay điều khiển khoảng 100ms-500ms

Để cải thiện hiệu suất, cần nâng cấp từ màn hình LCD lên màn hình HMI nhằm tích hợp chức năng điều khiển Bên cạnh đó, việc chuyển sang sử dụng thanh cái để truyền tải điện hoặc bổ sung thanh ray cáp sẽ giúp tủ gọn gàng hơn và dễ dàng sửa chữa.

5.2.1 Về phần mềm Ưu điểm:

App nhẹ, dùng được cho các dòng điện thoại cấu hình thấp và vừa

Thời gian delay cực thấp, ổn định

Việc thao tác điều khiển các thiết bị trên màn hình đơn giản, thân thiện với người dùng

Chưa lưu lại lịch sử tủ được mở khi nào

Chưa có thông báo về các vấn đề quan trọng

Chưa ghi lại số điện sử dụng trong ngày hoặc trong tháng

Ngày đăng: 09/01/2024, 16:44

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

TÀI LIỆU LIÊN QUAN

w