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

Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh

118 57 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

Định dạng
Số trang 118
Dung lượng 3,72 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ế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh

Trang 1

TRANG BÌA i

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii

LỜI CAM ĐOAN v

LỜI CẢM ƠN vi

MỤC LỤC vii

DANH MỤC HÌNH ẢNH xi

DANH MỤC BẢNG xiii

DANH MỤC VIẾT TẮT xiv

TÓM TẮT xv

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 2

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 3

1.5 BỐ CỤC 3

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN ARM 4

2.1.1 Lịch sử hình thành và phát triển của ARM 4

2.1.2 Cấu trúc cơ bản của ARM 5

2.1.3 Các dòng và các phiên bản của ARM 7

2.1.4 Các hãng sản xuất dòng chip ARM 8

2.2 GIỚI THIỆU VỀ PHẦN CỨNG 8

2.2.1 Cảm biến nhiệt LM35 9

2.2.2 Cảm biến khoảng cách HC-SR04 10

2.2.3 Cảm biến nồng độ cồn MQ-3 12

2.2.4 Cảm biến nhịp tim và SpO2 MAX30100 14

2.2.5 Cảm biến nhịp tim Pulse Sensor 15

2.2.6 Cảm biến nhiệt độ DS18B20 16

2.2.7 IC dịch 74HC595 18

2.2.8 IC thời gian thực DS3231 20

Trang 2

2.2.10 Màn hình TFT LCD 22

2.2.11 Chuẩn giao tiếp I2C 23

2.2.12 Chuẩn giao tiếp SPI 24

2.2.13 Bộ xử lý trung tâm STM32F4VET6 25

2.3 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH CHO VI ĐIỀU KHIỂN 33

2.4 PHẦN MỀM HỆ ĐIỀU HÀNH THỜI GIAN THỰC RTOS 34

Chương 3 TÍNH TOÁN, THIẾT KẾ VÀ THI CÔNG 35

3.1 GIỚI THIỆU 35

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 35

3.2.1 Thiết kế sơ đồ khối hệ thống 35

3.2.2 Chức năng từng khối 35

3.3 THI CÔNG HỆ THỐNG 42

3.3.1 Thi công board mạch 42

3.3.2 Lắp ráp thi công mô hình 45

Chương 4 THIẾT KẾ CÁC BÀI THỰC HÀNH 47

4.1 PHẦN MỀM LẬP TRÌNH STM32CUBEIDE 47

4.1.1 Giới thiệu 47

4.1.2 Hướng dẫn sử dụng phần mềm 47

4.1.3 Cấu trúc chương trình main.c 52

4.2 HÌNH XUNG CLOCK CHO VI ĐIỀU KHIỂN 59

4.3 ĐIỀU KHIỂN LED ĐƠN 62

4.3.1 Sơ đồ phần cứng 62

4.3.2 Cấu hình chân cho vi điều khiển 62

4.3.3 Các hàm sử dụng 63

4.3.4 Bài tập mẫu 64

4.3.5 Các bài tập ứng dụng 68

4.4 GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED ĐƠN 68

4.4.1 Sơ đồ phần cứng 68

4.4.2 Cấu hình chân cho vi điều khiển 69

4.4.3 Bài tập mẫu 71

4.4.4 Các bài tập ứng dụng 77

4.5 GIAO TIẾP MA TRẬN PHÍM VÀ LED ĐƠN 78

Trang 3

4.5.2 Cấu hình chân cho vi điều khiển 78

4.5.3 Các hàm sử dụng 79

4.5.4 Bài tập mẫu 81

4.5.5 Các bài tập ứng dụng 83

4.6 MODULE LED 7 ĐOẠN 83

4.6.1 Sơ đồ phần cứng 83

4.6.2 Các hàm sử dụng 85

4.6.3 Bài tập mẫu 87

4.7 ĐIỀU KHIỂN MODULE LCD TFT 90

4.7.1 Sơ đồ phần cứng 90

4.7.2 Các hàm sử dụng 90

4.7.3 Bài tập mẫu 94

4.7.4 Các bài tập ứng dụng 97

4.8 GIAO TIẾP LM35 VÀ TFT LCD 97

4.8.1 Sơ đồ phần cứng 97

4.8.2 Bài tập mẫu 97

4.8.3 Các bài tập ứng dụng 100

4.9 CẢM BIẾN KHOẢNG CÁCH HCR-04 101

4.9.1 Sơ đồ phần cứng 101

4.9.2 Bài tập mẫu 101

4.10 CẢM BIẾN NHỊP TIM PULSE SENSOR 103

4.10.1 Sơ đồ phần cứng 103

4.10.2 Bài tập mẫu 104

Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 106

5.1 KẾT QUẢ 106

5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 107

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 108

6.1 KẾT LUẬN 108

6.2 HƯỚNG PHÁT TRIỂN 108

TÀI LIỆU THAM KHẢO 109

Trang 5

DANH MỤC HÌNH ẢNH

Hình 2.1: Chip vi điều khiển ARM 5

Hình 2.2: Cấu trúc lõi ARM Cortex M0 7

Hình 2.3: Các hãng sản xuất bộ vi xử lý dựa trên thiết kế của ARM 8

Hình 2.4: Cảm biến nhiệt độ LM35 9

Hình 2.5: Cảm biến siêu âm HCSR04 11

Hình 2.6: Biểu đồ các giai đoạn từ kích hoạt chân Trig đến thu sóng phản xạ 12

Hình 2.7: Cảm biến nồng độ cồn MQ-3 13

Hình 2.8: Cảm biến nhịp tim và nồng độ oxy bão hòa trong máu MAX30100 14

Hình 2.9: Cảm biến nhiệt độ DS18B20 17

Hình 2.10: Vỏ bên ngoài của IC 74HC595 18

Hình 2.11: Sơ đồ chân IC 74HC595 19

Hình 2.12: Cấu trúc các thanh ghi bên trong IC dịch 74HC595 19

Hình 2.13: Sơ đồ chân IC DS3231 20

Hình 2.14: Động cơ DC 5V 22

Hình 2.15: Màn hình TFT LCD 22

Hình 2.16: Chuẩn giao tiếp I2C 24

Hình 2.17: Chuẩn giao tiếp SPI 25

Hình 2.18: Sơ đồ cấu trúc các khối của STM32F407 27

Hình 2.19: Giao diện phần mềm 33

Hình 3.1: Sơ đồ khối hệ thống 35

Hình 3.2: Sơ đồ nguyên lý mạch nguồn 36

Hình 3.3: Sơ đồ nguyên lý khối LED đơn 37

Hình 3.4: Sơ đồ nguyên lý khối ma trận phím 38

Hình 3.5: Sơ đồ nguyên lý khối nhiệt độ LM35 38

Hình 3.6: Sơ đồ nguyên lý khối cảm biến nhịp tim 39

Hình 3.7: Sơ đồ nguyên lý khối cảm biến siêu âm 40

Hình 3.8: Sơ đồ nguyên lý khối cảm biến nhịp tim và SpO2 40

Hình 3.9: Sơ đồ nguyên lý khối nồng độ cồn 41

Hình 3.10: Sơ đồ nguyên lý khối LCD TFT 42

Hình 3.11: Sơ đồ bố trí linh kiện của KIT 43

Hình 3.12: Sơ đồ mạch in PCB mặt trên 43

Hình 3.13: Sơ đồ mạch in PCB mặt dưới 44

Hình 3.14: Mạch sau khi thi công 45

Hình 4.1: Biểu tượng phần mềm STM32CubeIDE 47

Hình 4.2: Giao diện khi khởi động phần mềm 48

Hình 4.3: Chọn họ vi điều khiển 48

Hình 4.4: Gõ tên của Project 49

Hình 4.5: Giao diện file.ioc cấu hình chân cho vi điều khiển 50

Hình 4.6: Cửa sổ Question sinh code 50

Hình 4.7: Cửa sổ soạn thảo chương trình của STM32CubeIDE 51

Hình 4.8: Cửa sổ hiển thị khi biên dịch xong 51

Hình 4.9: Cửa sổ cấu hình Debugger 52

Hình 4.10: Cửa sổ hiển thị nạp code thành công 52

