HCMUTE: Thiết kế hộp điều khiển giám sát thiết bị thông minh

Chuyên khảo phân tích Hcmute thiết kế hộp điều khiển giám sát thiết bị thông minh, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Chuyên ngành

Kỹ thuật

Người đăng

Ẩn danh

Thể loại

Luan van

2020

65
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. CHƯƠNG 1: TỔNG QUAN

1.1. Tình hình nghiên cứu trong và ngoài nước

1.1.1. Đặt vấn đề

1.1.2. Tính cấp thiết của đề tài

1.1.3. Mục tiêu đề tài

1.1.4. Giới hạn đề tài

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN

2.1. Giới thiệu về phần mềm lập trình Keil uVison5

2.2. Giới thiệu phần mềm lập trình Arduino IDE

2.3. Giới thiệu phần mềm lập trình Android Studio

2.4. Lý thuyết về vi điều khiển STM32

2.4.1. Tổng quan về vi điều khiển ARM

2.4.1.1. Giới thiệu
2.4.1.2. Lịch sử phát triển ARM
2.4.1.3. Các dòng phát triển của ARM
2.4.1.4. Kiến trúc của ARM
2.4.1.5. Giới thiệu về AMR Cortex
2.4.1.6. Giới thiệu về ARM Cortex-M3
2.4.1.7. Giới thiệu về ARM Cortex-M4

2.4.2. Vi điều khiển ARM STM32F103C8T6

2.4.2.1. Giới thiệu
2.4.2.2. Cơ sở lý thuyết về chuẩn giao tiếp SPI của STM32F103C8T6

2.4.3. Vi điều khiển ARM STM32F407ZGT6

2.4.4. Cảm biến nhiệt độ, độ ẩm DHT11

2.4.4.1. Đặc tính kỹ thuật
2.4.4.2. Nguyên lý hoạt động

Tóm tắt

I. Thiết kế Hộp Điều khiển Giám sát Thiết bị Thông minh

Đề tài Thiết kế hộp điều khiển giám sát thiết bị thông minh tại HCMUTE tập trung vào việc xây dựng một hệ thống giám sát và điều khiển các thiết bị điện tử trong gia đình từ xa, nhằm mục đích tiết kiệm năng lượng và nâng cao hiệu quả sử dụng. Đề tài này giải quyết vấn đề lãng phí điện năng đáng kể tại Việt Nam, ước tính cao gấp 1,5 - 6 lần so với thế giới. Hệ thống này cho phép người dùng giám sát từ xa, điều khiển từ xa các thiết bị, cài đặt lịch trình bật/tắt tự động thông qua giao diện màn hình LCD hoặc ứng dụng Android. Việc tích hợp Internet of Things (IoT)phát triển phần mềm nhúng là trọng tâm của nghiên cứu. Thiết kế điện tử, bao gồm thiết kế mạch điện tử, lựa chọn vi điều khiển (như STM32F103C8T6STM32F407ZGT6) và các cảm biến (như DHT11), là những yếu tố then chốt. Lập trình nhúng sử dụng Keil uVision5Arduino IDE để điều khiển các phần cứng. Phát triển phần mềm ứng dụng Android kết hợp với Google Firebase tạo ra giao diện thân thiện, giúp người dùng dễ dàng quản lý hệ thống. An ninh mạngbảo mật thông tin cũng được xem xét trong quá trình thiết kế.

1.1. Giám sát và Điều khiển Thiết bị Thông minh

Phần này tập trung vào chức năng chính của hệ thống: giám sát thiết bị thông minhđiều khiển từ xa. Hệ thống sử dụng cảm biến để thu thập dữ liệu về trạng thái hoạt động của các thiết bị và môi trường (ví dụ: cảm biến nhiệt độ, độ ẩm DHT11). Dữ liệu được xử lý và truyền đến giao diện người dùng (màn hình LCD và ứng dụng Android) giúp người dùng theo dõi tình hình hoạt động của thiết bị. Chức năng điều khiển từ xa cho phép người dùng bật/tắt thiết bị từ bất kỳ đâu thông qua ứng dụng di động. Hộp điều khiển đóng vai trò trung tâm trong việc xử lý dữ liệu, điều khiển các thiết bị và giao tiếp với mạng internet. Thiết kế hộp điều khiển được tối ưu để đảm bảo độ tin cậy và hiệu quả hoạt động. Vi điều khiển đóng vai trò xử lý trung tâm, thực hiện các thuật toán điều khiển và giao tiếp với các module khác. Thiết kế phần cứngthiết kế phần mềm được tích hợp chặt chẽ để đảm bảo sự hoạt động ổn định và hiệu quả của toàn bộ hệ thống. PLC có thể được xem xét như một giải pháp nâng cao trong việc điều khiển nhiều thiết bị phức tạp hơn. Công nghệ IoTInternet of Things được tận dụng tối đa để tạo nên tính năng giám sát từ xa, cho phép người dùng kiểm tra và điều khiển hệ thống mọi lúc mọi nơi.

