Tài liệu: Thiết kế mạch đo nhiệt độ và độ ẩm bằng dht11

Hướng dẫn thiết kế mạch đo nhiệt độ, độ ẩm DHT11 hiển thị LCD và cảnh báo LED khi nhiệt độ vượt ngưỡng. Chi tiết sơ đồ mạch, lập trình Arduino.

Chuyên ngành

Kĩ Thuật Vi Xử Lý

Người đăng

Ẩn danh

Thể loại

Báo cáo bài tập lớn

2021

55
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Thiết kế Mạch Đo Nhiệt độ

Mạch đo nhiệt độ là một trong những ứng dụng quan trọng trong lĩnh vực điện tử và tự động hóa. Thiết kế mạch đo nhiệt độ hiệu quả giúp giám sát, kiểm soát và duy trì các quy trình công nghiệp. Các mạch này sử dụng cảm biến nhiệt độ chuyên dụng để chuyển đổi tín hiệu nhiệt thành tín hiệu điện có thể đo được. Ứng dụng của thiết kế mạch đo nhiệt độ rộng rãi trong các lĩnh vực như y tế, công nghiệp, nghiên cứu khoa học và hệ thống điều hòa không khí.

1.1. Khái niệm cơ bản về Mạch Đo Nhiệt độ

Mạch đo nhiệt độ bao gồm các thành phần chính như cảm biến nhiệt độ, mạch khuếch đại, bộ chuyển đổi ADC và bộ xử lý dữ liệu. Cảm biến nhiệt độ phát hiện sự thay đổi nhiệt và chuyển đổi thành tín hiệu điện tương ứng. Những tín hiệu này sau đó được xử lý, khuếch đại và hiển thị dưới dạng số trên màn hình LCD hoặc gửi đến các thiết bị khác qua giao thức truyền thông.

II. Các loại Cảm biến Nhiệt độ trong Thiết kế Mạch

Lựa chọn cảm biến nhiệt độ phù hợp là yếu tố quyết định đến độ chính xác của mạch đo. Các loại cảm biến khác nhau có ưu điểm và nhược điểm riêng, phù hợp với các ứng dụng cụ thể. Hiểu rõ về đặc tính của từng loại cảm biến giúp các kỹ sư thiết kế mạch đo nhiệt độ hiệu quả và chính xác hơn. Việc chọn lựa đúng cảm biến ảnh hưởng trực tiếp đến chi phí và hiệu suất của toàn bộ hệ thống.

2.1. Cảm biến Điện trở Nhiệt RTD Resistance Temperature Detector

RTD sử dụng nguyên lý thay đổi điện trở theo nhiệt độ của kim loại như Platinum (Pt100, Pt1000). Loại cảm biến này có độ chính xác cao, phạm vi đo rộng từ -200°C đến 850°C và ổn định trong thời gian dài. RTD được ưa chuộng trong các ứng dụng công nghiệp yêu cầu độ chính xác cao như kiểm soát nhiệt độ lò nướng, xử lý hóa học và đo lường khoa học.

2.2. Cảm biến NTC và PTC Thermistor

Thermistor là điện trở thay đổi theo nhiệt độ, chia làm hai loại: NTC (hệ số nhiệt độ âm) và PTC (hệ số nhiệt độ dương). NTC Thermistor có độ nhạy cao, kích thước nhỏ gọn và giá rẻ, thích hợp cho các ứng dụng tiêu dùng. Phạm vi hoạt động thường từ -50°C đến 150°C. Chúng được sử dụng rộng rãi trong điều hòa không khí, tủ lạnh và các thiết bị gia dụng khác.

III. Cấu trúc và Nguyên lý Hoạt động Mạch Đo Nhiệt độ

