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

Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C

51 74 1
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Nghiên Cứu Đo Nhiệt Độ Và Độ Ẩm Hiển Thị Lên Màn Hình LCD Sử Dụng Cảm Biến DHT11 Và STM32F103C
Tác giả Mai Khắc Nguyên, Nguyễn Văn Nam, Lê Thị Huyền
Người hướng dẫn ThS. Dương Phúc Phần
Trường học Học viện Kỹ thuật Mật Mã
Chuyên ngành Điện Tử-Viễn Thông
Thể loại báo cáo
Năm xuất bản 2020
Thành phố Hà Nội
Định dạng
Số trang 51
Dung lượng 2,21 MB

Cấu trúc

  • DANH MỤC BẢNG BIỂU

  • DANH MỤC CÁC HÌNH VẼ

  • LỜI NÓI ĐẦU

  • Chương 1: Công nghệ thiết kế

    • 1.1 Giới thiệu về Cortex M3- STM32f103

      • 1.1.1 Cortex là gì?

      • 1.1.2 Một vài đặc điểm nổi bật của STM32.

      • 1.1.3 Sự tinh vi

      • 1.1.4 Sự an toàn.

      • 1.1.5 Tính bảo mật.

      • 1.1.6 STM32F103C8

    • 1.2 Màn Hình LCD1602

      • 1.2.1 Giới thiệu :

      • 1.2.2 Chức năng các chân : 

      • 1.2.3 Các thanh ghi: 

      • 1.2.4 Tập lệnh của LCD : 

    • 1.3 Cảm biến DHT11

  • Chương 2. Thiết kế

    • 2.1 Sơ đồ khối

    • 2.2 Thiết kế phần cứng.

    • 2.3 Phần mềm

  • Chương 3: Kết quả và phương hướng phát triển.

    • 3.1 Ưu, nhược điểm

    • 3.2 Phương hướng phát triển

  • TÀI LIỆU THAM KHẢO

Nội dung

Công nghệ thiết kế

Giới thiệu về Cortex M3- STM32f103

Dòng ARM Cortex là bộ xử lý thế hệ mới với kiến trúc chuẩn phục vụ nhu cầu công nghệ đa dạng Khác với các chip ARM khác, dòng Cortex cung cấp một lõi xử lý hoàn thiện và chuẩn CPU chung Dòng Cortex bao gồm ba phân nhánh chính: dòng A cho ứng dụng cao cấp, dòng R cho ứng dụng thời gian thực, và dòng M cho ứng dụng vi điều khiển và chi phí thấp STM32 được thiết kế dựa trên dòng Cortex-M3, được tối ưu hóa cho hiệu suất hệ thống và tiêu thụ năng lượng thấp Với kiến trúc mới, Cortex-M3 có chi phí sản xuất cạnh tranh với các vi điều khiển 8 và 16-bit truyền thống.

Các chip ARM7 và ARM9 được thiết kế bởi các nhà sản xuất bán dẫn với các giải pháp riêng biệt cho việc xử lý ngắt đặc biệt và ngắt thông thường Cortex-M3 cung cấp một lõi vi điều khiển chuẩn, bao gồm hệ thống ngắt, bộ đếm SysTick cho hệ điều hành thời gian thực, hệ thống kiểm lỗi và bản đồ bộ nhớ Không gian địa chỉ 4Gbyte của Cortex-M3 được phân chia cho mã chương trình, SRAM, ngoại vi và hệ thống ngoại vi Khác với ARM7 sử dụng kiến trúc Von Neumann, Cortex-M3 áp dụng kiến trúc Harvard với bộ nhớ chương trình và bộ nhớ dữ liệu tách biệt, cho phép thực hiện các thao tác song song và nâng cao hiệu suất chip Dòng Cortex cho phép truy cập dữ liệu không xếp hàng, giúp tối ưu hóa việc sử dụng SRAM nội Ngoài ra, dòng Cortex còn hỗ trợ kỹ thuật bit banding, cho phép truy cập hiệu quả các thanh ghi ngoại vi và cờ trên bộ nhớ SRAM mà không cần bộ xử lý logic.

Hình 1.1 Kiến trúc vi sử lí ARM cortex-M3