1.2. Thiết kế Hệ thống và Phát triển Phần mềm

Thiết kế hệ thống bao gồm hai phần chính: thiết kế phần cứngthiết kế phần mềm. Thiết kế phần cứng tập trung vào việc lựa chọn các linh kiện phù hợp, bố trí mạch điện và thiết kế hộp điều khiển. Vi điều khiển STM32F103C8T6STM32F407ZGT6 được sử dụng để xử lý dữ liệu và điều khiển các thiết bị. Thiết kế mạch điện tử được thực hiện dựa trên các nguyên tắc kỹ thuật điện tử, đảm bảo sự ổn định và an toàn của hệ thống. Thiết kế phần mềm bao gồm lập trình vi điều khiển bằng Keil uVision5Arduino IDE, và phát triển ứng dụng Android. Lập trình nhúng tập trung vào việc viết code điều khiển các thiết bị, xử lý dữ liệu từ cảm biến và giao tiếp với mạng internet. Phát triển phần mềm ứng dụng Android giúp người dùng tương tác với hệ thống một cách dễ dàng và trực quan. Google Firebase được sử dụng để lưu trữ và quản lý dữ liệu. Phần mềm được thiết kế thân thiện với người dùng, có giao diện người dùng trực quan và dễ sử dụng. Xử lý dữ liệuhiển thị dữ liệu là hai khía cạnh quan trọng trong việc phát triển phần mềm. Mở rộng hệ thống trong tương lai cũng được xem xét trong quá trình thiết kế.

1.3. Kiểm thử và Đánh giá Hệ thống

Sau khi hoàn thành thiết kế, hệ thống cần được kiểm thử kỹ lưỡng để đảm bảo chất lượng và hiệu quả hoạt động. Kiểm thử bao gồm các giai đoạn: kiểm thử đơn vị, kiểm thử tích hợpkiểm thử hệ thống. Mục tiêu của quá trình kiểm thử là phát hiện và khắc phục lỗi, đảm bảo hệ thống hoạt động chính xác và ổn định. Mô phỏng được sử dụng để kiểm tra các chức năng của hệ thống trước khi triển khai. Tiêu chuẩn thiết kế được tuân thủ trong suốt quá trình thiết kế và kiểm thử. Sau khi kiểm thử, đánh giá hệ thống được thực hiện dựa trên các chỉ số hiệu quả như độ tin cậy, khả năng mở rộng và khả năng sử dụng. Kết quả kiểm thử cung cấp thông tin quan trọng để cải thiện hệ thống và tối ưu hóa hiệu suất. Báo cáo tổng kết trình bày chi tiết về quá trình thiết kế, kiểm thử và đánh giá hệ thống. Ứng dụng giám sát từ xa và giải pháp giám sát hiệu quả là những kết quả chính của đề tài này. Tự động hóa một số tác vụ trong gia đình giúp nâng cao chất lượng cuộc sống.

01/02/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Ngày nay với sự phát triển nhanh chóng của công nghệ, công việc giám sát và điều khiển thiết bị tại nhà tại bất cứ nơi nào ngày càng quan trọng hơn hết để giúp chúng ta tránh những rủi ro về lãng phí điện năng tiêu thụ. Vì thế mà em đã thực hiện đề tài: “THIẾT KẾ HỘP ĐIỀU KHIỂN GIÁM SÁT THIẾT BỊ THÔNG MINH” nhằm mục đích kiểm soát được sự hoạt động của các thiết bị điện đang tiêu thụ tại nhà. Tính cấp thiết của đề tài Theo tính toán, mức lãng phí điện năng của Việt Nam cao gấp 1,5 - 6 lần so với thế giới, còn tổng hợp của Bộ Công Thương cho thấy mức lãng phí của điện của ta rất cao, từ 10 - 50%. Hiện tượng lãng phí trong sử dụng điện có thể bắt gặp ở bất cứ đâu, từ hộ gia đình cho đến các cơ quan và doanh nghiệp.