Mạch đo nhiệt độ hoàn chỉnh bao gồm nhiều tầng xử lý tín hiệu liên tiếp nhau. Từ cảm biến nhận diện sự thay đổi nhiệt độ cho đến bộ xử lý cuối cùng hiển thị kết quả. Mỗi tầng đều có vai trò quan trọng trong việc đảm bảo độ chính xác và ổn định của hệ thống. Thiết kế mạch đo nhiệt độ cần tính toán kỹ lưỡng để loại bỏ nhiễu và đạt được hiệu suất tối ưu.

3.1. Tầng Conditioning Xử lý và Khuếch đại Tín hiệu

Tầng conditioning bao gồm mạch khuếch đại công suất thấp (Low Noise Amplifier) và mạch lọc tần số cao. Tín hiệu từ cảm biến thường rất nhỏ, cần được khuếch đại gấp nhiều lần để có thể xử lý tiếp theo. Các bộ lọc thông thấp giúp loại bỏ nhiễu điện từ không mong muốn. Điều này đảm bảo rằng tín hiệu nhận được bởi bộ ADC là sạch và đáng tin cậy.

3.2. Bộ Chuyển đổi ADC và Xử lý Dữ liệu

Bộ chuyển đổi ADC (Analog to Digital Converter) chuyển đổi tín hiệu analog liên tục thành dữ liệu số rời rạc. Độ phân giải của ADC xác định độ chính xác của phép đo cuối cùng. Các vi điều khiển như Arduino, STM32 hoặc PIC thực hiện xử lý dữ liệu, tính toán nhiệt độ thực tế dựa trên các công thức hiệu chỉnh và hiển thị kết quả.

IV. Ứng dụng Thực tiễn và Tiêu chuẩn Thiết kế

Thiết kế mạch đo nhiệt độ phải tuân theo các tiêu chuẩn quốc tế và yêu cầu cụ thể của ứng dụng. Các tiêu chuẩn như IEC, NIST cung cấp hướng dẫn cho độ chính xác, phạm vi đo và khả năng chịu đựng môi trường. Việc thử nghiệm và hiệu chuẩn mạch là bước quan trọng trước khi đưa vào sử dụng. Thiết kế mạch đo nhiệt độ tốt giúp tối ưu hóa chi phí sản xuất và nâng cao chất lượng sản phẩm cuối cùng.

4.1. Ứng dụng trong Công nghiệp và Y tế

Trong công nghiệp, mạch đo nhiệt độ được sử dụng để giám sát quá trình sản xuất, kiểm soát chất lượng sản phẩm và duy trì an toàn. Trong lĩnh vực y tế, các mạch này dùng trong máy đo thân nhiệt, thiết bị theo dõi bệnh nhân và các máy móc y tế chuyên dụng. Độ chính xác cao và độ tin cậy là những yêu cầu không thể thỏa hiệp trong các ứng dụng này.

4.2. Tiêu chuẩn Hiệu chuẩn và Bảo trì

Hiệu chuẩn định kỳ là cần thiết để đảm bảo mạch đo nhiệt độ hoạt động chính xác. Quá trình hiệu chuẩn so sánh kết quả đo với các thiết bị chuẩn được chứng nhận. Bảo trì thường xuyên, kiểm tra các linh kiện và thay thế cảm biến khi cần thiết giúp kéo dài tuổi thọ mạch và duy trì độ chính xác.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

18/12/2025
Thiết kế mạch đo nhiệt độ và độ ẩm bằng dht11 hiển thị kết quả trên lcd và cảnh báo led khi nhiệt độ vượt ngưỡng nhất định

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