Khối trung tâm của STM32 là bộ xử lý Cortex-M3, một vi điều khiển tiêu chuẩn hóa với CPU 32bit Nó bao gồm cấu trúc bus, đơn vị xử lý ngắt hỗ trợ lồng ngắt, hệ thống kiểm lỗi và tiêu chuẩn bố trí bộ nhớ.

NVIC (Nested Vector Interrupt Controller) là một thành phần quan trọng của lõi Cortex-M3, cung cấp cấu trúc ngắt chuẩn cho các vi điều khiển dựa trên lõi này Với khả năng quản lý lên tới 240 nguồn ngắt từ ngoại vi, mỗi nguồn có thể được ưu tiên với các mức riêng biệt, NVIC xử lý các ngắt yêu cầu thời gian phản hồi cực nhanh, chỉ mất 12 chu kỳ xung nhịp từ khi nhận tín hiệu đến khi thực thi lệnh đầu tiên Khi xảy ra ngắt lồng nhau, NVIC áp dụng phương thức “tail chain” cho phép phục vụ ngắt liên tiếp với độ trễ chỉ 6 chu kỳ xung nhịp Trong quá trình lưu trữ dữ liệu lên vùng nhớ stack, một ngắt có mức ưu tiên cao hơn có thể cạnh tranh với ngắt hiện tại mà không bị trì hoãn Bên cạnh đó, cấu trúc ngắt còn hỗ trợ chế độ tiết kiệm năng lượng, cho phép CPU tự động chuyển sang chế độ này sau khi thoát khỏi ngắt và tiếp tục ngủ cho đến khi có một exception xuất hiện.

Cortex-M3 là một lõi CPU 32-bit chi phí thấp, hỗ trợ hai chế độ hoạt động: Thread và Handler, với mỗi chế độ có vùng stack riêng, giúp phát triển phần mềm phức tạp và hỗ trợ hệ điều hành thời gian thực Lõi Cortex được trang bị một timer 24-bit tự động nạp lại, cung cấp ngắt timer đều đặn cho RTOS Trong khi các chip ARM7 và ARM9 có hai tập lệnh (ARM 32-bit và Thumb 16-bit), dòng Cortex hỗ trợ tập lệnh ARM Thumb-2, kết hợp ưu điểm của cả hai để đạt hiệu suất cao và mật độ mã tối ưu Tập lệnh Thumb-2 được thiết kế cho trình biên dịch C/C++, cho phép phát triển ứng dụng trên nền Cortex mà không cần viết chương trình khởi động bằng assembler như trên ARM7 và ARM9.

1.1.2 Một vài đặc điểm nổi bật của STM32.

ST đã giới thiệu 4 dòng vi điều khiển dựa trên ARM7 và ARM9, trong đó STM32 nổi bật với sự cải tiến đáng kể về chi phí và hiệu suất Với giá chỉ gần 1 Euro khi đặt hàng số lượng lớn, STM32 thực sự là một thách thức đối với các vi điều khiển 8 và 16-bit truyền thống.

Có 14 biến thể STM32 được chia thành hai nhóm: dòng Performance với tần số CPU lên tới 72Mhz và dòng Access với tần số tối đa 36Mhz Các biến thể trong hai nhóm này hoàn toàn tương thích về cách bố trí chân và phần mềm, với kích thước bộ nhớ FLASH ROM lên đến 128K và 20K SRAM.

Hình 1.2 Kiến trúc của STM 32 nhánh performance và Access

Dòng STM32 bao gồm hai nhánh chính: nhánh Performance với xung nhịp tối đa 72MHz và nhiều ngoại vi, và nhánh Access hoạt động với xung nhịp tối đa 36MHz, nhưng có ít ngoại vi hơn.

STM32 sở hữu nhiều ngoại vi hấp dẫn, mặc dù bề ngoài chúng có vẻ giống với các vi điều khiển khác Chẳng hạn, bộ chuyển đổi ADC 12-bit tích hợp cảm biến nhiệt độ tự động hiệu chỉnh theo sự thay đổi nhiệt độ và hỗ trợ nhiều chế độ chuyển đổi Mỗi bộ timer có 4 khối capture compare và có khả năng liên kết với nhau để tạo ra các timer phức tạp Một trong số đó là timer cao cấp chuyên dụng cho điều khiển động cơ, với 6 đầu ra PWM có thể lập trình thời gian chết và một đường break input giúp đưa tín hiệu PWM về trạng thái an toàn Ngoài ra, ngoại vi nối tiếp SPI còn trang bị khối kiểm tra CRC phần cứng cho 8 và 16 word, hỗ trợ hiệu quả cho giao tiếp với thẻ nhớ SD hoặc MMC.