Nhiều người cứ nghĩ tắt đi một bóng đèn, một tấm biển quảng cáo hay chiếc quạt cũng chẳng tiết kiệm được điện năng là bao nhiêu. Tuy nhiên, theo các tính toán, chỉ cần tắt một bóng đèn, rút các thiết bị điện khi không sử dụng, hay dùng các thiết bị trong gia đình đúng cách có thể tiết kiệm điện từ 10-15% hàng tháng. Chính vì vậy hệ thống này có các mục hẹn cài đặt tắt giờ hoặc là giám sát, điều khiển sự hoạt động các thiết bị dễ dàng trên màn hình LCD hoặc ứng dụng trên điện thoại Android. Mục tiêu đề tài Mục tiêu đề tài lần này của em là: Thực hiện một thiết bị giám sát sự hoạt động, điều khiển những đồ dùng điện trong nhà, đọc được nhiệt độ tại phòng tự động bật quạt hay điều hòa trong phòng.

Hê thống còn có thể cài đặt được các giá trị hẹn bật/tắt thiết bị trong nhà qua một màn hình cảm ứng. Ngoài ra hê thống còn có thể kiểm soát ở bất cứ nơi nào thông qua mạng bằng ứng dụng trên điện thoại 1. Giới hạn đề tài Đề tài lần này của em là một đề tài không quá mới, tuy nhiên bước đầu làm quen với vi điều khiển ARM để giao tiếp với các module thiết bị và tài liệu hạn chế rất nhiều đa phần là bằng tiếng Anh. Vì vậy sai sót là vẫn còn, kính mong thầy/cô bỏ qua những sai sót lần này.

1 Luan van Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 2. Giới thiệu về phần mềm lập trình Keil uVison5 Phần mềm lập trình cho vi điều khiển ARM có nhiều chương trình khác nhau, sau đây em sẽ sử dụng một chương trình thông dụng và dễ dàng tiếp cận là Keil uVision5. Để sử dụng thì đầu tiên phải cài đặt chương trình Keil uVision5, nên làm theo hướng dẫn của phần mềm. Biểu tượng Keil uVision5 sau khi cài xong xuất hiện trên desktop như hình sau: Hình 2.1 Biểu tượng phần mềm Keil uVision5.

- Hướng dẫn sử dụng phần mềm Keil uVision5: + Biên soạn chương trình cơ bản Bước 1: Nên tạo một thư mục để lưu và quản lý các chương trình lập trình cho vi điều khiển. Bước 2: Khởi tạo chương trình Keil uVision5, giao diện xuất hiện như hình 2.2 Thông thường thì phần mềm sẽ khởi tạo và mở một chương trình soạn thảo sau cùng hoặc mở một ứng dụng có trong phần mềm.2 Giao diện phần mềm Keil uVision5 2 Luan van Bước 3: Tải thư viện cho dòng chip ARM đang sử dụng, dòng chip em đang sử dụng là STM32F407VET6, tiến hành tải thư viện theo thứ tự 1,2,3 trong hình 2.3, trong thứ tự 4 thì nếu chưa có thì bấm Install, nếu có rồi thì bấm Update kiểm tra cập nhật.3: Tải thư viện cho phần mềm Bước 4: Tiến hành chọn biểu tượng open, rồi mục “Project” và chọn “New uVision Project” theo thứ tự 1,2 trong hình 2.3 Tạo project mới 3 Luan van Chọn thư chứa file nguồn và đặt tên Project theo ý muốn như hình 2.4 làm theo thứ tự 1 và 2.4 Đặt tên thư mục mới 4 Luan van Bước 5: Chọn dòng chip sử dụng, làm theo thứ tự 1,2,3,4,5 trong hình 2.5: Chọn chip sử dụng Giao diện sau xuất hiện như hình 2.6 và trong file chưa có gì.6: Màn hình soạn thảo 5 Luan van Bước 6: Tạo file main.c cho chương trình chính của vi điều khiển bằng tổ hợp phím “Ctrl+N”, nhấn tiếp tổ hợp phím “Ctrl+S” để lưu file. Nhớ lưu chung địa chỉ của Project và đặt đúng tên là main. Ngôn ngữ KeilC uVision có phân biệt chữ hoa hay chữ thường.