CHƯƠNG 1.1 Tổng quan về cấu trúc ARM và vi xử lí lõi ARM Cortex-M3.1 Tổng quan về cấu trúc ARM.2 Tổng quan về vi xử lí lõi ARM Cortex-M3.2 Tổng quan về vi điều khiển STM32 và STM32F103C8T6.1 Vi điều khiển STM32.2 Vi điều khiển STM32F103C8T6.3 Lập trình cho STM32.4 Tổng quan về cảm biến nhiệt độ, độ ẩm DHT11. PHÂN TÍCH THIẾT KẾ HỆ THỐNG.1 Mô tả hoạt động của hệ thống.2 Yêu cầu hệ thống.1 Yêu cầu chung.2 Yêu cầu đối với module cảm biến DHT11.3 Yêu cầu với LCD 1602. MÔ PHỎNG VÀ XÂY DỰNG HỆ THỐNG THỰC NGHIỆM.1 Sơ đồ khối của hệ thống.2 Những linh kiện sử dụng.4 Sơ đồ thiết kế mạch.5 Viết chương trình code cho vi điều khiển STM32F103C8T6.48 TÀI LIỆU THAM KHẢO.50 Bảng phân công chi tiết công việc.1 Tổng quan về cấu trúc ARM và vi xử lí lõi ARM Cortex-M3 1.1 Tổng quan về cấu trúc ARM ARM (từ viết tắt của Advanced RISC Machine) là một họ kiến trúc dạng RISC cho các vi xử lý máy tính, được cấu hình cho các môi trường khác nhau. Arm Holdings phát triển kiến trúc và cấp phép nó cho các công ty khác, nơi mà sẽ thiết kế các sản phẩm của riêng họ để thực hiện một trong những kiến trúc đó bao gồm các SoC và các module hệ thống (SoM) kết hợp với các thành phần khác nhau như bộ nhớ, giao diện, radio.

Họ cũng thiết kế các lõi thực hiện tập lệnh này và cấp phép cho các thiết kế này cho các công ty đối tác để thiết kế sản phẩm của riêng họ dựa trên các lõi này. Các bộ xử lý có kiến trúc RISC thường yêu cầu ít bóng bán dẫn hơn các bộ xử lý có kiến trúc điện toán tập lệnh phức tạp (CISC) (như bộ xử lý x86 có trong hầu hết các máy tính cá nhân), giúp cải thiện chi phí, tiêu thụ điện năng và tản nhiệt. Những đặc điểm này là mong muốn đối với các thiết bị nhẹ, di động, chạy bằng pin bao gồm cả điện thoại thông minh, máy tính xách tay và máy tính bảng và các hệ thống nhúng khác. Đối với các siêu máy tính tiêu thụ một lượng điện lớn, ARM cũng có thể là một giải pháp tiết kiệm năng lượng.

ARM Holdings định kỳ phát hành bản cập nhật cho kiến trúc. Các phiên bản kiến trúc ARMv3 đến ARMv7 hỗ trợ không gian địa chỉ 32 bit (chip tiền ARMv3, được tạo trước khi ARM Holdings được hình thành, như được sử dụng trong Acorn Archimedes, có không gian địa chỉ 26 bit) và số học 32 bit; hầu hết các kiến trúc đều có các hướng dẫn có độ dài cố định 32 bit. Phiên bản Thumb hỗ trợ một tập lệnh có độ dài thay đổi, cung cấp cả hai lệnh 32 và 16 bit để cải thiện mật độ mã. Một số lõi cũ hơn cũng có thể cung cấp thực thi phần cứng cho mã byte Java.