Hình 4.11: Cấu hình chân dao động thạch anh ngoài cho vi điều khiển 59

Hình 4.12: Cấu hình Clock cho vi điều khiển 60

Trang 6

Hình 4.15: Cấu hình port cho 8 led đơn trong CubeMX 63

Hình 4.16: Phần code được sinh ra từ CubeMX 63

Hình 4.17: Lưu đồ điều khiển 8 led chớp tắt 65

Hình 4.18: Lưu đồ điều khiển 8 led sáng tắt dần 67

Hình 4.19: Sơ đồ nguyên lý giao tiếp vi điều khiển với 4 nút nhấn đơn 68

Hình 4.20: Cấu hình port cho 4 nút nhấn đơn 69

Hình 4.21: Code cấu hình cho 4 nút nhấn đơn 70

Hình 4.22: Lưu đồ điều khiển 8 led bằng nút nhấn ON và OFF 72

Hình 4.23: Lưu đồ điều khiển 8 led sáng tắt bằng nút ON OFF và INV 73

Hình 4.24: Lưu đồ điều khiển 8 led sáng tắt bằng nút ON OFF và INV – chống dội 75

Hình 4.25: Sơ đồ nguyên lý giao tiếp vi điều khiển với ma trận phím 4x4 78

Hình 4.26: Cấu hình port cho ma trận phím 78

Hình 4.27: Code cấu hình cho ma trận phím 79

Hình 4.28: Sơ đồ nguyên lý giao tiếp vi điều khiển với module led 7 đoạn 84

Hình 4.29: Lưu đồ điều khiển 8 led sáng từ 0 đến 7 trên module 8 led 7 đoạn 89

Hình 4.30: Sơ đồ nguyên lý giao tiếp giữa TFT LCD và vi điều khiển 90

Hình 4.31: Sơ đồ nguyên lý giao tiếp giữa vi điều khiển và cảm biến LM35 97

Hình 4.32: Lưu đồ chuyển đổi ADC 1 để đọc nhiệt độ từ cảm biến LM35 99

Hình 4.33: Sơ đồ nguyên lý cảm biến siêu âm 101

Hình 4.34: Sơ đồ nguyên lý cảm biến nhịp tim 103

Trang 7

Bảng 2.2: Địa chỉ giới hạn của các ngoại vi 28

Bảng 2.3: Tập lệnh thao tác với thanh ghi 30

Bảng 3.1: Danh sách các linh kiện 44

Bảng 4.1: Bảng dữ liệu điều khiển quét lần lượt các transistor 85

Trang 8

SPI Serial Peripheral Interface

MOSI Master Out Slave In

MISO Master In Slave Out

I2C Inter-Integrated Circuit

Trang 9

Ứng dụng của cảm biến y sinh vào ngành chăm sóc sức khỏe và đời sống hàng ngày là một điều thiết yếu Đồng thời, để giúp các sinh viên theo ngành Kỹ Thuật Y Sinh có cách tiếp cận một cách trực quan hơn đối với các loại cảm biến, nhóm chúng

em quyết định thực hiện đề tài “Thiết kế và thi công kit lập trình vi điều khiển arm kết hợp cảm biến y sinh” Hoạt động dựa trên các kết nối vào ra giữa vi điều khiển và các cảm biến với ngôn ngữ lập trình C nhằm thu thập các dữ liệu từ cảm biến thông qua vi điều khiển gửi dữ liệu đến các thiết bị đầu ra Mục tiêu của đề tài là thi công một mô hình kit thực hành có đầy đủ các cảm biến, vi điều khiển, các module hiển thị, động cơ trên một board mạch PCB Thông qua kit thực hành này người sử dụng có thể tạo các bài thực hành, chạy thử nghiệm trên kit và ứng dụng vào các sản phẩm hoàn chỉnh khác Kết quả của đồ án, nhóm đã thi công hoàn chỉnh mô hình kit sản phẩm gồm 10 module giao tiếp với vi điều khiển STM32F4VET6 và hệ thống các bài thực hành dành cho người mới bắt đầu làm quen với kit

Trang 10

Trên thị trường có rất nhiều loại kit lập trình, trong đó phổ biến nhất là các kit Arduino Arduino một nền tảng mã nguồn mở phần cứng và phần mềm Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau Với cộng đồng lớn, người lập trình có thể tiếp cận dễ dàng, giải đáp các thắc mắc, thư viện rộng mở từ đó phát triển đề tài của các nhân cũng như nâng cao kỹ năng lập trình [2]

Những công nghệ trước kia sử dụng trong công nghiệp dần dần được ứng dụng trong y tế, và trong tương lai, những chiếc cảm biến và hệ thống cảm biến dựa trên hệ thống cơ điện vi mô được thiết kế và chứng nhận, những công nghệ khác sẽ thích nghi với những ứng dụng trong y học Sự giao thoa giữa công nghệ thông tin và công nghệ sinh học trong ngành y ngày càng mở rộng và vai trò của cản biến ngày càng tăng, bộ nhận tín hiệu, bộ tác động, máy mini sẽ ngày càng phổ biến Một vài thế hệ cảm biến mới trong y học chỉ ra vai trò mới mà những thiết bị này sẽ có mặt trong mọi vấn đề của chăm sóc sức khỏe [3]

Nhận thấy tầm quan trọng trên nên việc khảo sát, tìm hiểu vi điều khiển ở nhiều cấp độ khác nhau từ đơn giản đến phức tạp là hết sức cần thiết Vì thế đã có rất nhiều đề tài, đồ án tốt nghiệp, bộ thí nghiệm liên quan đến vi điều khiển để phục vụ việc học tập, thực hành, nghiên cứu đối với sinh viên ví dụ như: Nguyễn Tâm Phúc, năm 2016, đề tài

Trang 11

“Thiết kế kit thực hành vi điều khiển ARM – Cortex M0”, kit thực hành sử dụng chíp NUC140 của Nuvoton có đầy đủ các tính năng và giao tiếp ngoại vi phong phú, dễ dàng

sử dụng và phát triển các ứng dụng [4] Đề tài “Thiết kế thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo” của Phạm Quang Minh, Hồ Văn Trọng, năm 2018, đã xây dựng lên được bộ thí nghiệm vi xử lý hoàn chỉnh với những chức năng cơ bản như: bàn phím, led đơn, led 7 đoạn, LCD hoặc những ứng dụng cao hơn: giao tiếp máy tính, điều khiển động cơ [5] Và những đề tài khác liên quan đến lập trình vi điều khiển như

“Thiết kế bộ thí nghiệm PIC 18F2455/2550/5555/4550” [6], “Ứng dụng kit Raspberry nhận dạng mặt người” [7] Những kit thí nghiệm trên đã giúp ích rất nhiều đối với sinh viên nghiên cứu, giúp sinh viên có trải nghiệp thực tế hơn về lập trình vi điều khiển Qua tóm tắt trên, chúng em quyết định làm đề tài “Thiết kế và thi công Kit lập trình vi điều khiển ARM kết hợp cảm biến y sinh” Kit sẽ được sử dụng vi điều khiển trung tâm là ARM STM32F4, cùng các khối chức năng và các cảm biến khác nhau để

hỗ trợ cho người lập trình nói chung và sinh viên nói riêng có công cụ để áp dụng những kiến thức đã được học và tìm hiểu

1.2 MỤC TIÊU

Thiết kế và thi công Kit lập trình vi điều khiển ARM kết hợp cảm biến y sinh là kit sử dụng vi điều khiển trung tâm là ARM STM32F4 cùng với khối chức năng: khối led đơn, khối led 7 đoạn quét, khối LCD, khối ma trận phím, khối nút nhấn, khối thời gian thực, khối điều khiển tốc độ động cơ, cảm biến SPO2, cảm biến nhịp tim, cảm biến

áp lực

1.3 NỘI DUNG NGHIÊN CỨU

Nhóm em tập trung giải quyết và hoàn thành các nội dung như sau:

- Nội dung 1: Tìm hiểu về ngôn ngữ lập trình C, phần mềm lập trình

STM32CubeIDE

- Nội dung 2: Tìm hiểu về vi điều khiển, cảm biến y sinh