STM32 hỗ trợ 7 kênh DMA (Direct Memory Access) cho phép truyền dữ liệu đến và từ các thanh ghi ngoại vi với kích thước dữ liệu 8/16 hoặc 32-bit Mỗi ngoại vi có thể đi kèm với một bộ điều khiển DMA để gửi hoặc yêu cầu dữ liệu theo nhu cầu Hệ thống bao gồm bộ phân xử bus nội và ma trận bus nhằm tối thiểu hóa sự tranh chấp giữa truy cập dữ liệu qua CPU và các kênh DMA, cho phép các đơn vị DMA hoạt động linh hoạt, dễ sử dụng và tự động điều khiển luồng dữ liệu trong vi điều khiển.

STM32 là vi điều khiển tiết kiệm năng lượng với hiệu suất cao, hoạt động ở điện áp 2V và tần số 72MHz, chỉ tiêu thụ 36mA khi tất cả các khối hoạt động Nhờ vào các chế độ tiết kiệm năng lượng của Cortex, nó chỉ tiêu thụ 2µA ở chế độ standby Bộ dao động nội RC 8MHz giúp chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượng trong khi bộ dao động ngoài khởi động, từ đó giảm thiểu tiêu thụ năng lượng tổng thể.

Ngày nay, các ứng dụng hiện đại phải hoạt động trong môi trường khắc nghiệt, đòi hỏi tính an toàn cao và khả năng xử lý mạnh mẽ Để đáp ứng những yêu cầu này, STM32 cung cấp nhiều tính năng phần cứng hữu ích, bao gồm bộ phát hiện điện áp thấp, hệ thống bảo vệ xung clock và hai bộ watchdog Watchdog đầu tiên là watchdog cửa sổ, yêu cầu phải được làm tươi trong một khoảng thời gian xác định; nếu không, nó sẽ kích hoạt Watchdog thứ hai là watchdog độc lập với bộ dao động bên ngoài tách biệt khỏi xung nhịp hệ thống chính Hệ thống bảo vệ xung nhịp có khả năng phát hiện lỗi của bộ dao động chính bên ngoài (thường là thạch anh) và tự động chuyển sang sử dụng bộ dao động nội RC 8MHz.

Trong thiết kế hiện đại, bảo mật mã chương trình là một yêu cầu khắt khe nhằm ngăn chặn sao chép trái phép phần mềm Bộ nhớ Flash của STM32 có thể được khóa để bảo vệ chống truy cập đọc thông qua cổng debug Khi tính năng bảo vệ đọc được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi, ngăn chặn việc can thiệp vào bảng vector ngắt Bên cạnh đó, việc bảo vệ ghi có thể được áp dụng cho phần còn lại của bộ nhớ Flash STM32 còn tích hợp đồng hồ thời gian thực và khu vực nhỏ dữ liệu trên SRAM được nuôi bằng nguồn pin, với đầu vào chống giả mạo có khả năng kích hoạt sự kiện ngắt khi có sự thay đổi trạng thái Ngoài ra, sự kiện chống giả mạo cũng sẽ tự động xóa dữ liệu trên SRAM được nuôi bằng nguồn pin.

STM32 là dòng vi điều khiển phổ biến của ST, bao gồm nhiều họ như F0, F1, F2, F3, F4 Trong đó, STM32F103 thuộc họ F1 với lõi ARM Cortex-M3, là vi điều khiển 32 bit có tốc độ tối đa 72MHz Với giá thành hợp lý và đa dạng mạch nạp cùng công cụ lập trình dễ sử dụng, STM32F103 là lựa chọn lý tưởng cho nhiều ứng dụng.

Các ứng dụng chính bao gồm: điều khiển driver cho ứng dụng, quản lý ứng dụng thông thường, thiết bị cầm tay và thuốc, máy tính cùng thiết bị ngoại vi chơi game, GPS cơ bản, ứng dụng công nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, hệ thống cảnh báo và thiết bị liên lạc nội bộ.

Phần mềm lập trình: có khá nhiều trình biên dịch cho STM32 như IAR Embedded Workbench, Keil C

Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như: STM32snippets, STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core.