Được phát hành vào năm 2011, kiến trúc ARMv8-A đã thêm hỗ trợ cho không gian địa chỉ 64 bit và số học 64 bit với tập lệnh có độ dài cố định 32 bit mới.2 Tổng quan về vi xử lí lõi ARM Cortex-M3 Vi xử lý lõi ARM Cortex dựa trên 3 cấu hình của kiến trúc ARMv7: 1 − Cấu hình A: cho các ứng dụng Application, yêu cầu cao chạy trên các hệ điều hành mở và phức tạp như Linux, Android… − Cấu hình R: cho các ứng dụng thời gian thực Real Time − Cấu hình M: cho các ứng dụng vi điều khiển Microcontroller Bộ vi xử lý ARM Cortex-M3 dựa trên kiến trúc ARMv7-M có cấu trúc thứ bậc. Nó tích hợp lõi xử lý trung tâm, với các thiết bị ngoại vi hệ thống tiên tiến để tạo ra các khả năng như kiểm soát ngắt, bảo vệ bộ nhớ, gỡ lỗi và theo vết hệ thống. ARM Cortex M3 dựa trên cấu trúc Havard, được đặc trưng bằng sự tách biệt giữa vùng nhớ dữ liệu và chương trình. Vì có thể đọc cùng lúc lệnh và dữ liệu từ bộ nhớ, bộ vi xử lý ARM Cortex-M3 có thể thực hiện nhiều hoạt động song song, tăng tốc thực thi ứng dụng.1: Cấu Trúc Vi Xử Lý ARM Cortex M3 Lõi ARM Cortex có cấu trúc đường ống gồm 3 tầng: Instruction Fetch, Instruction Decode và Instruction Execute.

Khi gặp một lệnh nhánh, tầng decode chứa một chỉ thị nạp lệnh suy đoán có thể dẫn đến việc thực thi nhanh hơn. Bộ xử lý nạp lệnh dự định rẽ nhánh trong giai đoạn giải mã. Sau đó, trong giai đoạn thực thi, việc rẽ nhánh được giải quyết và bộ vi xử lý sẽ phân tích xem đâu là lệnh thực thi kế tiếp. Nếu việc rẽ nhánh không được chọn thì lệnh tiếp theo đã sẵn sàng.

Còn nếu việc rẽ nhánh được chọn thì lệnh rẽ nhánh đó cũng đã sẵn sàng ngay lập tức, hạn chế thời gian rỗi chỉ còn một chu kỳ.2: The Cortex–M3 processor Bộ vi xử lý Cortex-M3 là một bộ vi xử lý 32-bit, với độ rộng của đường dẫn dữ liệu 32 bit, các dải thanh ghi và giao tiếp bộ nhớ. Có 13 thanh ghi đa dụng, hai con trỏ ngăn xếp, một thanh ghi liên kết, một bộ đếm chương trình và một số thanh ghi đặc biệt trong đó có một thanh ghi trạng thái chương trình.2 Tổng quan về vi điều khiển STM32 và STM32F103C8T6 1.1 Vi điều khiển STM32 ST đã đưa ra thị trường 4 dòng vi điều khiển dựa trên ARM7 và ARM9, nhưng STM32 là một bước tiến quan trọng trên đường cong chi phí và hiệu suất (price/performance), giá chỉ gần 1 Euro với số lượng lớn, STM32 là sự thách thức thật sự với các vi điều khiển 8 và 16-bit truyền thống. STM32 đầu tiên gồm 14 biến thể khác nhau, được phân thành hai dòng: dòng Performance có tần số hoạt động của CPU lên tới 72Mhz và dòng Access có tần số hoạt động lên tới 36Mhz. Các biến thể STM32 3 trong hai nhóm này tương thích hoàn toàn về cách bố trí chân (pin) và phần mềm, đồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 512K và 64K SRAM.3: Kiến trúc của STM32 nhánh Performance và Access Nhánh Performance hoạt động với xung nhịp lên đến 72Mhz và có đầy đủ các ngoại vi, nhánh Access hoạt động với xung nhịp tối đa 36Mhz và có ít ngoại vi hơn so với nhánh Performance.2 Vi điều khiển STM32F103C8T6 1.1 Cấu trúc kit vi điều khiển STM32F103C8T6 Hình 1.4: Kit phát triển STM32F103C8T6 Cấu trúc của kit STM32F103C8T6 bao gồm: − 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. 4 − 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.2 Cấu hình chi tiết của STM32F103C8T6 ARM 32-bit Cortex M3 với clock max là 72Mhz. Bộ nhớ 64 kbytes bộ nhớ Flash(bộ nhớ lập trình) và 20kbytes SRAM.