- Nội dung 3: Thiết lập sơ đồ nguyên lý giữa các cảm biến và vi điều khiển

- Nội dung 4: Xây dựng lưu đồ và viết code cho từng khối

- Nội dung 5: Thi công kit lập trình

- Nội dung 6: Thiết kế và xây dựng các bài thực hành

- Nội dung 7: Chạy thử nghiệm, kiểm tra và tinh chỉnh

- Nội dung 8: Viết báo cáo

Trang 12

- Nội dung 9: Bảo vệ luận văn

1.4 GIỚI HẠN

− Sử dụng ARM STM32F4 làm vi điều khiển chính, sử dụng các họ IC giao tiếp, hiển thị, giải mã, mở rộng port để thiết kế các module ngoại vi kết nối với mạch điều khiển

− Số module dự kiến điều khiển: 10 module

1.5 BỐ CỤC

− Chương 1: Tổng quan

Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung nghiên cứu, các giới hạn thông số và bố cục đồ án

− Chương 2: Cơ sở lý thuyết

Giới thiệu các cơ sở lý thuyết gồm lý thuyết về xử lý ảnh, các linh kiện và thiết bị

sử dụng để thiết kế hệ thống và trình bày các chuẩn truyền, giao thức

− Chương 3: Tính toán, thiết kế và thi công

Thiết kế sơ đồ khối của hệ thống, đưa ra sơ đồ nguyên lí của các khối trong hệ thống và thực hiện việc tính toán thiết kế Trình bày quá trình thi công mạch điện, mô hình hệ thống hoàn chỉnh

− Chương 4: Thiết kế các thực hành

Chương này trình bày về cách sử dụng phần mềm, cách cấu hình các chân vi điều khiển, thiết kế lưu đồ, đưa ra giải thuật và viết chương trình cho các bài tập mẫu và đưa

ra các bài tập thực hành

− Chương 5: Kết quả, nhận xét và đánh giá

Trình bày kết quả nhận được, viết hướng dẫn sử dụng và nêu ra nhận xét, đánh giá

− Chương 6: Kết luận và hướng phát triển

Trình bày kết luận và nêu ra hướng phát triển đề tài.

Trang 13

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 TỔNG QUAN VỀ VI ĐIỀU KHIỂN ARM

ARM là một loại vi điều khiển 32 bit và 64 bit kiểu RISC, ARM lúc đầu được đặt tên theo công ty Acorn (ban đầu ARM có nghĩa là Acorn RISC Machine, trong đó RISC là một cách thiết kế vi xử lý) sau này do có thêm nhiều công ty cùng phát triển và một

số lý do khác, người ta thống nhất gọi ARM là Advance RISC Machine ARM được sử dụng rộng rãi trong các thiết kế nhúng [8]

Ngày nay, hơn 75% CPU 32 bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32 bít được sản xuất nhiều nhất thế giới Bộ xử lý CPU của ARM hiện diện trong 95% smartphone, 90% ổ đĩa cứng, 40% truyền hình kĩ thuật số và set top box, 15% trong vi điều khiển, 20% trong máy tính di động và có mặt trên rất nhiều lĩnh vực,

từ TV cho đến các hệ thống tự động hóa và máy móc công nghiệp [9]

2.1.1 Lịch sử hình thành và phát triển của ARM

Kiến trúc ARM được phát triển lần đầu tiên vào thập niên 1980 để dùng cho máy tính để bàn, đến hiện nay nó là kiến trúc được sử dụng phổ biến nhất thế giới, vượt qua

cả kiến trúc x86 của Intel, tính theo số lượng chíp được sản xuất Do có đặc điểm tiết kiệm năng lượng nên 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 xuất thấp là một mục tiêu thiết kế quan trọng hàng đầu

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, ngày 26/4/1985 mẫu sản phẩm ARM đầu tiên sản xuất tại công ty kĩ thuật VLSI, SanJose, bang Califonia được chuyển tới trung tâm máy tính Acorn ở Cambridge, Anh Quốc

Nửa thập niên sau đó, ARM được phát triển rất nhanh chóng để làm nhân máy tính

để bàn của Acorn, nền tảng cho các máy tính hỗ trợ giáo dục ở Anh Trong thập niên

1990, dưới sự phát triển của Acorn Limited, ARM đã thành một thương hiệu đứng đầu thế giới về các ứng dụng sản phẩm nhúng đòi hỏi tính năng cao, sử dụng năng lượng ít và giá thành thấp Hình 2.1 mô tả hình dáng bên ngoài của vi điều khiển ARM

Chính nhờ sự nổi trội về thị phần đã thúc đẩy ARM liên tục được phát triển và cho

ra nhiều phiên bản mới Những thành công quan trọng trong việc phát triển ARM ở thập niên sau này:

Trang 14

– Giới thiệu ý tưởng về định dạng các chỉ lệnh được nén lại (thumb) cho phép tiết kiệm năng lượng và giá thành ở những hệ thống nhỏ

– Giới thiệu họ điều khiển ARM9, ARM10 và “Strong ARM”

– Phát triển môi trường làm việc ảo của ARM trên PC

– Các ứng dụng cho hệ thống nhúng dựa trên nhân xử lý ARM ngày càng trở nên rộng rãi

Hình 2.1: Chip vi điều khiển ARM

2.1.2 Cấu trúc cơ bản của ARM

Cấu trúc ARM bao gồm các đặc tính của RISC nổi bật như: Cấu trúc nạp/lưu trữ, không cho phép truy xuất bộ nhớ không thẳng hàng, tập lệnh trực giao, file thanh ghi lớn gồm 16x32-bit, chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện pipeline, để đạt được điều này phải chấp nhận giảm mật độ mã máy [3]

❖ Cấu trúc ARM có một số tính chất như sau:

− Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm giảm việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc không có một bộ dự đoán rẽ nhánh

− Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ cần sửa mã điều kiện

− Có một thanh ghi dịch 32-bit, có thể sử dụng với chức năng tính toán với hầu hết các lệnh số học và việc tính toán địa chỉ

− Có các kiểu định địa chỉ theo chỉ số rất mạnh

− Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất nhanh, kèm theo cho phép chuyển từng nhóm thanh ghi

Trang 15

− Kích thước miếng bán dẫn nhỏ hơn, bộ xử lý đơn giản đòi hỏi ít transistor hơn,

do đó kích thước cần dùng nhỏ lại dành vùng diện tích trống để tăng các chức năng như bộ nhớ cache, chức năng quản lý bộ nhớ,…

− Thời gian phát triển một sản phẩm ngắn hơn (do kĩ thuật đơn giản)

− Cấu hình mạnh hơn: Khi ta đặt ra các chỉ lệnh phức tạp tuy nó gần gũi với ngôn ngữ cấp cao, nhưng như thế vô tình cũng làm các chỉ lệnh khác phức tạp lên và

để thực thi một chỉ lệnh như vậy cần tốn nhiều chu kì xung nhịp Trong khi đó nếu dùng RISC chỉ mất một chu kì xung nhịp cho mỗi lệnh, khi ta phân nhỏ vấn đề phức tạp thành các vấn đề đơn giản thì cách giải quyết sẽ tốt hơn

− Tốc độ tính toán cao nhờ vào việc giải mã lệnh đơn giản, nhờ có nhiều thanh ghi (ít thâm nhập bộ nhớ), và nhờ thực hiện kỹ thuật ống dẫn liên tục và có hiệu quả (các lệnh đều có thời gian thực hiện giống nhau và có cùng dạng)

− Thời gian cần thiết để thiết kế bộ điều khiển là ít Điều này góp phần làm giảm chi phí thiết kế

− Bộ điều khiển trở nên đơn giản và gọn làm cho ít rủi ro mắc phải sai sót mà ta thường gặp trong bộ điều khiển

− Có một số ít lệnh (thông thường dưới 100 lệnh)

− Có một số ít các kiểu định vị (thông thường hai kiểu: định vị tức thì và định vị gián tiếp thông qua một thanh ghi)

− Có một số ít dạng lệnh (một hoặc hai)

− Các lệnh đều có cùng chiều dài