Mạch nạp: có khá nhiều loại mạch nạp như : ULINK, J-LINK , CMSIS-DAP, STLINK…

Màn Hình LCD1602

Thiết bị hiển thị LCD (Liquid Crystal Display) ngày nay được ứng dụng rộng rãi trong các hệ thống VĐK nhờ vào nhiều ưu điểm nổi bật LCD có khả năng hiển thị đa dạng các ký tự như chữ, số và ký tự đồ họa, mang lại tính trực quan cao Nó dễ dàng tích hợp vào mạch ứng dụng thông qua nhiều giao thức giao tiếp khác nhau, đồng thời tiêu tốn ít tài nguyên hệ thống và có giá thành phải chăng.

Hình dáng và kích thước:

Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1 là loại LCD thông dụng.

Hình 1.5 Màn hình lcd HD44780

Trong quá trình sản xuất màn hình LCD, các nhà sản xuất đã tích hợp chip điều khiển HD44780 vào bên trong lớp vỏ, chỉ để lại các chân giao tiếp cần thiết Những chân này được đánh số thứ tự và có tên gọi cụ thể, như thể hiện trong hình 1.6.

Bảng 1.1 Chức năng chân màn hình LCD

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với

GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD.

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic

“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi.

Logic “0” kết nối Bus DB0-DB7 với thanh ghi lệnh IR của LCD trong chế độ “ghi” và với bộ đếm địa chỉ của LCD trong chế độ “đọc”.

+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic

“1” để LCD ở chế độ đọc.

6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus

DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.

Trong chế độ ghi, dữ liệu trên bus sẽ được chuyển vào thanh ghi nội bộ của LCD khi phát hiện xung chuyển từ cao xuống thấp của tín hiệu chân E.

Khi ở chế độ đọc, dữ liệu từ LCD sẽ được xuất ra các chân DB0-DB7 khi có sự chuyển đổi từ mức thấp sang mức cao tại chân E Dữ liệu này sẽ được LCD giữ trên bus cho đến khi chân E trở về mức thấp.

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này :

+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7

15 - Nguồn dương cho đèn nền

Ghi chú : Ở chế độ “đọc”, nghĩa là MCU sẽ đọc thông tin từ LCD thông qua các chân DBx

Còn khi ở chế độ “ghi”, nghĩa là MCU xuất thông tin điều khiển cho LCD thông qua các chân DBx

Sơ đồ khối của chip HD44780 giúp chúng ta hiểu rõ hơn về chức năng và hoạt động của các chân Việc tìm hiểu các khối cơ bản của HD44780 là cần thiết để nắm bắt cách thức hoạt động của thiết bị này.

Hình 1.7 Sơ đồ khối của HD44780

Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor Register) và thanh ghi dữ liệu DR (Data Register)

Để điều khiển màn hình LCD, người dùng cần gửi lệnh qua tám đường bus DB0-DB7 Mỗi lệnh đều có địa chỉ rõ ràng từ nhà sản xuất LCD, và người dùng chỉ cần nạp địa chỉ lệnh vào thanh ghi để thực hiện.

Khi nạp một chuỗi 8 bit vào thanh ghi IR, chip HD44780 sẽ sử dụng địa chỉ từ IR để tra cứu bảng mã lệnh và thực hiện lệnh tương ứng.

VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0) Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

Thanh ghi DR là một thành phần quan trọng trong việc xử lý dữ liệu, có khả năng lưu trữ 8 bit dữ liệu để ghi vào vùng RAM DDRAM hoặc CGRAM trong chế độ ghi Khi MPU ghi thông tin vào DR, mạch nội bộ của chip sẽ tự động chuyển thông tin này vào DDRAM hoặc CGRAM Ngược lại, khi thông tin địa chỉ được ghi vào IR, dữ liệu tại địa chỉ đó trong RAM nội của HD44780 sẽ được chuyển đến DR để gửi cho MPU.

Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ

2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp

0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD

0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6

1 0 Ghi vào thanh ghi DR

1 1 Đọc dữ liệu từ DR

Bảng 1.2: Chức năng chân RS và R/W theo mục đích sử dụng

Cờ báo bận BF: (Busy Flag)