Tuy nhiên phần mềm này có hỗ trợ gợi ý khi viết câu lệnh. Sau đó tiến hành viết code và biên dịch bằng cách nhấn phím F9. Nếu không sai cú pháp thì chương trình sẽ hiện thông báo biên dịch thành công như hình 2.7 Thông báo biên dịch thành công Bước 7: Tiến hành nạp code bằng cách nhấn F8 hoặc Load như hình để nạp code vào chip. Sau đó tiến hành kiểm tra trên Board.8 Nạp code vào board Lưu ý: Phần cứng và phần mềm nên đồng bộ với nhau, nếu phần cứng kết nối với Port nào thì phần mềm phải khởi tạo chính Port đó.

Nếu không thì mạch sẽ không hoạt động như mong muốn. Giới thiệu phần mềm lập trình Arduino IDE Trong hệ thống thiết kế này, để có thể giao tiếp qua Wifi thì nhóm em sử dụng Module ESP8266. Để viết code cho Module này nhóm em sử dụng phần mềm lập trình là Arduino IDE. Để sử dụng phần mềm này thì chúng ta nên làm theo các hướng dẫn của phần mềm.

Biểu tượng Arduino IDE sau khi cài xong xuất hiện trên desktop như hình sau: Hình 2. Phần mềm lập trình Arduino IDE 6 Luan van Bước 1: Nên tạo một thư mục để lưu và quản lý các chương trình lập trình cho vi điều khiển. Bước 2: Khởi tạo chương trình Keil uVision5, giao diện xuất hiện như hình 2.10 Thông thường thì phần mềm sẽ khởi tạo và mở một chương trình soạn thảo sau cùng hoặc mở một ứng dụng có trong phần mềm.10 Giao diện phần mềm Arduino IDE Bước 3: Tải thư viện cho dòng chip ESP đang sử dụng, dòng chip em đang sử dụng là ESP8266, tiến hành tải thư viện bằng cách nhấn tổ hợp phím “Ctrl+Shift+I” và làm theo các thứ tự như hình 2.11 để tiến hành cài đặt thư viện cho ESP8266. + Ở thứ tự thứ 1: ta nhập “ESP8266” vào textbox để tìm kiếm thư viện về ESP8266.

+ Ở thứ tự thứ 2: ta tiến hành “Install” cài đặt thư viện ở hình 2.11 do em đã cài trước nên không hiện. 7 Luan van Hình 2.11 Cài đặt thư viện cho ESP8266 Bước 4: Tiến hành nhấn tổ hợp phím “Ctrl+N” để tạo một Project mới.12 Hình ảnh sau khi tạo Project mới 8 Luan van Bước 5: Chọn dòng chip sử dụng, làm theo thứ tự 1,2 như trong hình 2.13 Chọn Board cần sử dụng Bước 6: Sau khi viết code xong tiến hành nạp code bằng cách nhấn vào phím Upload như trong hình 2.14 Nạp và kiểm tra lỗi 2. Giới thiệu phần mềm lập trình Android Studio Đây là phần mềm lập trình ứng dụng cho các điện thoại chạy hệ điều hành Android. Trong phần thiết kế lần này, nhóm em có sử dụng điện thoại để giao tiếp chung với hệ thống.

Vì thế để sử dụng phần mềm này thì ta nên làm theo các bước như bên dưới. Biểu tượng Arduino IDE sau khi cài xong xuất hiện trên desktop như hình sau: Hình 2.15 Phần mềm lập trình Android Studio 9 Luan van Bước 1: Tiến hành mở và tạo một Project mới theo thứ tự 1, 2, 3 như trong hình 2.16 Tiến hành tạo Project mới Sau khi ta làm xong các bước trên, màn hình sẽ hiện ra một cửa sổ mới như hình 2.17 ta tiến hành nhấn vào “Empty Activity” và ấn “Next” 10 Luan van Hình 2.17 Chọn kiểu Project Cửa sổ mới tiếp tục hiện ra, ở cửa sổ này ta đặt tên cho Project mới và chọn đường dẫn cho Project. Bên cạnh đó, phần mềm sẽ hỏi ta Minimum SDK tức là giá trị nhỏ nhất cho phiên bản Version Android mà Project này hỗ trợ. Ta nên chọn SDK 15 cho phù hợp với đại đa số điện thoại ngày nay.