− Chỉ có các lệnh ghi hoặc đọc ô nhớ mới thâm nhập vào bộ nhớ

− Dùng bộ tạo tín hiệu điều khiển bằng mạch điện để tránh chu kỳ giải mã các vi lệnh làm cho thời gian thực hiện lệnh kéo dài

− Ngoài ra các bộ xử lý RISC đầu tiên thực hiện tất cả các lệnh trong một chu kỳ máy

❖ Lõi vi điều khiển ARM gồm các thành phần sau:

– Lõi xử lý ARM là một khối chức năng được kết nối bởi các bus dữ liệu, các mũi tên thể hiện cho dòng chảy của dữ liệu, các đường thể hiện cho bus dữ liệu, các ô biểu diễn trong hình là một khối hoạt động hoặc một vùng lưu trữ Cấu hình này cho thấy các dòng dữ liệu và các thành phần tạo nên một bộ xử lý ARM

Trang 16

– Tập lệnh ARM nằm trong hai nguồn thanh ghi Rn và Rm, kết quả được trả về thanh ghi đích Rd Nguồn toán hạng được đọc từ thanh ghi đang sử dụng trên bus nội bộ A và B tương ứng

– Khối số học và logic (ALU: Arithmetic Logic) hay bộ nhân (MAC: Multiply – Accumulate Unit) lấy các giá trị từ thanh ghi Rn và Rm từ bus A, B và tính toán ra kết quả

– Mô hình thanh ghi theo kiến trúc Registry file giao tiếp với bộ nhớ thông qua các lệnh load – store và ALU để tính toán địa chỉ được lưu trong các thanh ghi – Incrementer: bộ gia tăng cho thanh ghi địa chỉ

Hình 2.2: Cấu trúc lõi ARM Cortex M0

2.1.3 Các dòng và các phiên bản của ARM

Để đáp ứng yêu cầu khắt khe và đa dạng của các hệ thống nhúng, bộ xử lý ARM Cortex được chia thành 3 dòng, được biểu hiện bằng các ký tự sau tên Cortex như dòng:

A (Application), R (Real - time), M (Microcontroller)

Trang 17

ARM Cortex là một phiên bản khác với các phiên bản ARM thường hay được ký hiệu bởi ARMXX ARM Cortex không có tốc độ hoạt động hay hệ thống ngoại vi nhất định, tùy thuộc vào nhà sản xuất phần cứng sẽ thiết kế hệ thống ngoại vi khác nhau, tuy nhiên tất cả đều dùng chung nhân ARM Cortex và việc lập trình và truy cập phần cứng phải tuân theo chuẩn CMSIS Từ năm 1994 đến năm 2015 các bộ lõi CortexA phát triển từ A0 đến A18, CortexR phát triển từ R0 đến R7, CortexM phát triển từ M0 đến M7 [10]

2.1.4 Các hãng sản xuất dòng chip ARM

Không giống như các tập đoàn sản xuất vi xử lý khác như AMD, Intel, Motorola hay Hitachi, hãng ARM chỉ thiết kế và bán các bản thiết kế của họ và không sản xuất các vi mạch CPU hoàn chỉnh Do vậy, có khoảng vài chục hãng sản xuất các

bộ xử lý dựa trên thiết kế của ARM Sau khi cấp phép cho hơn 175 đối tác ARM được hưởng lợi từ các công cụ của bên thứ ba Sử dụng một bộ xử lý tiêu chuẩn trong một thiết kế cho phép các đối tác ARM tạo ra các thiết bị với một cơ sở nhất quán cho phép

họ tập trung vào việc tạo ra và phát tiển các thiết bị cao cấp hơn

Hình 2.3: Các hãng sản xuất bộ vi xử lý dựa trên thiết kế của ARM

2.2 GIỚI THIỆU VỀ PHẦN CỨNG

Thiết bị đầu vào: phím nhấn, cảm biến nhiệt độ LM35, cảm biến nhiệt độ

DS18B20, cảm biến khoảng cách HCR04, cảm biến nồng độ cồn MQ-3, cảm biến nhịp tim Pulse Sensor, cảm biến nhịp tim và oxy trong máu MAX30100

Thiết bị đầu ra: led, led 7 đoạn, TFT LCD, mạch điều khiển động cơ DC L298,

motor DC, transistor relay, IC dịch 74HC595

Thiết bị điều khiển trung tâm: vi điều khiển ARM

Các chuẩn truyền dữ liệu: SPI, I2C

Trang 18

Thiết bị thời gian thực IC đồng hồ thời gian thực DS3231

2.2.1 Cảm biến nhiệt LM35

LM35 là một loại cảm biến nhiệt độ rất phổ biến và được ứng dụng rất nhiều trong thực tế hiện nay Nó được dùng nhiều trong các mạch điện tử cũng như trong các nghiên cứu LM35 là một cảm biến nhiệt độ tương tự, nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35

Đơn vị nhiệt độ: °C

Nhiệt độ thay đổi tuyến tính: 10mV/°C

LM35 không cần phải căn chỉnh nhiệt độ khi sử dụng Độ chính xác thực tế: 1/4°C

ở nhiệt độ phòng và 3/4°C ngoài (khoảng -55°C tới 150°C) LM35 có hiệu năng cao, công suất tiêu thụ là 60μA, thay đổi nhiệt độ nhanh và chính xác Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân ở giữa) ứng với mỗi mức nhiệt độ Như vậy, bằng cách đưa vào chân bên trái của cảm biến LM35 hiệu điện thế 5V, chân phải nối đất, đo hiệu điện thế ở chân giữa bằng các chân được gắn tương ứng trên vi điều khiển sẽ thu được nhiệt độ hiện tại Cảm biến LM35 là

bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius Hình dạng thực tế của LM35 được mô tả ở hình 2.4

Hình 2.4: Cảm biến nhiệt độ LM35

❖ Đặc điểm chính của cảm biến LM35:

− Điện áp đầu vào từ 4V đến 30V

− Độ phân giải điện áp đầu ra là 10mV/°C

− Độ chính xác cao ở 25°C là 0.5°C

− Tín hiệu đầu ra dạng analog

❖ Sơ đồ chân và chức năng:

Trang 19

− VCC: Điện áp cung cấp cho LM35

− GND: Kết nối GND

− OUTPUT: Trả về kết quả analog

❖ Tính toán nhiệt độ đầu ra của LM35:

Việc đo nhiệt độ sự dụng LM35 thông thường được sử dụng bằng cách đưa tín hiệu từ LM35 qua bộ giải mã ADC đến vi điều khiển để xử lý tín hiệu

Như vậy ta có:

Trong đó

u: điện áp đầu ra

t: nhiệt độ môi trường đo

k: hệ số nhiệt độ của LM35 10mV/°C

Giả sử điện áp Vcc cấp cho LM35 là 5V, bộ giải mã ADC sử dụng 10bit, thì điện

áp trên 1 bước thay đổi của LM35 sẽ là 5V/10^2 =5V/1024 Giá trị ADC đo được thì điện áp đầu vào của LM35 là:

Vậy nhiệt độ ta đo được t = ADC value /2.048

2.2.2 Cảm biến khoảng cách HC-SR04

Cảm biến siêu âm Ultrasonic HC-SR04 được sử dụng để nhận biết khoảng cách từ vật thể đến cảm biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính xác cao, phù hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu

âm Cảm biến siêu âm Ultrasonic HC-SR04 sử dụng cặp chân Echo/ Trigger để phát và

Trang 20

nhận tín hiệu Hình 2.5 là hình dạng thực tế và các chân kết nối của cảm biến đo khoảng cách HC-SR04

Hình 2.5: Cảm biến siêu âm HCSR04

❖ Thông số kỹ thuật:

− Điện áp hoạt động: 5VDC

− Dòng tiêu thụ: 10~40mA

− Tín hiệu giao tiếp: TTL

− Chân tín hiệu: Echo, Trigger

− Góc quét:<15 độ

− Tần số phát sóng: 40Khz

− Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều khiện lý tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm)

− Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ)

− Kích thước: 43mm x 20mm x 17mm

❖ Sơ đồ chân và chức năng:

− VCC: Hoạt động điện áp 5V

− GND: Kết nối GND

− TRIG: Cấp xung đầu vào cho module

− ECHO: Nhận tín hiệu phản xạ về

❖ Nguyên lý đo khoảng cách của HC-SR04:

− Ta sẽ dùng vi điều khiển phát 1 xung rất ngắn (10 microSeconds) vào chân Trig

− Sau đó, mạch cảm biến sẽ phát ra 1 chuỗi 8 xung có tần số 40kHz

− Tiếp theo, 1 xung HIGH ở chân Echo sẽ được cảm biến tạo ra đến khi cảm biến nhận lại được sóng phản xạ thì chân Echo sẽ trở về mức 0

Trang 21

− Dùng Timer đo khoảng thời gian chân Echo tồn tại mức điện áp HIGH

− Hình 2.6 mô tả 3 giai đoạn hoạt động của cảm biến HC-SR04: kích hoạt chân Trig, phát sóng siêu âm với 8 xung tần số 40kHz và khoảng thời gian chân Echo tích cực mức HIGH

Hình 2.6: Biểu đồ các giai đoạn từ kích hoạt chân Trig đến thu sóng phản xạ

❖ Cách tính khoảng cách:

Ta có:

𝐾ℎ𝑜𝑎̉𝑛𝑔 𝑐𝑎́𝑐ℎ = 𝑉ậ𝑛 𝑡ố𝑐 ∗ 𝑇ℎờ𝑖 𝑔𝑖𝑎𝑛 (2.6) Khoảng cách ở đây là quãng đường mà 8 xung siêu âm đi được và vận tốc của sóng siêu âm hay âm thanh trong không khí là 340m/s Khi đã đo được thời gian từ quãng thời gian xung siêu âm( dùng Timer đo thời gian của xung HIGH chân Echo), áp dụng công thức (2.6) ta tính được quãng đường sóng siêu âm đi và chia 2 để được khoảng cách từ cảm biến đến vật:

𝐾ℎ𝑜𝑎̉𝑛𝑔 𝑐𝑎́𝑐ℎ =340∗Thời gian Timer đo được

2.2.3 Cảm biến nồng độ cồn MQ-3

Cảm biến thích hợp cho việc phát hiện nồng độ cồn trong hơi thở Phát hiện khí phát ra từ Etanol, Alcohol Độ nhạy cao và thời gian đáp ứng nhanh Cảm biến cung cấp một đầu ra tương tự dựa trên nồng độ cồn Hình dạng thực tế của MQ-3 và các chân kết nối được mô rả ở hình 2.7

Trang 22

Hình 2.7: Cảm biến nồng độ cồn MQ-3

❖ Thông số kỹ thuật:

− Kích thước: 32 x 22 x 27 mm

− Chip chính: LM393, MQ-3 cảm biến khí

− Điện áp cung cấp: DC 5V

− Có 2 dạng tín hiệu đầu ra dạng Analog và TTL

− Tín hiệu đầu ra TTL có giá trị thấp (đầu ra tín hiệu mức thấp có thể được kết nối trực tiếp với vi điều khiển)

− Đầu ra tương tự 0 ~ 5V, nồng độ cồn càng cao điện áp càng cao

− Độ nhạy cao và chọn lọc tốt với hơi ethanol

− Bền và ổn định đáng tin cậy

− Nhạy và phục hồi nhanh

❖ Sơ đồ chân và chức năng:

− VCC: Hoạt động điện áp 5V

− GND: Kết nối GND

− DOUT: đầu ra digital (0 và 1)

− AOUT: đầu ra analog

Trang 23

2.2.4 Cảm biến nhịp tim và SpO2 MAX30100

Module tích hợp Cảm biến MAX30100 của hãng Maxim, có khả năng đo được nồng độ Oxy trong máu và nhịp tim Đó là một cảm biến quang học, nó phát ra hai bước sóng ánh sáng từ hai đèn LED - một LED đỏ và một LED hồng ngoại - sau đó đo sự hấp thụ của xung huyết (pulsing blood) bằng cách thu tín hiệu thông qua một bộ cảm biến ánh sáng (photodetector) Sự kết hợp màu LED đặc biệt này được tối ưu hóa để đọc dữ liệu ở đầu ngón tay

Cảm biến nhịp tim và Oxy trong máu MAX30100 được ứng dụng nhiều trong lĩnh vực y sinh, cảm biến sử dụng phương pháp đo quang phổ biến hiện nay, với thiết kế và chất liệu mắt đo từ chính hãng Maxim cho độ chính xác và độ bền cao, độ nhiễu thấp Hình 2.8 mô tả hình dạng thực tế và các chân kết nối của MAX30100

Hình 2.8: Cảm biến nhịp tim và nồng độ oxy bão hòa trong máu MAX30100

❖ Thông số kỹ thuật:

− Điện áp hoạt động: 1.8 - 5.5 VDC (khuyên dùng 5V)

− Giao tiếp I2C

− Kích thước: 19 x 14 x 3 (mm)

− Khối lượng: 5g

❖ Sơ đồ chân và chức năng:

− Vin: Điện áp cung cấp 1.8V – 5.5V

− GND: Kết nối GND

Trang 24

− SCL: chân clock của giao tiếp I2C

− SDA chân truyền dữ liệu data của giao tiếp I2C

− INT: Ngắt MAX30100

− IDR: Cathode của LED hồng ngoại Thả nổi trong mạch

− RD: Cathode của LED đỏ Thả nổi trong mạch

❖ Nguyên lý đo nồng độ oxy trong máu và nhịp tim:

Thiết bị có hai đèn LED, một phát ra ánh sáng đỏ, một đèn hồng ngoại khác phát ra Đối với nhịp tim, chỉ cần dùng đèn hồng ngoại Cả ánh sáng đỏ và ánh sáng hồng ngoại đều được sử dụng để đo nồng độ oxy trong máu Khi tim bơm máu, có sự gia tăng thể tích máu nên lượng máu bị oxy hóa cũng tăng Khi tim thư giãn, thể tích máu được oxy hóa cũng giảm Bằng cách biết thời gian giữa tăng và giảm oxy máu, nhịp tim được xác định

Trong thực tế, máu oxy hóa hấp thụ nhiều ánh sáng hồng ngoại hơn và cho ánh sáng

đỏ qua nhiều hơn trong khi máu khử oxy hấp thụ ánh sáng đỏ và cho ánh sáng hồng ngoại đi qua nhiều hơn hơn Đây là chức năng chính của MAX30100: nó đọc mức độ hấp thụ cho cả hai nguồn sáng và được lưu trữ trong bộ đệm có thể đọc qua I2C

2.2.5 Cảm biến nhịp tim Pulse Sensor

Cảm biến nhịp tim dạng quang Pulse Sensor sử dụng nguyên lý đo nhịp tim bằng ánh sáng với kích thước nhỏ gọn và giao tiếp Analog rất dễ sử dụng, phù hợp cho các ứng dụng điện tử y sinh

Nhịp đập của tim là thông số rất quan trọng xây dựng 1 bài tập thể dục thật sự khoa học Trước đây, cảm biến nhịp tim chỉ thường xuất hiện trên các thiết bị đắt tiền như : máy chạy bộ, máy đo trong bệnh viện, smartphone, v.v.v…

Hình 2.9: Cảm biến Pulse Sensor

Trang 25

❖ Thông số kỹ thuật:

− Nguồn : 3 – 5V

− Dòng tiêu thụ : < 4mA

− Ngõ ra : Analog

− Đường kính cảm biến : 1.6 cm ( 0.625 inch)

❖ Sơ đồ chân và chức năng:

− VCC: Điện áp cung cấp

− Ground: Kết nối với đất

− Signal: Chân tín hiệu Analog kết nối với bộ ADC

❖ Nguyên lý làm việc của Pulse Sensor:

Ban đầu LED và cảm biến đều đặt song song với nhau Khi ta đặt ngón tay lên phía trên cảm biến, ánh sáng từ LED đến tay ta phản chiếu trở lại APDS9008 phát hiện sự thay đổi của ánh sáng này Do mỗi lần tim đập lưu lượng máu qua mạch máu thay đổi (tăng đột ngột) làm ánh sáng cảm biến nhận được thay đổi Mỗi khi phát hiện được sự thay đổi, chân 4 (Output) của cảm biến được kéo lên VCC, kích mở Opamp đưa một xung vuông ra chân Output của cảm biến Đếm số xung vuông này trong 1 khoảng thời gian ta sẽ thu được nhịp tim cần đo

2.2.6 Cảm biến nhiệt độ DS18B20

Cảm biến nhiệt độ dây 1m DS18B20 1-Wire Digital Temperature Probe là cảm biến DS18B20 được thiết kế ở dạng dây chống nước với vò thép bảo vệ chắc chắn dài 1m, được sử dụng để đo nhiệt độ môi trường với chuẩn giao tiếp 1-Wire (1 chân Data duy nhất) rất dễ kết nối và lập trình, cảm biến có chất lượng tốt, độ bền cao Hình 2.9

mô tả hình dạng thực tế và các chân kết nối của cảm biến DS18B20

Trang 26

Hình 2.10: Cảm biến nhiệt độ DS18B20

❖ Đặc điểm chính:

− Độ phân giải khi đo nhiệt độ là 9 bit Dải đo nhiệt độ -55oC đến 125oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,1oC bằng việc hiệu chỉnh qua phần mềm (Có thể đạt đến các độ phân giải 10 bit, 11 bit, 12 bit)

− Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng (từ 3,0 V đến 5,5 V)

− Dòng tiêu thụ tại chế độ nghỉ cực nhỏ

− Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms

− Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip).Giải pháp tích hợp đo nhịp tim và oxy trong máu trong cùng một thiết

bị

❖ Thông số kỹ thuật:

− Điện áp sử dụng: 3~5.5V

− Dòng tiêu thụ: 1~1.5mA

− Chuẩn giao tiếp: Digital TTL 1-Wire (chỉ 1 chân Data duy nhất, lưu ý cần nối chân Data của cảm biến lên mức cao VCC qua điện trở kéo 4k7 Ohm hoặc 10k Ohm trước khi kết nối với Vi điều khiển)

− Khoảng nhiệt độ đo được: -55~125°C

− Độ chính xác (sai số): ±0.5°C

− Độ phân giải: 9~12 bit (có thể thiết đặt)

− Thời gian phản hồi < 750ms

− Thiết kế dạng dây chống nước dài 1m với vỏ thép bảo vệ chắc chắn

❖ Sơ đồ chân và chức năng:

Trang 27

− VDD: Điện áp cung cấp 3~5.5V

− GND: Kết nối GND

− DQ: Chân giao tiếp chuẩn 1-Wire

− SDA chân dât của giao tiếp I2C

− INT: Ngắt MAX30100

− IDR: Cathode của LED hồng ngoại Thả nổi trong mạch

− RD: Cathode của LED đỏ Thả nổi trong mạch

2.2.7 IC dịch 74HC595

74HC595 là IC ghi dịch 8 bits kết hợp chốt dữ liệu, đầu vào nối tiếp, đầu ra song song Thường dùng trong các mạch điều khiển LED 7 đoạn, quét LED ma trận,… để tiết kiệm số chân Vđk tối đa (chỉ dùng 3 chân) Có thể mở rộng số ngõ ra của vđk bao nhiêu tùy thích bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau

Hình 2.11: Vỏ bên ngoài của IC 74HC595

❖ Sơ đồ chân và chức năng:

− VCC: Nguồn cung cấp 5V

− GND: Kết nối GND

− DS: Ngõ vào dữ liệu nối tiếp

− SH_CP: Xung clock dịch dữ liệu Khi có 1 xung thì dữ liệu dịch vào 1 bit

− ST_CP: Xung xuất dữ liệu lưu trữ

− OE: Cho phép ngõ ra Tích cực mức cao

− MR: Chân reset Tích cực mức thấp

− Q0 Q7: Ngõ ra dữ liệu

Trang 28

− Q7’: Ngõ ra dữ liệu nối tiếp Nếu dùng nhiều IC dịch thì nối Q7’ vào DS của IC tiếp theo

Hình 2.12: Sơ đồ chân IC 74HC595

❖ Nguyên lý hoạt động của IC dịch:

Quan sát hình 2.12, ta đặt dữ liệu vào chân DS, và tạo một xung SHCP thì dữ liệu tại chân DS sẽ được dịch vào thanh ghi 8-STAGE SHIFT REGISTER Lần lượt làm như trên 8 lần (dịch bit cao trước), thì ta được 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER Sau đó ta tạo một xung STCP thì 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER sẽ được sao chép sang thanh ghi 8-BIT STORAGE REGISTER Lúc này nếu chân OE ở mức thấp thì ngõ ra sẽ bằng với giá trị thanh ghi 8-BIT STORAGE REGISTER, còn nếu chân OE ở mức cao thì ngõ ra ở trạng thái tổng trở cao (Hi-Z)

Hình 2.13: Cấu trúc các thanh ghi bên trong IC dịch 74HC595

Trang 29

2.2.8 IC thời gian thực DS3231

DS3231 là IC thời gian thực giá rẻ, rất chính xác với thạch anh tích hợp sẵn có khả năng điều chỉnh nhiệt IC có đầu vào cho pin riêng, tách biệt khỏi nguồn chính đảm bảo cho việc giữ thời gian chính xác Thạch anh tích hợp sẵn giúp tăng độ chính xác trong thời gian dài hoạt động và giảm số lượng linh kiện cần thiết khi làm board

Thời gian trong IC được giữ ở dạng: giờ, phút, giây, ngày, thứ, tháng, năm Các tháng có ít hơn 31 ngày sẽ tự động được điều chỉnh, các năm Nhuận cũng được chỉnh đúng số ngày Thời gian có thể hoạt động ở chế độ 24h hoặc 12h AmPM IC còn có chức năng báo động, có thể cài đặt 2 thời gian báo và lịch, có tín hiệu ra là xung vuông Giao tiếp với IC được thực hiện thông qua I2C bus

Trong chip có mạch điện áp chuẩn dùng để theo dõi trạng thái của nguồn VCC, phát hiện lỗi nguồn, tự động chuyển nguồn khi có vấn đề Có tín hiệu Reset xuất ra cho mạch ngoài, MCU khi nguồn điện phục hồi trạng thái Ngoài ra trong IC còn có sẵn cảm biến nhiệt độ, có độ chính xác là ± 3°C

Hình 2.14: Sơ đồ chân IC DS3231

❖ Sơ đồ chân và chức năng:

Trang 30

− SDA: Ngõ vào/ra data I2C

− VBAT: Nguồn pin dự phòng

2.2.9 Động cơ DC

Động cơ DC có chổi than là động cơ hoạt động với nguồn điện DC vì vậy còn gọi là động cơ điện một chiều từ phần sau sẽ gọi tắt là động cơ DC Cấu tạo gồm 2 phần là stator và rotor trong đó stator thường là 1 hay nhiều cặp nam châm vĩnh cửu hoặc nam châm điện còn rotor là các cuộn dây được quấn trên một lõi sắt non và nối với nguồn điện một chiều Do đặc điểm rotor là cuộn dây nên để cấp điện cho động cơ ta cần một

bộ phận đặc biệt là bộ cổ góp và chổi than tiếp xúc cổ góp, điều này giúp cấp điện cho động cơ kể cả khi động cơ quay Vì là bộ phận tiếp xúc nên sau một thời gian chổi quét

sẽ bị mài mòn và cần phải thay thế Động cơ DC thường có tốc độ cao, đáp ứng nhanh kích thước nhỏ gọn, momen cao dù ở tốc độ nhỏ nên được sử dụng phổ biến trong các

mô hình, các máy móc, thiết bị, đồ gia dụng, dùng khởi động các động cơ xe Dòng điện chạy qua động cơ được tính như sau:

𝐼độ𝑛𝑔 𝑐ơ=𝑉𝑛𝑔𝑢ô ̀𝑛−𝑉đ𝑖ệ𝑛 đô ̣𝑛𝑔

Công suất động cơ tính như sau:

𝑃độ𝑛𝑔 𝑐ơ = 𝐼độ𝑛𝑔 𝑐ơ ∗ 𝑉đ𝑖ệ𝑛 đo ̣𝑛𝑔 (2.9) Trong đó:

𝑉đ𝑖ệ𝑛 đo ̣𝑛𝑔 là sức điện động do rotor sinh ra khi quay

𝑅𝑝ℎầ𝑛 ứ𝑛𝑔 là điện trở nội của các cuộn dây

❖ Phương pháp điều khiển động cơ DC:

Để điều khiển động cơ DC thì phương pháp phổ biến nhất là điều khiển điện áp rotor vì tốc độ quay của động cơ DC sẽ tỉ lệ thuận với điện áp nguồn Chiều quay có thể điều khiển bằng các thay đổi chiều dòng điện đi vào động cơ.

Để điều khiển điện áp DC cấp cho động cơ ta có thể dùng phương pháp thay đổi thời gian cấp điện 𝑇𝑂𝑁, nghĩa là dòng điện được đóng và ngắt liên tục để qua đó thay đổi điện áp trung bình Để làm được điều này ta cần dùng các phần tử chuyển mạch có điều khiển như transistor hoặc MOSFET Giả sử điện áp cấp là 24V và thời gian 𝑇𝑂𝑁 là 50% thì điện áp trung bình là 12V Phương pháp này được gọi là phương pháp điều biến

độ rộng xung (pulse width modulation- PWM) Tùy vào công suất động cơ mà ta chọn loại linh kiện chuyển mạch cho phù hợp

Trang 31

Trong bài nhóm sử dụng động cơ DC 5V như hình 2.14 có các thông số kỹ thuật:

Hình 2.15: Động cơ DC 5V

− Điện áp định mức: 5VDC

− Tốc độ quay: lên đến 5000 vòng/phút

− Dòng tiêu thụ: 10mA~1A

− Momen xoắn: lên đến 2mN.m

2.2.10 Màn hình TFT LCD

Màn hình TFT LCD 2.2inch truyền dữ liệu nối tiếp thông qua giao tiếp SPI, vi điều khiển chỉ mất vài chân I/O để có thể giao tiếp với module và việc điều khiển cũng vô cùng đơn giản

Hình 2.16: Màn hình TFT LCD

❖ Tính năng:

Trang 32

− Màn hình kích thước 2.2 inch, tích hợp khe thẻ nhớ micro SD

− Driver ILI9341 (driver SOC đơn chíp 262144 màu) cho khả năng hiển thị 240x320 điểm ảnh (RGB) với 18 bit màu

− Tương thích với hầu hết các vi điều khiển hiện nay

− Giao thức hiển thị nối tiếp, chỉ cần sử dụng 5 chân (CS, RESET, DC/RS, SDI/MOSI, SCK) để điều khiển

− Thẻ SD sử dụng giao tiếp SPI (CS / MOSI / MISO / SCK)

❖ Thông số kỹ thuật:

− Điện áp hoạt động: 5V/3V3

− Nhiệt độ hoạt động: -20-70°C

− IC điều khiển: ILI9341

− Giao tiếp: SPI

− Mật độ điểm ảnh: QVGA 240x320

− Khả năng hiển thị màu: 262K/65K

− Kích thước màn hình: 2.2 inch

− Kích thước: 67x40mm/2.63x1.57inch

− Trọng lượng: 18.43gram

− Chất liệu: nhựa

2.2.11 Chuẩn giao tiếp I2C

Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giao tiếp giữa các IC với nhau I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument(TI), MaximDallas, analog Device, National Semiconductor Bus I2C được

sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED

Trang 33

Hình 2.17: Chuẩn giao tiếp I2C

I2C sử dụng hai đường truyền tín hiệu:

− Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở 100kHz và 400kHz Mức cao nhất là 1Mhz và 3.4MHz)

− Một đường dữ liệu(SDA) theo 2 hướng

Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave)

Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ.Tại sao lại có sự phân biệt này ?

Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết

bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp

2.2.12 Chuẩn giao tiếp SPI

SPI viết tắt của Serial Peripheral Interface, SPI bus – Giao diện ngoại vi nói tiếp, bus SPI Chuẩn SPI được phát triển bởi Motorola Đây là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần (full- duplex) tức trong cùng một thời điểm

có thể xảy ra đồng thời quá trình truyền và nhận Đôi khi SPI còn được gọi là chuẩn giao tiếp 4 dây (Four-wire)

Trang 34

SPI là giao diện đồng bộ, bất cứ quá trình truyền nào cũng được đồng bộ hóa với tín hiệu clock chung Tín hiệu này sinh ra bởi master

Hình 2.18: Chuẩn giao tiếp SPI

Trong giao diện SPI có bốn tín hiệu số:

− MOSI hay SI – cổng ra của bên Master ( Master Out Slave IN) Đây là chân dành cho việc truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động

− MISO hay SO – Công ra bên Slave (Master IN Slave Out) Đây là chân dành cho việc truyền dữ liệu từ Slave đến Master

− SCLK hay SCK là tín hiệu clock đồng bộ (Serial Clock) Xung nhịp chỉ được tạo bởi Master

− CS hay SS là tín hiệu chọn vi mạch ( Chip Select hoặc Slave Select) SS sẽ ở mức cao khi không làm việc Nếu Master kéo SS xuông thấp thì sẽ xảy ra quá trình giao tiếp Chỉ có một đường SS trên mỗi slave nhưng có thể có nhiều đường điều khiển

SS trên master, tùy thuộc vào thiết kế của người dùng

2.2.13 Bộ xử lý trung tâm STM32F4VET6

STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như F0, F1, F2, F3, F4,… STM32F407 thuộc họ F4 dựa trên lõi RISC 32 bit ARM Cortex -M4 hiệu suất cao hoạt động ở tần số lên tới 168 MHz Lõi Cortex-M4 có độ chính xác đơn đơn vị dấu phẩy động (FPU) hỗ trợ tất cả các hướng dẫn và loại dữ liệu

xử lý dữ liệu chính xác đơn ARM Nó cũng thực hiện một bộ đầy đủ các hướng dẫn DSP và bộ bảo vệ bộ nhớ (MPU) để tăng cường bảo mật ứng dụng Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng

Một số ứng dụng chính: dùng cho driver để điều khiển ứng dụng, điều khiển ứng dụng thông thường, thiết bị cầm tay, máy tính và thiết bị ngoại vi chơi game, GPS cơ

Trang 35

bản, các ứng dụng trong 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, thiết bị liên lạc nội bộ

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

C, STMCube IDE,…

Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như STM32 Snippets, STMCube HAL và LL, Standard Peripheral Libraries, Mbed Core Mỗi thư viện đều có ưu khuyết điểm riêng, ở đây nhóm sử dụng thư viện STMCube HAL vì tính phổ biến trong thời gian gần đây, đơn giản và dễ sử dụng

Mạch nạp: có khá nhiều loại mạch nạp như U-LINK, J-LINK, ST-LINK,… trong

đó thông dụng và giá thành thấp nhất là ST-Link

a Cấu trúc hệ thống:

Dòng ARM Cortex là một bộ xử lý thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ Không giống như những chip ARM khác, dòng Cortex là một lõi xử lý hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex bao gồm 3 nhánh chính:

+ Dòng A dành cho các ứng dụng cao cấp

+ Dòng R dành cho các ứng dụng thời gian thực

+ Dòng M dành cho các ứng dụng vi điều khiển và chi phí thấp

Trang 36

Hình 2.19: Sơ đồ cấu trúc các khối của STM32F407

b Cấu trúc bộ nhớ, thanh ghi:

Bộ nhớ chương trình, bộ nhớ dữ liệu, thanh ghi và cổng I / O được tổ chức trong cùng một không gian địa chỉ 4 Gbyte tuyến tính

Các byte được mã hóa trong bộ nhớ ở định dạng endian nhỏ Byte được đánh số thấp nhất trong một từ được coi là byte byte có ý nghĩa nhỏ nhất và byte được đánh số cao nhất, từ có ý nghĩa nhất

Tất cả các vùng nhớ không được phân bổ cho các bộ nhớ và thiết bị ngoại vi trên chip đều được coi là Reserved

