Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
7,75 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BÁO CÁO MÔN HỌC THIẾT KẾ HỆ THỐNG NHÚNG Giảng viên hướng dẫn: Th.S Lê Cơng Cường Khoa: Tự động hóa Trường: Điện – Điện tử Sinh viên thực hiện: MSSV Nguyễn Hữu Nghiệp Nguyễn Duy Khánh 20191908 Nguyễn Văn Hiếu 20191839 Bùi Ngọc Hưng 20191875 Ngành Kỹ thuật điều khiển tự động hóa Hà Nội, 3/2023 ĐỀ TÀI Lập trình STM32 giao tiếp với DHT11 đo giá trị điện trở để hiển thị thông số đo lên LCD1602 truyền thơng số lên máy tính theo chế độ: a) Theo chu kì cài đặt từ máy tính phím bấm b) Theo yêu cầu từ máy tính với thông số Giáo viên hướng dẫn Ký ghi rõ họ tên Lời cảm ơn Nhóm chúng em xin gửi lời cảm ơn chân thành đến thầy Lê Công Cường với giúp đỡ, hưỡng dẫn truyền cảm hứng thầy môn Thiết kế hệ thống nhúng Chúng em học nhiều kiến thức lí thuyết ứng dụng chúng thực tế Chúng em trân trọng thầy dành thời gian công sức để giải đáp thắc mắc cho sinh viên, giảng thầy cung cấp nhiều kiến thức hữu ích để chúng em hồn thành project Chúng em mong muốn học hỏi thêm nhiều từ thầy tương lai, cảm ơn thầy nhiều MỤC LỤC CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung .1 1.2 Thông tin thành viên nhóm .1 CHƯƠNG GHÉP NỐI PHẦN CỨNG 2.1 Nguyên lí làm việc module phần cứng .2 2.1.1 Module Blue Pill STM32F103C8T6 2.1.2 Module DHT11 2.1.3 Module Chuyển Đổi I2C Cho LCD1602 2.1.4 Module USB to TTL 2.1.5 Mạch nạp ST-LINK V2 .9 2.1.6 LCD1602 2.1.7 Chiết áp 11 2.2 Các ngoại vi sử dụng 12 2.3 Sơ đồ ghép nối STM32 module phần cứng .12 2.4 Lưu đồ thuật toán giao tiếp STM32 module phần cứng 13 CHƯƠNG THIẾT KẾ PHẦN MỀM 16 3.1 3.2 Mơ hình đơn nghiệm 16 3.1.1 Cấu hình thiết bị phần mềm STM32CubeIDE 18 3.1.2 Lập lịch cho mơ hình đơn nhiệm .21 Mơ hình đa nghiệm 23 3.2.1 Phân tích mơ hình 23 3.2.2 Cấu hình 25 3.2.3 Lập trình 26 CHƯƠNG KẾT QUẢ VÀ ĐÁNH GIÁ 27 4.1 Kết đạt .27 4.2 Phân tích đánh giá kết 29 4.3 Đánh giá thành viên 29 CHƯƠNG LINK THƯ MỤC LẬP TRÌNH .30 DANH MỤC HÌNH VẼ Hình Module STM32F103C8T6 Hình Xác nhận giao tiếp với DHT11 Hình Biểu diễn mức .6 Hình Biểu diễn mức .6 Hình Cấu hình I2C module master Hình Module USB to TTL Hình Giao tiếp UART hai thiết bị Hình Mạch nạp ST-Link Hình Sơ đồ mạch nạp STLink Hình 10 LCD1602 .10 Hình 11 Chiết áp 11 Hình 12 Chuyển đổi ADC 12 Hình 13 Sơ đồ ghép nối STM32 module phần cứng 13 Hình 14 Thuật toán giao tiếp với DHT11 13 Hình 15 Khởi tạo LCD1602 14 Hình 16 Thuật toán truyền liệu cho LCD .14 Hình 17 Các hàm task sử dụng 17 Hình 18 Cấu hình chế độ Debug .18 Hình 19 Cấu hình đồng hồ xung nhịp 18 Hình 20 Cấu hình timer2 19 Hình 21 Cấu hình GPIO 19 Hình 22 Cấu hình UART 20 Hình 23 Cấu hình I2C 20 Hình 24 Mức ưu tiên 21 Hình 25 Thuật tốn cho mơ hình đơn nhiệm .22 Hình 26 Mô hình hoạt đơng ngắt mơ hình đơn nghiệm 22 Hình 27 Vòng While 23 Hình 28 Lưu đồ thuật tốn mơ hình đa nghiệm 24 Hình 29 Hoạt động ngắt 25 Hình 30.Cấu hình task 25 Hình 31 Hiển thị nhiệt độ, độ ẩm chế độ .27 Hình 32 Hiển thị nhiệt độ chế độ 28 Hình 33 Hiển thị độ ẩm chế độ 28 Hình 34 Các liệu truyền lên máy tính chế độ 29 CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung Trong thời đại công nghệ số nay, hệ thống nhúng trở thành phần thiếu đời sống hàng ngày Hệ thống nhúng sử dụng nhiều lĩnh vực khác nhau, từ công nghiệp thiết bị gia dụng Để đáp ứng nhu cầu ngày tăng xã hội, nhà sản xuất ngày quan tâm đến việc phát triển ứng dụng hệ thống nhúng Trong đó, việc lập trình thiết kế hệ thống nhúng trở thành kỹ quan trọng sinh viên ngành tự động hóa Mơn học Thiết kế hệ thống nhúng môn học quan trọng ngành này, giúp cho sinh viên hiểu rõ cách thức hoạt động hệ thống nhúng có khả thiết kế lập trình hệ thống nhúng đơn giản Đề tài "Lập trình STM32 giao tiếp với DHT11 đo giá trị điện trở để hiển thị thông số đo lên LCD1602 truyền thơng số lên máy tính theo chế độ" nhóm chúng tơi chọn để thực khuôn khổ môn học Thiết kế hệ thống nhúng Đề tài giúp chúng tơi có hội áp dụng kiến thức học để thiết kế lập trình hệ thống nhúng đơn giản hiệu Phần báo cáo trình bày chi tiết trình thiết kế lập trình hệ thống nhúng này, kết đạt 1.2 Thông tin thành viên nhóm Sinh viên thực MSSV Nguyễn Hữu Nghiệp 2019 Nguyễn Duy Khánh 20191908 Nguyễn Văn Hiếu 20191839 Bùi Ngọc Hưng 20191875 CHƯƠNG GHÉP NỐI PHẦN CỨNG Trong phần này, chúng em trình bày chi tiết trình ghép nối phần cứng hệ thống nhúng Chúng em đưa thông tin thành phần phần cứng sử dụng, cách thức kết nối thành phần với nhau, vấn đề thử nghiệm mà chúng em gặp phải trình ghép nối phần cứng Việc thiết kế ghép nối phần cứng bước quan trọng để xây dựng hệ thống nhúng chất lượng cao 2.1 Nguyên lí làm việc module phần cứng 2.1.1 Module Blue Pill STM32F103C8T6 Module Blue Pill STM32F103C8T6 board phát triển vi điều khiển nhúng dựa vi điều khiển STM32F103C8T6 hãng STMicroelectronics Vi điều khiển có xung nhịp lên đến 72 MHz nhớ Flash 64KB Board thiết kế với nhiều chân GPIO module giao tiếp UART, SPI, I2C, ADC, PWM, RTC, CAN, USB Hình Module STM32F103C8T6 Nguyên tắc làm việc module Blue Pill STM32F103C8T6 điều khiển xử lý tín hiệu đầu vào từ module giao tiếp, chuyển đổi tín hiệu thành liệu số xử lý theo thuật toán lập trình vi điều khiển Sau đó, board điều khiển tín hiệu đầu tương ứng, ví dụ điều khiển hình LCD hiển thị kết đo đạc, gửi tín hiệu điều khiển đến thiết bị khác động cơ, đèn LED, đầu vào cảm biến, v.v Module Blue Pill STM32F103C8T6 lập trình cơng cụ phần mềm Keil C, IAR Embedded Workbench STM32CubeIDE Việc lập trình tải chương trình xuống board thực thông qua giao tiếp SWD UART Kit phát triển STM32F103C8T6 Blue Pill ARM Cortex-M3 loại sử dụng để nghiên cứu ARM nhiều có mức giá rẻ đồng thời nạp bootloader Blue Pill để giao tiếp lập trình cách dễ dàng, kit có chất lượng gia công tốt, độ bền cao Bảng Chi tiết chân module Loại Tên chân Chi tiết 3.3V: Điện áp đầu điều chỉnh từ điều chỉnh bo mạch Nguồn 3.3V, 5V, GND 5V: Có thể sử dụng chân 5V từ USB điều chỉnh để cấp nguồn cho ngoại vi GND: Chân nối đất Analog Pins Input/output pins PA0 – PA7 PB0 – PB1 Các chân đóng vai trị ADC với độ phân giải 12 bit PA0 – PA15 PB0 – PB15 37 chân GPIO PC13 – PC15 TX1, RX1 Serial TX2, RX2 UART với chân RTS CTS TX3, RX3 PA0 – PA15 Ngắt PB0 – PB15 PC13 – PC15 Tất chân kỹ thuật số có khả ngắt PA0 – PA3 PWM PA6 – PA10 PB0 – PB1 Tổng cộng 15 chân PWM PB6 – PB9 SPI LED MISO0, MOSI0, SCK0, CS0 MISO1, MOSI1, SCK1, CS0 PC13 SPI LED tích hợp với chân PC13 I2C CAN SCL1, SDA1 SCL2, SDA2 CAN0TX, CAN0RX Cổng giao tiếp Inter-Integrated Circuit Các cổng BUS 2.1.2 Module DHT11 Bảng Các chân DHT11 Chân Chức VCC Chân cấp nguồn GND Chân nối đất Data Đầu liệu số Nguyên lí hoạt động Vi điều khiển giao tiếp với DHT11 theo chuẩn wire với bước: • Gửi yêu cầu đo tới DHT11, sau đợi DHT11 phản hồi • Khi DHT11 sẵn sàng giao tiếp, gửi lại byte liệu chứa giá trị nhiệt độ độ ẩm Cảm biến DHT11 giao tiếp với vi điều khiển chuẩn 1-Wire, liệu gửi từ DHT11 có độ dài 40 bits bit liệu có trọng số cao trước Gói liệu bao gồm giá trị thập phân tích phân với giá trị checksum Cụ thể ta có 8bit integral RH data + 8bit decimal RH data + 8bit integral T data + 8bit decimal T data + 8bit check sum Khi trình giao tiếp MCU DHT11 bắt đầu, chương trình MCU thiết lập mức điện áp bus từ cao xuống thấp trình phải 18ms để đảm bảo DHT dị tín hiệu MCU, sau MCU kéo điện áp lên đợi 20-40us cho phản hồi DHT Hình Xác nhận giao tiếp với DHT11 Dưới chi tiết bước thực hiện: Bước 1, vi điều khiển gửi tín hiệu Start: cấu hình chân DATA chế độ OUTPUT, kéo chân DATA xuống mức logic khoảng thời gian tối thiểu 18 ms Vi điều khiển kéo chân DATA lên mức logic 1, sau cấu hình lại chế độ INPUT Sau khoảng thời gian 20→40 μs, DHT11 kéo chân DATA xuống mức logic Trong trường hợp 40 μs mà chân DATA chưa kéo xuống mức logic nghĩa giao tiếp với DHT11 thất bại Chân DATA giữ mức logic thời gian 80 μs sau kéo lên mức logic 80 μs Vi điểu khiển xác định việc giao tiếp thành công hay không với DHT11 qua chân DATA Bước 2, giá trị nhiệt độ độ ẩm đo DHT11 gửi vi điều khiển dạng byte: Byte 1: giá trị phần nguyên độ ẩm, Byte 2: giá trị phần thập phân độ ẩm, Byte 3: giá trị phần nguyên nhiệt độ, Byte 4: giá trị phần thập phân nhiệt độ, Byte 5: byte checksum (nếu byte tổng giá trị byte liệu thu xác) Sau xác nhận thành cơng u cầu giao tiếp với DHT11, gửi liên tiếp 40 bit vi điều khiển Với bit liệu gửi vi điều khiển, DHT11 kéo chân DATA xuống mức logic 50 μs, sau đó: Nó kéo chân DATA lên mức logic giữ 26→28 μs liệu truyền vi điều khiển bit ... động hệ thống nhúng có khả thiết kế lập trình hệ thống nhúng đơn giản Đề tài "Lập trình STM32 giao tiếp với DHT11 đo giá trị điện trở để hiển thị thông số đo lên LCD1602 truyền thông số lên máy...ĐỀ TÀI Lập trình STM32 giao tiếp với DHT11 đo giá trị điện trở để hiển thị thông số đo lên LCD1602 truyền thông số lên máy tính theo chế độ: a) Theo chu kì cài... để thực khuôn khổ môn học Thiết kế hệ thống nhúng Đề tài giúp chúng tơi có hội áp dụng kiến thức học để thiết kế lập trình hệ thống nhúng đơn giản hiệu Phần báo cáo trình bày chi tiết trình thiết