11 Luan van Hình 2.18 Đặt tên cho Project, chọn đường dẫn, SDK MINIMUM Tiến hành liên kết với Google Firebase, để hiểu rõ hơn về Google Firebase em sẽ trình bày chi tiết ở Chương 3. Mục này chỉ trình bày về cách liên kết với Google Firebase với phần mềm Android Studio. Sau khi làm xong theo hình 2.18, cửa sổ lập trình Project mới sẽ hiện ra. Tại đây để liên kết với Google Firebase ta làm theo các bước sau: + Đầu tiên ta vào mục Tools\ Firebase từ cửa sổ lập trình Project mới của ta đang mở 12 Luan van Hình 2.19 Cách liên kết với Google Firebase Cửa sổ Firebase mở ra bên phải ứng dụng của ta.

Từ đây ta có thể làm theo các hướng dẫn của Google. Các hàm mẫu và chỉ dẫn cũng khá chi tiết. Nếu muốn dùng Firebase tạo cơ sở dữ liệu thời gian thực, ta nhấn vào mục Realtime Database Hình 2.20 Cài đặt các yêu cầu liên kết 13 Luan van Sau đó ta nhấn tiếp vào mục Save and retrieve data. Ta lần lượt thực hiện các bước tiếp theo Hình 2.21 Lưu dữ liệu liên kết Sau khi thực hiện xong việc liên kế ứng dụng với Firebase thì bạn sẽ thấy thông báo như sau tại cửa sổ Firebase trong ứng dụng.22 Thông báo liên kết thành công 14 Luan van 2.

Lý thuyết về vi điều khiển STM32 2. Tổng quan về vi điều khiển ARM  Giới thiệu Cấu trúc ARM (viết tắt của Acorn RISC Machine) là một cấu trúc vi xử lý 32 bit kiểu RISC (thuộc kiến trúc Hardvard, có tập lệnh rút gọn) được sử dụng rộng rãi trong các thiết kế nhúng. Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quang trọng hang đầu. Ngày nay ARM được ứng dụng rộng rãi trên mọi lĩnh vực của đời sống: Robot, máy tính, điện thoại, xe hơi, máy giặt… Hình 2.23 Một số ứng dụng của ARM 15 Luan van  Lịch sử phát triển ARM Việc thiết kế ARM được bắt đầu tử năm 1983 trong một dự án phát triển của công ty máy tính Acorn.

Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm gọi là ARM2 với thiết kế đơn giản chỉ gồm 30. ARM2 có tuyến dữ liệu 32 bit, không gian địa chỉ 26 bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32 bit. Thế hệ sau, ARM3 được tạo ra với 4KB cache và có chức năng được cải thiện nhiều lần hơn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Thiết kế hộp điều khiển giám sát thiết bị thông minh tại HCMUTE" trình bày một giải pháp thiết kế hộp điều khiển giúp giám sát và quản lý các thiết bị thông minh một cách hiệu quả. Nội dung bài viết không chỉ nêu rõ quy trình thiết kế mà còn nhấn mạnh những lợi ích mà hệ thống này mang lại, như tăng cường khả năng kiểm soát, tiết kiệm thời gian và nâng cao hiệu suất làm việc. Độc giả sẽ tìm thấy thông tin hữu ích về cách thức triển khai và ứng dụng công nghệ trong việc quản lý thiết bị thông minh.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng công nghệ tương tự, hãy tham khảo bài viết "Hcmute điều khiển giám sát vị trí trong hệ simotion bằng wincc", nơi bạn có thể tìm hiểu về hệ thống giám sát vị trí. Ngoài ra, bài viết "Hcmute hệ thống điều khiến thông minh các thiết bị qua bluetooth" sẽ cung cấp thêm thông tin về việc điều khiển thiết bị thông minh qua công nghệ Bluetooth. Cuối cùng, bài viết "Đồ án hcmute ứng dụng chatbot vào điều khiển nhà thông minh" sẽ giúp bạn khám phá cách ứng dụng chatbot trong việc quản lý nhà thông minh. Những tài liệu này sẽ giúp bạn có cái nhìn sâu sắc hơn về các giải pháp công nghệ hiện đại trong lĩnh vực thiết bị thông minh.