Khi chip thực hiện các hoạt động nội bộ, mạch bên trong cần thời gian để hoàn tất, trong khi đó, LCD sẽ tạm ngưng mọi giao tiếp với bên ngoài và kích hoạt cờ BF qua chân DB7 với thiết lập RS=0 và R/W=1 để thông báo cho MPU rằng nó đang "bận" Sau khi hoàn thành các tác vụ, LCD sẽ đặt cờ BF về mức 0.

Bộ đếm địa chỉ AC : (Address Counter)

Trong sơ đồ khối, thanh ghi IR không kết nối trực tiếp với vùng RAM (DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC Bộ đếm này kết nối với hai vùng RAM theo kiểu rẽ nhánh Khi một địa chỉ lệnh được nạp vào thanh ghi IR, thông tin sẽ được gửi đến cả hai vùng RAM, nhưng việc chọn vùng RAM tương tác đã được xác định trong mã lệnh.

Sau khi dữ liệu được ghi vào RAM, bộ đếm AC sẽ tự động tăng hoặc giảm 1 đơn vị Nội dung của bộ đếm AC sẽ được truyền đến MPU qua các chân DB0-DB6 khi thiết lập RS=0 và R/W=1.

Lưu ý rằng thời gian cập nhật AC không được tính vào thời gian thực thi lệnh, mà sẽ được cập nhật sau khi cờ BF đạt mức cao (not busy) Do đó, khi lập trình hiển thị, bạn cần phải thêm một khoảng delay tADD từ 4uS đến 5uS ngay sau khi BF=1 trước khi nạp dữ liệu mới.

Hình 1.8 : Giản đồ xung cập nhật AC

Vùng RAM hiển thị DDRAM (Display Data RAM) là bộ nhớ RAM chuyên dụng để hiển thị thông tin trên màn hình Mỗi địa chỉ trong DDRAM tương ứng với một ô ký tự trên màn hình; khi ghi một mã 8 bit vào vùng này, LCD sẽ hiển thị ký tự tương ứng với mã đã cung cấp tại vị trí đó.

Hình 1.9 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD

Vùng RAM có khả năng lưu trữ 80 ký tự mã 8 bit, tương đương với 80x8 bit nhớ Các vùng RAM khác không được sử dụng cho hiển thị có thể được tận dụng như vùng RAM đa mục đích.

Lưu ý: Là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX

Vùng ROM chứa kí tự CGROM: Character Generator ROM

Cảm biến DHT11

Cảm biến nhiệt độ và độ ẩm DHT11 là thiết bị phức tạp với đầu ra tín hiệu kỹ thuật số đã được hiệu chỉnh, đảm bảo độ tin cậy và ổn định cao Sử dụng công nghệ cảm biến độc quyền, DHT11 kết hợp phép đo độ ẩm kiểu điện trở và thành phần đo nhiệt độ NTC, kết nối với vi điều khiển 8-bit hiệu suất cao Nhờ đó, cảm biến này cung cấp chất lượng tuyệt vời, phản hồi nhanh chóng và khả năng chống nhiễu hiệu quả.

Cảm biến DHT11 được hiệu chuẩn chính xác trong phòng thí nghiệm với hệ số hiệu chuẩn lưu trữ trong bộ nhớ OTP, giúp quy trình phát hiện tín hiệu bên trong hoạt động hiệu quả Giao diện nối tiếp một dây của nó cho phép tích hợp hệ thống nhanh chóng và dễ dàng Với kích thước nhỏ gọn, tiêu thụ điện năng thấp và khả năng truyền tín hiệu lên đến 20 lần, DHT11 là lựa chọn lý tưởng cho nhiều ứng dụng, kể cả những yêu cầu khắt khe Sản phẩm cũng dễ dàng kết nối và có thể cung cấp các gói đặc biệt theo yêu cầu của người dùng.

Hình 1 15: Kết nối với MCU

Định dạng dữ liệu một bus được áp dụng để giao tiếp và đồng bộ hóa hiệu quả giữa MCU và cảm biến DHT11, với thời gian giao tiếp khoảng 4ms.

Dữ liệu được truyền bao gồm phần thập phân và phần tích phân, với tổng kích thước là 40 bit Cảm biến gửi dữ liệu với số bit cao hơn trước Cấu trúc dữ liệu bao gồm 8 bit cho phần tích phân và 8 bit cho phần thập phân của dữ liệu RH.

Dữ liệu T tích phân 8 bit và dữ liệu thập phân 8 bit, cùng với tổng kiểm tra 8 bit, cần được truyền đúng cách Tổng kiểm tra phải là 8 bit cuối cùng của tổng hợp "Dữ liệu RH tích phân 8 bit, Dữ liệu RH thập phân 8 bit, Dữ liệu T tích phân 8 bit và Dữ liệu T thập phân 8 bit".

Quy trình giao tiếp tổng thể.

Khi MCU gửi tín hiệu khởi động, cảm biến DHT11 chuyển sang chế độ hoạt động và chờ tín hiệu hoàn thành từ MCU Sau đó, DHT11 sẽ gửi dữ liệu 40 bit chứa thông tin về độ ẩm và nhiệt độ tương đối Người dùng có thể lựa chọn thu thập dữ liệu này Nếu không có tín hiệu khởi động từ MCU, DHT11 sẽ không phản hồi Sau khi dữ liệu được thu thập, DHT11 sẽ trở về chế độ tiêu thụ năng lượng thấp cho đến khi nhận được tín hiệu khởi động lại từ MCU.

Hình 1.16: Quy trình giao tiếp tổng

Quá trình gửi tín hiệu bắt đầu từ MCU đến DHT11

Khi bắt đầu giao tiếp giữa MCU và DHT11, chương trình của MCU sẽ hạ mức điện áp của bus dữ liệu từ cao xuống thấp, và quá trình này yêu cầu ít nhất một khoảng thời gian nhất định để thực hiện.

18 mili giây để đảm bảo DHT phát hiện ra tín hiệu của MCU, sau đó MCU sẽ kéo điện áp lên và đợi 20-40us cho phản hồi của DHT

Hình 1.17: Gửi tín hiệu từ

Quá trình phản hồi từ DHT.

Khi DHT nhận tín hiệu khởi động, nó sẽ phản hồi bằng cách gửi tín hiệu điện áp thấp kéo dài 80us Tiếp theo, chương trình của DHT sẽ thiết lập dữ liệu điện áp từ thấp đến cao và giữ mức này trong 80us để chuẩn bị cho việc gửi dữ liệu.

Khi Bus đơn DATA hoạt động ở mức điện áp thấp, DHT sẽ gửi phản hồi tín hiệu Sau khi nhận được phản hồi, DHT sẽ tăng điện áp và duy trì trong 80 micro giây để chuẩn bị cho quá trình truyền dữ liệu.

Khi DHT truyền dữ liệu đến MCU, mỗi bit dữ liệu bắt đầu với mức điện áp thấp trong 50 microgiây, và độ dài của tín hiệu mức điện áp cao sau đó sẽ xác định giá trị của bit dữ liệu là "0" hay "1".

Hình 1.18: Quá trình phản hồi từ DHT

Nếu tín hiệu phản hồi từ DHT luôn ở mức điện áp cao, điều này cho thấy DHT không hoạt động đúng cách và cần kiểm tra kết nối Sau khi dữ liệu bit cuối cùng được truyền, DHT11 sẽ kéo mức điện áp xuống và giữ trong 50us, sau đó điện áp trên Bus sẽ được kéo lên bởi điện trở để trở lại trạng thái tự do.

Việc áp dụng cảm biến DHT11 ngoài phạm vi làm việc có thể dẫn đến 3%

Cảm biến DHT11 có khả năng phục hồi về trạng thái đã hiệu chỉnh khi trở lại hoạt động bình thường và trong phạm vi cho phép, giúp khắc phục tình trạng dịch chuyển hoặc sai lệch tín hiệu.

(2) Chú ý đến vật liệu hóa học

Hơi từ các vật liệu hóa học có thể gây ảnh hưởng tiêu cực đến các yếu tố nhạy cảm của DHT, dẫn đến việc làm giảm hiệu quả hoạt động của nó Mức độ ô nhiễm hóa học cao có khả năng gây hư hỏng vĩnh viễn cho cảm biến.

Nhiệt độ và độ ẩm tương đối (RH) chủ yếu phụ thuộc vào nhiệt độ môi trường Mặc dù công nghệ bù nhiệt độ được áp dụng để đảm bảo đo lường RH chính xác, nhưng chúng tôi khuyên bạn nên đặt cảm biến độ ẩm và nhiệt độ ở cùng một mức nhiệt độ Đặc biệt, DHT11 nên được lắp đặt ở vị trí xa nhất có thể với các bộ phận phát sinh nhiệt.

 Nhiệt độ hàn phải dưới 260 o C và tiếp xúc phải dưới 10 giây.

 Tránh sử dụng cảm biến khi đang bật điều kiện sương.

Không được sử dụng sản phẩm này cho các thiết bị dừng an toàn hoặc khẩn cấp, cũng như trong các tình huống hỏng hóc khác của DHT11, vì điều này có thể dẫn đến nguy cơ gây thương tích cho con người.

 Bảo quản: Giữ cảm biến ở nhiệt độ 10-40 ℃C, độ ẩm

Ngày đăng: 20/10/2021, 21:42

HÌNH ẢNH LIÊN QUAN

Đề tài: Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
t ài: Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C (Trang 1)
DANH MỤC BẢNG BIỂU - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
DANH MỤC BẢNG BIỂU (Trang 5)
STT Hình Nội dung Trang - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
nh Nội dung Trang (Trang 6)
Hình 1.1 Kiến trúc vi sử lí ARM cortex-M3 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.1 Kiến trúc vi sử lí ARM cortex-M3 (Trang 9)
Hình 1.3 Kit STM32F103C8 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.3 Kit STM32F103C8 (Trang 14)
Hình 1.4 Sơ đồ chân của kit STM32F103 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.4 Sơ đồ chân của kit STM32F103 (Trang 16)
Hình dáng và kích thước: - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình d áng và kích thước: (Trang 18)
Hình 1.7 Sơ đồ khối của HD44780 1.2.3 Các thanh ghi:  - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.7 Sơ đồ khối của HD44780 1.2.3 Các thanh ghi: (Trang 21)
Hình 1. 8: Giản đồ xung cập nhật AC - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1. 8: Giản đồ xung cập nhật AC (Trang 23)
Hình 1.9 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.9 Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD (Trang 24)
Hình 1.10: Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự. - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.10 Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự (Trang 25)
Bảng 1.3: Bảng mã kí tự (ROM code A00) - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Bảng 1.3 Bảng mã kí tự (ROM code A00) (Trang 26)
Hình 1.11: Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí tự.  - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.11 Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí tự. (Trang 27)
Bảng 1.4: Tập lệnh của LCD - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Bảng 1.4 Tập lệnh của LCD (Trang 28)
Bảng 1. 5: Maximun Rating - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Bảng 1. 5: Maximun Rating (Trang 32)
Hình 1.12 Chế độ giao tiếp LCD - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.12 Chế độ giao tiếp LCD (Trang 34)
Hình 1.13 Chế độ giao tiếp LCD - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.13 Chế độ giao tiếp LCD (Trang 35)
Hình 1.14: Cảm biến DHT11 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.14 Cảm biến DHT11 (Trang 37)
Hình 1. 15: Kết nối với MCU - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1. 15: Kết nối với MCU (Trang 38)
Hình 1.16: Quy trình giao tiếp tổng - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.16 Quy trình giao tiếp tổng (Trang 39)
Hình 1.17: Gửi tín hiệu từ - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 1.17 Gửi tín hiệu từ (Trang 40)
Hình 2.2 Giao diện phần mềm Proteus - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.2 Giao diện phần mềm Proteus (Trang 43)
Hình 2.3 Sơ đồ nguyên lí - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.3 Sơ đồ nguyên lí (Trang 45)
Hình 2.4: Mạch PCB được thiết kế trên phần mềm Altium - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.4 Mạch PCB được thiết kế trên phần mềm Altium (Trang 47)
Hình 2.5: Sơ đồ thuật toán - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.5 Sơ đồ thuật toán (Trang 48)
Hình 2.7 Kit nạp chương trình cho STM32F103 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.7 Kit nạp chương trình cho STM32F103 (Trang 49)
Hình 2.6 Phần mềm Kei lC để viết chương trình cho STM32F103 - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.6 Phần mềm Kei lC để viết chương trình cho STM32F103 (Trang 49)
Hình 2.8: Hình ảnh mạch thực tế - Nghiên cứu đo nhiệt độ và độ ẩm hiển thị lên màn hình LCD sử dụng cảm biến DHT11 và STM32F103C
Hình 2.8 Hình ảnh mạch thực tế (Trang 50)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w