Clock, reset và quản lý nguồn: − Điện áp hoạt động 2. − Power on reset(POR), Power down reset(PDR) và programmable voltage detector (PVD). − Sử dụng thạch anh ngoài từ 4Mhz -> 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. Trong trường hợp điện áp thấp: − Có các mode :ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ. − Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữ data khi mất nguồn cấp chính. 2 bộ ADC 12 bit với 9 kênh cho mỗi bộ: − Khoảng giá trị chuyển đổi từ 0 – 3.

− Lấy mẫu nhiều kênh hoặc 1 kênh. − Có cảm biến nhiệt độ nội. DMA bộ chuyển đổi này giúp tăng tốc độ xử lý do không có sự can thiệp quá sâu của CPU: − 7 kênh DMA. − Hỗ trợ DMA cho ADC, I2C, SPI, UART.

7 timer: − 3 timer 16 bit hỗ trợ các mode IC/OC/PWM. 5 − 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). − 1 bộ CAN interface (2.0 full-speed interface. Kiểm tra lỗi CRC và 96-bit ID.3 Thông số kỹ thuật Hình 1.5: Sơ đồ chân kit STM32F103C8T6 Các thông số kĩ thuật của kit STM32F103C8T6: − Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyển đổi thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiển chính. − Tích hợp sẵn thạch anh 8Mhz.

− Tích hợp sẵn thạnh anh 32Khz cho các ứng dụng RTC. 6 − Ra chân đầy đủ tất cả các GPIO và giao tiếp: CAN, I2C, SPI, UART, USB,… − Tích hợp Led trạng thái nguồn, Led PC13, Nút Reset. − Kích thước: 53. − Sử dụng với các mạch nạp: ST-Link Mini, J-link hoặc USB TO COM.

− Kết nối chân khi nạp bằng ST-Link Mini: TCK - SWCLK, TMS - SWDIO, GND - GND, 3.3 Lập trình cho STM32 STMicroelectronics đã giới thiệu một công cụ có tên STM32CubeMX ,tạo code cơ bản theo các thiết bị ngoại vi và board STM32 được chọn. Vì vậy, chúng ta không cần phải lo lắng về việc code hóa cho các trình điều khiển và thiết bị ngoại vi cơ bản. Hơn nữa code được tạo này có thể được sử dụng trong Keil uVision để chỉnh sửa theo yêu cầu. Và cuối cùng, code được ghi vào STM32 bằng lập trình ST-Link từ STMicroelectronics.

Công cụ STM32CubeMX là một phần của STMicroelectronics STMCube. Công cụ phần mềm này giúp cho việc phát triển dễ dàng bằng cách giảm giai đoạn phát triển, thời gian và chi phí. STM32Cube bao gồm STM32CubeMX là một công cụ cấu hình phần mềm đồ họa cho phép tạo code C bằng cách sử dụng trình hướng dẫn đồ họa. Code đó có thể được sử dụng trong các môi trường phát triển khác nhau như keil uVision, GCC, IAR, v.

Bạn có thể tải xuống công cụ này từ liên kết sau. STM32CubeMX có các tính năng sau: − Chân gỡ lỗi. − Trợ giúp thiết lập xung. − Một nguồn − Một tiện ích thực hiện cấu hình ngoại vi MCU như chân GPIO, USART, v.

− Một tiện ích thực hiện cấu hình ngoại vi MCU cho các ngăn xếp phần mềm trung gian như USB, TCP / IP, v. Keil C là phần mềm hỗ trợ người dung trong việc lập trình các dòng vi điều khiển khác nhau. Keil C giúp người dung soạn thảo và biên dịch chương trình C hay Assembly thành ngôn ngữ máy để nạp vào vi điều khiển giúp tương tác giữa vi điều khiển và người lập trình.

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