1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

64 14 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 đề Thiết Kế Hộp Điều Khiển Giám Sát Thiết Bị Thông Minh
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp Hcm
Chuyên ngành Kỹ Thuật
Thể loại Báo Cáo Tổng Kết Đề Tài Nghiên Cứu Khoa Học
Năm xuất bản 2020
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 64
Dung lượng 5,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM

THIẾT KẾ HỘP ĐIỀU KHIỂN GIÁM SÁT

THIẾT BỊ THÔNG MINH

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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”

Trang 12

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

Trang 13

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ở

Trang 14

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

Trang 15

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

Trang 16

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

 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

Trang 17

 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

Trang 18

 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

Trang 19

- 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

Trang 20

 Giới thiệu về ARM Cortex- M4

Bộ xử lý Cortex-M4 được phát triển để giải quyết các thị trường điều khiển tín hiệu số đòi hỏi sự kết hợp hiệu quả, dễ sử dụng của khả năng điều khiển và xử lý tín hiệu Sự kết hợp giữa chức năng xử lý tín hiệu hiệu quả cao với các lợi ích năng lượng thấp, chi phí thấp và dễ sử dụng của bộ vi xử lý Cortex-M đáp ứng nhiều thị trường Những ngành này bao gồm điều khiển động cơ, ô tô, quản lý năng lượng, âm thanh nhúng và thị trường tự động hóa công nghiệp 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 Armv7E-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 (2-12 chu kỳ)

- 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ỗ trợ DSP (Digital Signal Process) giải quyết các vấn đề về tín hiệu số

Hình 2.26 Kiến trúc ARM Cortex-M4

Trang 21

2.4.2 Vi điều khiển ARM STM32F103C8T6

2.4.2.1 Giới thiệu

Đây là vi điều khiển hiệu năng cao được sản xuất dựa trên lõi Arm Cortex- M3 STM32F103C8T6 thuộc dòng vi điều khiển F1 và là vi điều khiển 32 Bit Là một vi điều khiển giá rẻ trên thị trường, mạch nạp và công cụ lập trình đa dạng

Cấu hình của vi điều khiển trên như sau:

- Bộ nhớ FLASH 64Kbytes và bộ nhớ SRAM lên đến 20Kbytes

- Số I/O là 37 và các ngoại vi được kết nối với cầu APB

- Điện áp hoạt động 2.0V đến 3.6V

- Sử dụng thạch anh ngoài từ 4Mhz đến 20Mhz

- Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz

- Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC

- Có 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ

+ Khoảng giá trị chuyển đổi từ 0 – 3.6V

+ Lấy mẫu nhiều kênh hoặc 1 kênh

+ Có cảm biến nhiệt độ nội

- Có 7 kênh điều khiển DMA, hỗ trợ DMA cho ADC, I2C, SPI, UART

- Số TIMER: 7

+ 3 TIMER 16 bit hỗ trợ các mode IC/OC/PWM

+ 1 TIMER 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt input, dead-time

+ 2 watdog timer dùng để bảo vệ và kiểm tra lỗi

+ 1 SysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm Delay…

- Hỗ trợ 9 kênh giao tiếp bao gồm:

+ 2 bộ I2C(SMBus/PMBus)

+ 3 bộ USART(ISO 7816 interface, LIN, IrDA capability, modem control) + 2 SPIs (18 Mbit/s)

+ 1 bộ CAN interface (2.0B Active)

+ USB 2.0 full-speed interface

- Có kiểm tra lỗi CRC và 96 bit ID

Trang 22

Hình 2.27 Các chân và ngoại vi trên STM32F103C8T6

Hình 2.28 Ảnh thực tế Board STM32F103C8T6

 1 cổng Mini USB dùng để cấp nguồn, nạp cũng như debug

 2 MCU bao gồm 1 MCU nạp và 1 MCU dùng để lập trình

 Có chân Output riêng cho các chân mạch nạp trên MCU1

 Có chân Output đầy đủ cho các chân MCU2

 Chân cấp nguồn ngoài riêng cho MCU2 nếu không sử dụng nguồn từ USB

 Thạch anh 32,768khz dùng cho RTC và Backup

 Chân nạp dùng cho chế độ nạp boot loader

 Nút Reset ngoài và 1 led hiển thị trên chân PB9, 1 led báo nguồn cho MCU2

