intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề tài nghiên cứu khoa học: Thiết kế hộp điều khiển giám sát thiết bị thông minh

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:65

15
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu đề tài lần này 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.

Chủ đề:
Lưu

Nội dung Text: Đề tài nghiên cứu khoa học: Thiết kế hộp điều khiển giám sát thiết bị thông minh

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỘP ĐIỀU KHIỂN GIÁM SÁT THIẾT BỊ THÔNG MINH MÃ SỐ: SV2020-132 SKC 0 0 7 4 1 1 Tp. Hồ Chí Minh, tháng 07/2020
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỘP ĐIỀU KHIỂN GIÁM SÁT THIẾT BỊ THÔNG MINH MÃ SỐ: SV2020-132 Thuộc nhóm ngành khoa học: Kỹ thuật Tp. Hồ Chí Minh, tháng 7 năm 2020
  3. 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 đề 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à. 1.1.2. 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. 1.2. 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.3. 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
  4. 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 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. Hình 2.2 Giao diện phần mềm Keil uVision5 2
  5. 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. Hình 2.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. Hình 2.3 Tạo project mới 3
  6. 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. Hình 2.4 Đặt tên thư mục mới 4
  7. 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 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ì. Hình 2.6: Màn hình soạn thảo 5
  8. 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.c. 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 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. Hình 2.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. 2.2. 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.9. Phần mềm lập trình Arduino IDE 6
  9. 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. Hình 2.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
  10. 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. Hình 2.12 Hình ảnh sau khi tạo Project mới 8
  11. Bước 5: Chọn dòng chip sử dụng, làm theo thứ tự 1,2 như trong hình 2.13 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 Hình 2.14 Nạp và kiểm tra lỗi 2.3. 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
  12. 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 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
  13. 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
  14. 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
  15. 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
  16. 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. Hình 2.22 Thông báo liên kết thành công 14
  17. 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  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
  18.  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.000 transistor. 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. Vào những năm cuối thập niên 80, hang máy tính Apple Computer và hang VLSI Technology bắt đầu hợp tác với Acorn để phát triển các thế hệ lõi ARM mới. Kết quả sự hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1982 và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở dữ liệu cho PDA hiệu Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy tính RiscPC của họ. Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước. ARM2 có 30.000 transistor nhưng đến ARM6 cũng chỉ có 35.000 transistor. Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy ý nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và tiếp tục tạo ra sản phẩm với nhiều chức năng nhưng giá thành thấp. Bảng 2.1 Các dòng phát triển của ARM Kiến trúc Số Bit Tên lõi ARMv1 32/26 ARM1 ARMv2 32/26 ARM2, ARM3 ARMv3 32 AMR6, ARM7 ARMv4 32 ARM8 ARMv4T 32 ARM7TDMI, ARM9TDMI ARMv5 32 ARM7EJ, ARM9E, ARM10E ARMv6 32 ARM11 ARMv6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1 ARMv7-M 32 ARM Cortex-M3 ARMv7E-M 32 ARM Cortex-M4 ARMv7-R 32 ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7 ARMv7-A 32 ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A* ARMv8-A 64/32 ARM Cortrx-A53, ARM Cortex-Ạ57 16
  19.  Kiến trúc của ARM Hình 2.24 Kiến trúc của ARM  Giới thiệu về AMR Cortex Lõi Cortex được thừa kế từ thế hệ lõi ARM11 về trước đó. Để phù hợp với nhu cầu sử dụng, ARM được chia làm 3 dòng: - Cortex-A: dành cho hệ điều hành và các ứng dụng phức tạp. Hỗ trợ tập lệnh ARM, thumb, và thumb2 17
  20. - Cortex-R: Bộ xử lý dành cho hệ thống đòi hỏi khắc khe và đáp ứng thời gian thực. Hỗ trợ tập lệnh ARM, thumb, và thumb2. - Cortex-M: Bộ xử lý dành cho dòng vi điều khiển, được thiết kế tối ưu về giá thành. Hỗ trợ tập lệnh Thumb-2. Ở trong hệ thống được thiết kế lần này thì nhóm em sử dụng các chip thuộc lõi M3 là STM32F103 và M4 là STM32F407.  Giới thiệu về ARM Cortex- M3 ARM Cortex-M3 được thiết kế đặc biệt để nâng cao hiệu suất hoạt động của hệ thống kết hợp tiêu thụ năng lượng thấp. ARM Cortex-M3 được thiết kế trên nền kiến trúc mới do đó chi phí sản xuất đủ thấp để cạnh tranh với các dòng 8 và 16 Bit truyền thống. Chúng có các đặc điểm sau: - Là vi xử lý hiệu suất cao 32 bit thuộc kiến trúc Armv7-M, đường ống 3 tầng - Kiến trúc Harvard cung cấp các bus dữ liệu và lệnh riêng biệt - Hỗ trợ tập lệnh Thumb-2 - Khối quản lý vecto ngắt lồng nhau (NVIC- Nested vectored Interupt Controller) cho phép rút ngắt thời gian đáp ứng yêu cầu ngắt. - Bảo vệ bộ nhớ với 8 vùng MPU với các vùng phụ và vùng nền. - BUS interface 3x AMBA AHB-Lite Interface - Hỗ trợ chuẩn nạp JTAG và serial wire Hình 2.25 Kiến trúc ARM Cortex-M3 18
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2