Trang 37

Bảng 2.1: Sơ đồ bộ nhớ

Tổ chức bộ nhớ của ARM Cortex M4 có dung lượng là 4GB được chia làm 8 block

từ Block 0 đến Block 7 mỗi block có dung lượng là 512MB

Bảng 2.2: Địa chỉ giới hạn của các ngoại vi

0xFFFF FFFF

0xE000 0000

Block 7 512MB Các ngoại vi nội của Cortex M4 0xDFFF FFFF

0xC000 0000

Block 6 512MB Không sử dụng 0xBFFF FFFF

0xA000 0000

Block 5 512MB Các thanh ghi FSMC 0x9FFF FFFF

0x8000 0000

Block 4 512MB FSMC bank3 và bank4 0x7FFF FFFF

0x6000 0000

Block 3 512MB FSMC bank1 và bank2 0x5FFF FFFF

0x4000 0000

Block 2 512MB Ngoại vi 0x3FFF FFFF

0x2000 0000

Block1 512MB SRAM 0x1FFF FFFF

0x0000 0000

Block 0 512MB Code

Trang 38

Địa chỉ giới hạn Ngoại vi Bus 0xA000 0000 - 0xA000 0FFF FSMC control register AHB3 0x5006 0800 - 0x5006 0BFF RNG

Trang 39

Bảng 2.3: Tập lệnh thao tác với thanh ghi

ADC, ADCS {Rd,} Rn, Op2 Cộng với Carry N,Z,C,V

ADR Rd, label Tải địa chỉ liên quan đến PC -

AND, ANDS {Rd,} Rn, Op2 Logical AND N,Z,C ASR, ASRS Rd, Rm, <Rs|#n> Dịch phải số học N,Z,C

Trang 40

BFC Rd, #lsb, #width Xóa Bit Field -

BFI Rd, Rn, #lsb, #width Chèn Bit Field -

BLX Rm Rẽ nhánh không trực tiếp với Link -

CBNZ Rn, label So sánh và rẽ nhánh nếu Non Zero -

CBZ Rn, label So sánh và rẽ nhánh nếu Zero -

CPSIE I Thay đổi trạng thái bộ xử lý, kích hoạt ngắt -

ADC, ADCS {Rd,} Rn, Op2 Cộng với Carry N,Z,C,V

ADR Rd, label Tải địa chỉ liên quan đến PC -

AND, ANDS {Rd,} Rn, Op2 Logical AND N,Z,C ASR, ASRS Rd, Rm, <Rs|#n> Dịch phải số học N,Z,C

BFC Rd, #lsb, #width Xóa Bit Field -

BFI Rd, Rn, #lsb, #width Chèn Bit Field -

BLX Rm Rẽ nhánh không trực tiếp với Link -

Ngày đăng: 25/11/2021, 11:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Đình Phú, “Giáo trình Vi xử lí ”, Trường ĐHSPKT, Tp.HCM, 2013 Sách, tạp chí
Tiêu đề: Giáo trình Vi xử lí
[4] Nguyễn Tâm Phúc, “Thiết kế kit thực hành vi điều khiển ARM – Cortex M0”, Đồ án tốt nghiệp, Trường ĐH công nghiệp, TP.HCM, 2016 Sách, tạp chí
Tiêu đề: Thiết kế kit thực hành vi điều khiển ARM – Cortex M0
[5] Phạm Quang Minh, Hồ Văn Trọng, “Thiết kế thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo” , Đồ án tốt nghiệp, trường ĐHSPKT, TP.HCM, 2018 Sách, tạp chí
Tiêu đề: Thiết kế thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo
[6] Phạm Văn Khích, “Thiết kế bộ thí nghiệm PIC 18F2455/2550/5555/4550”, NCKH cấp trường, trường ĐHSPKT, TP.HCM, 2008 Sách, tạp chí
Tiêu đề: Thiết kế bộ thí nghiệm PIC 18F2455/2550/5555/4550
[7] Trần Anh Đề, Trần Sơn Lành, “Hệ thống điểm danh bằng vân tay ứng dụng vi điều khiển ARM”, Đồ án tốt nghiệp, trường ĐHSPKT, TP.HCM, tháng 7 năm 2016 Sách, tạp chí
Tiêu đề: Hệ thống điểm danh bằng vân tay ứng dụng vi điều khiển ARM
[8] “ARM Discloses Technical Details Of The Next Version Of The ARM Architecture” (Thông cáo báo chí). ARM Holdings, 27 tháng 10 năm 2011 Sách, tạp chí
Tiêu đề: ARM Discloses Technical Details Of The Next Version Of The ARM Architecture
[9] Fitzpatrick, J. (2011). “An Interview with Steve Furber”. Communications of the ACM Sách, tạp chí
Tiêu đề: An Interview with Steve Furber
Tác giả: Fitzpatrick, J
Năm: 2011
[10] Trương Xuân Thắng, “Giao tiếp với vi điều khiển ARM”, Hà Nội, 2011 Sách, tạp chí
Tiêu đề: Giao tiếp với vi điều khiển ARM
[11] Lõi tùy chỉnh trong thế giới Arm, http://oss.gov.vn, truy cập ngày 08/05/2020. [21] Anshul_Aggarwal, “Introduction to Visual Studio”, geeksforgeeks.org, truy cập 2/6/2020 Sách, tạp chí
Tiêu đề: Introduction to Visual Studio
[2] Tổng quang về arduino, https://www.arduino.cc, truy cập ngày 08/05/2020 Link
[3] Sử dụng cảm biến trong y học, Tạp chí tự động hóa ngày nay, số 113, 2010 Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.5: Cảm biến siêu âm HCSR04 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.5 Cảm biến siêu âm HCSR04 (Trang 20)
Hình 2.8: Cảm biến nhịp tim và nồng độ oxy bão hòa trong máu MAX30100 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.8 Cảm biến nhịp tim và nồng độ oxy bão hòa trong máu MAX30100 (Trang 23)
Hình 2.13: Cấu trúc các thanh ghi bên trong IC dịch 74HC595 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.13 Cấu trúc các thanh ghi bên trong IC dịch 74HC595 (Trang 28)
Hình 2.15: Động cơ DC 5V - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.15 Động cơ DC 5V (Trang 31)
Hình 2.19: Sơ đồ cấu trúc các khối của STM32F407 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.19 Sơ đồ cấu trúc các khối của STM32F407 (Trang 36)
Hình 2.20: Giao diện phần mềm - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 2.20 Giao diện phần mềm (Trang 42)
Hình 3.1: Sơ đồ khối hệ thống - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.1 Sơ đồ khối hệ thống (Trang 44)
Hình 3.2: Sơ đồ nguyên lý mạch nguồn - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.2 Sơ đồ nguyên lý mạch nguồn (Trang 45)
Hình 3.5: Sơ đồ nguyên lý khối nhiệt độ LM35 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.5 Sơ đồ nguyên lý khối nhiệt độ LM35 (Trang 47)
Hình 3.4: Sơ đồ nguyên lý khối ma trận phím - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.4 Sơ đồ nguyên lý khối ma trận phím (Trang 47)
Hình 3. 1: Sơ đồ nguyên lý khối nhiệt độ DS18B20 - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3. 1: Sơ đồ nguyên lý khối nhiệt độ DS18B20 (Trang 48)
Hình 3.11 : Sơ đồ bố trí linh kiện của KIT - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.11 Sơ đồ bố trí linh kiện của KIT (Trang 52)
Hình 3.12: Sơ đồ mạch in PCB mặt trên - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.12 Sơ đồ mạch in PCB mặt trên (Trang 52)
Hình 3.13: Sơ đồ mạch in PCB mặt dưới - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
Hình 3.13 Sơ đồ mạch in PCB mặt dưới (Trang 53)
Bước 3: Hình 4.4 là cửa sổ gõ tên Project, gõ tên và chọn “Finish” theo thứ tự 1, 2  trong hình - Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh
c 3: Hình 4.4 là cửa sổ gõ tên Project, gõ tên và chọn “Finish” theo thứ tự 1, 2 trong hình (Trang 58)

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