Trang 23

2.4.2.2 Cơ sở lý thuyết về chuẩn giao tiếp SPI của STM32F103C8T6

SPI (Serial Peripheral Interface) là chuẩn giao tiếp đồng bộ 4 dây do hãng Motorola phát triển Chuẩn giao tiếp này bao gồm 1 thiết bị Master, 1 hay nhiều thiết bị Slave Tốc

độ giao tiếp SPI cũng là khá cao nên nó được dùng nhiều trong các ứng dụng như:

module SIM, module Btultooth, Module wifi, IC nhớ, thẻ nhớ, IC RFID, IC chuyển đổi ADC, đọc tín hiệu vị trí từ IC màn hình, IC dịch bit…

Các dây của chuẩn giao tiếp SPI bao gồm:

 SCK: chân này là chân clock, duy trì xung nhịp cho mọi hoạt động truyền nhận Nhờ có chân này nên SPI là chuẩn giao tiếp đồng bộ và data trong quá trình truyền nhận cũng ít sai sót hơn nhờ sự đồng bộ này Xung nhịp chỉ do thiết bị Master phát

cho phép có được giao tiếp(enable) với IC đó hay không

Hình 2.29: Các chân giao tiếp của chuẩn SPI

STM32f103C8T6 có 2 cổng giao tiếp SPI tốc độ tối đa lên đến 18Mbs/s với nhiều mode cấu hình Một số tính năng chính của giao tiếp SPI trên MCU này là:

 Truyền đồng bộ full –duplex trên 3 dây chính, half – duplex, chỉ truyền, chỉ nhận

 Cấu hình bằng phần mềm là master hay Slave

 Khung truyền cấu hình là 8 hay 16 bit

 Cấu hình data truyền theo kiểu MSB hoặc LSB đi trước

 Có các cờ báo lỗi, tính năng CRC, cờ ngắt

 Có hỗ trợ DMA (bộ truyền tốc độ cao)

Trang 24

2.4.3 Vi điều khiển ARM STM32F407ZGT6

Đây là vi điều khiển hiệu năng cao được sản xuất dựa trên lõi Arm Cortex- M4 STM32F407ZGT6 thuộc dòng vi điều khiển F4 và là vi điều khiển 32 Bit Là một vi điều

hỗ trợ tốt về xử lý tín hiệu số

Cấu hình của vi điều khiển trên như sau:

- Bộ nhớ FLASH 1 Mbyte và bộ nhớ SRAM lên đến 192+4 Kbytes

- Số I/O là 140 và các ngoại vi được kết nối với cầu APB

+ Với 136 I/Os tốc độ cao 84Mhz

+ 138 I/Os hoạt động điện áp 5V

- Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC

- Có điện áp nguồn cung cấp cho RTC

- Có 2 bộ ADC 12 bit

- + Khoảng giá trị chuyển đổi từ 0 – 3.6V

+ Lấy mẫu nhiều kênh hoặc 1 kênh

+ Có cảm biến nhiệt độ nội

- Có 16 kênh điều khiển DMA, hỗ trợ DMA cho ADC, I2C, SPI, UART

- Số TIMER: 17

+ 12 TIMER 16 bit hỗ trợ các mode IC/OC/PWM

+ 2 TIMER 32 bit

+ 2 watdog timer dùng để bảo vệ và kiểm tra lỗi

+ 1 SysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm Delay…

- Hỗ trợ 9 kênh giao tiếp bao gồm:

+ 3 bộ I2C(SMBus/PMBus)

+ 4 bộ USART(ISO 7816 interface, LIN, IrDA capability, modem control) + 3 SPIs (42 Mbit/s)

+ 2 bộ CAN interface (2.0B Active)

+ USB 2.0 full-speed interface

+ Giao tiếp SDIO

- Các chuẩn nạp Serial wire debug (SWD) & giao tiếp JTAG

Trang 25

- Có kiểm tra lỗi CRC và 96 bit ID

Hình 2.30 Các chân và ngoại vi trên STM32F103C8T6

Trang 27

• Dãi độ ẩm hoạt động: 20% - 90% RH, sai số ±5%RH

• Khoảng cách truyển tối đa: 20m

• Tần số lấy mẫu tối đa: 1 Hz

• Chuẩn giao tiếp 1-wire

• Kích thước 15x12x5.5mm

2.4.4.2 Nguyên lý hoạt động

Để đo độ ẩm, người ta sử dụng thành phần cảm biến độ ẩm có hai điện cực

với chất giữ ẩm giữa chúng Vì vậy, khi độ ẩm thay đổi, độ dẫn của chất nền thay

đổi hoặc điện trở giữa các điện cực này thay đổi Sự thay đổi điện trở này được đo

và xử lý bởi IC khiến cho vi điều khiển luôn sẵn sàng để đọc

Để đo nhiệt độ, các cảm biến này sử dụng cảm biến nhiệt độ nhiệt điện trở Một

nhiệt điện trở thực sự là một điện trở thay đổi điện trở của nó với sự thay đổi của

nhiệt độ

Ta cần thực hiện 2 bước

- Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại

- Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ

đo được

+ Bước 1: gửi tín hiệu Start

Hình 2.33 Thời gian gửi tín hiệu của DHT

 MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời

gian >18ms Trong Code mình để 25ms Khi đó DHT11 sẽ hiểu MCU muốn đo

giá trị nhiệt độ và độ ẩm

 MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào

 Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp Nếu >40us mà chân

DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11

Trang 28

 Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT

+ Bước 2: Đọc tín hiệu trên DHT11

DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:

 Byte 1: giá trị phần nguyên của độ ẩm (RH%)

 Byte 2: giá trị phần thập phân của độ ẩm (RH%)

 Byte 3: giá trị phần nguyên của nhiệt độ (TC)

 Byte 4: giá trị phần thập phân của nhiệt độ (TC)

 Byte 5: kiểm tra tổng

Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa

Đọc dữ liệu:

Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1

về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm

 Bit 0:

Hình 2.34 Thời gian tín hiệu gửi mức 0

Trang 29

 Bit 1

Hình 2.35 Thời gian tín hiệu gửi mức 1

2.4.5.1 Đặc tính kỹ thuật

Module có thể sử dụng 125 kênh khác nhau cho phép có một mạng gồm 125 modem hoạt động độc lập ở một nơi Mỗi kênh có thể có tối đa 6 địa chỉ hoặc mỗi đơn vị

có thể liên lạc với tối đa 6 đơn vị khác cùng một lúc

NRF24L01 module thu phát không dây 2.4GHz cho bạn giải pháp kết nối không dây nhanh và chi phí thấp

NRF24L01 có các đặc tính kỹ thuật như sau:

- Điện áp làm việc: 1.9V - 3.6V

- Đầu vào dữ liệu tương thích với điện áp 5V (5V tolerance)

- Có thể lựa chọn 3 mức tốc độ kết nối là 2Mbit/s, 1Mbit/s và 250Kbit/s Tốc độ càng thấp, thì khả năng thu phát càng xa, bù lại dữ liệu truyền / giây bị giảm

xuống

- Số kênh kết nối: 6 kênh

- Phương thức giao tiếp : SPI

- Tiêu thụ dòng thấp Tại tốc độ truyền 2Mbit/s, dòng tối đa là 12mA Chế độ nghỉ, module 2.4Ghz tiêu thụ 32uA

- Nhiệt độ hoạt động: -40 đến 80 độ C

- Thạch anh ngoại: 16 Mhz

Trang 31

Bảng 2.2 Tên và chức năng các chân của NRF24L01

STT

chân

1 CE Digital Input Kích hoạt chế độ hoạt động TX và RX

2 CSN Digital Input Chip Select SPI

3 SCK Digital Input Xung Clock SPI

4 MOSI Digital Input Dữ liệu tớ ngõ vào SPI

5 MISO Digital Output Dữ liệu tớ ngõ ra SPI

6 IRQ Digital Output Chân ngắt

7 VDD Power Chân nguồn (+1.9V đến +3.6V)

9 XC2 Analog Output Thạch anh chân 2

10 XC1 Analog Input Thạch anh chân 1

11 VDD_PA Power Output Nguồn ra 1.8V

15 VDD Power Chân nguồn (+1.9V đến +3.6V)

16 IREF Analog Input Dòng so sánh ngưỡng

18 VDD Power Chân nguồn (+1.9V đến +3.6V)

Trang 32

𝐴𝐷𝐷𝑎 7:4 0000 R/W Thời gian truyền lại khi lỗi

ARC 3:0 0011 R/W Đếm số lần thực hiện truyền lại

‘0000’ truyền lại ngắt kết nối

‘0001’ Lần thứ 1 truyền lại lỗi của AA …

‘1111’ Lần thứ 15 truyền lại lỗi của AA

Không xài 7 0 R/W Chỉ cho ‘0’ được phép RF_CH 6:0 0000010 R/W Chọn tần số trong băng thông

trong khoảng từ 2.4Ghz đến 2.4Ghz + 125 Mhz

06 RF_SETUP Cài đặt thanh ghi RF

CONT_WAVE 7 0 R/W Cho bit 7 lên 1 cho phép truyền

liên tục Không dùng 6 0 R/W Chỉ ‘0’ được cho phép RF_DR_LOW 5 0 R/W Cài đặt tốc độ truyền gói tin là

250Kbps PLL_LOCK 4 0 R/W Dùng để kiểm tra RF_DR_HIGH 3 1 R/W ‘00’ 1Mbps

7E7E7

R/W Set địa chỉ nhận thứ 0

MAX: 5 byte MIN: 3 byte

Ngày đăng: 17/01/2022, 16:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Đề tài “ Mô hình nông nghiệp thông minh” của sinh viên Nguyễn Văn Giỏi và Danh Quang Vũ của trường Đại học Sư Phạm Kỹ Thuật TPHCM năm 2017 Sách, tạp chí
Tiêu đề: Mô hình nông nghiệp thông minh
Tác giả: Nguyễn Văn Giỏi, Danh Quang Vũ
Nhà XB: Đại học Sư Phạm Kỹ Thuật TPHCM
Năm: 2017
[3] Đề tài “Điều khiển nhà thông minh” của sinh viên Lê Văn Hiếu của trường đại học Bà Rịa Vũng Tàu năm 2019 Sách, tạp chí
Tiêu đề: Điều khiển nhà thông minh
Tác giả: Lê Văn Hiếu
Nhà XB: trường đại học Bà Rịa Vũng Tàu
Năm: 2019
[4] Nguyễn Đình Phú, “Giáo trình Vi Xử Lý Nâng Cao”, Nhà xuất bản Đại học Sư Phạm Kỹ Thuật Tp.HCM Sách, tạp chí
Tiêu đề: Giáo trình Vi Xử Lý Nâng Cao
Nhà XB: Nhà xuất bản Đại học Sư Phạm Kỹ Thuật Tp.HCM
[5] Nguyễn Đình Phú, “Giáo trình Thực Hành Vi Xử Lý Nâng Cao”, Nhà xuất bản Đại học Sư Phạm Kỹ Thuật Tp.HCM Sách, tạp chí
Tiêu đề: Giáo trình Thực Hành Vi Xử Lý Nâng Cao
Nhà XB: Nhà xuất bản Đại học Sư Phạm Kỹ Thuật Tp.HCM
[6] Trần Thu Hà, Trương Thị Bích Ngà, Nguyễn Thị Lưỡng, Bùi thị Tuyết Đan, Phù Thị Ngọc Hiếu, Dương Thị Cẩm Tú (2013), “Giáo trình Điện Tử Cơ Bản”, Nhà xuất bản Đại học Quốc Gia Tp.HCM Sách, tạp chí
Tiêu đề: Giáo trình Điện Tử Cơ Bản
Tác giả: Trần Thu Hà, Trương Thị Bích Ngà, Nguyễn Thị Lưỡng, Bùi thị Tuyết Đan, Phù Thị Ngọc Hiếu, Dương Thị Cẩm Tú
Nhà XB: Nhà xuất bản Đại học Quốc Gia Tp.HCM
Năm: 2013
[7] Link tài liệu về ARM, STM32 và module: • https://iotmaker.vn/lcd-text-1602.html Sách, tạp chí
Tiêu đề: Link tài liệu về ARM, STM32 và module

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w