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

Đồ Án thiết kế luận lý Đề tài thiết kế mạch Đo nhịp tim và hiển thị kết quả qua Ứng dụng di Động

29 4 0
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

Định dạng
Số trang 29
Dung lượng 2,24 MB

Nội dung

Các thiết bị này có thể được sử dụng để theo dõi nhịp tim một cách liên tục và tự động.. 1.5 Phương pháp nghiên cứuĐể đạt được mục tiêu nghiên cứu, đề tài sử dụng các phương pháp nghiên

Trang 1

Advisor(s): Huỳnh Hoàng Kha

Student(s): Nguyễn Đăng Khoa 2113760

Huỳnh Hữu Tín 2110584Ngô Nguyễn Minh Đức 2113215

HO CHI MINH CITY, DECEMBER 2023

Trang 2

1.1 Tính cấp thiết của đề tài 5

1.2 Đối tượng nghiên cứu 5

1.3 Phạm vi nghiên cứu 5

1.4 Mục tiêu nghiên cứu 5

1.5 Phương pháp nghiên cứu 6

1.6 Kết cấu đề tài 6

2 Cơ sở lý thuyết 6 2.1 Nhịp tim là gì? 6

2.2 Các phương pháp đo nhịp tim 7

2.3 Giới thiệu cảm biến MAX30100 8

2.3.1 Tổng quan 8

2.3.2 Cấu tạo và đặc tính kỹ thuật 8

2.3.3 Cấu hình chân 9

2.3.4 Nguyên lí hoạt động 10

2.3.5 Ưu điểm và nhược điểm 11

2.4 Giới thiệu về ESP8266 11

2.5 Giới thiệu về ứng dụng Blynk trên điện thoại di động 12

2.6 Giới thiệu về I2C 13

3 Thiết kế 15 3.1 Sơ đồ khối 15

3.2 Sơ đồ nối dây 16

3.3 Lắp mạch trên testboard 16

4 Lập trình ESP8266 17 4.1 Tổng quan về Arduino IDE 17

4.2 Thiết lập thư viện cần thiết 19

4.3 Thiết kế thuật toán đo nhịp tim và hiển thị qua ứng dụng Blink 20

4.3.1 Flowchart 20

4.3.2 Code 20

5 Thi công mạch 23 5.1 Tổng quan về Altium Designer 23

Trang 3

5.2 Sơ đồ thiết kế Altium 24

5.3 Luật đi dây 25

5.4 Bố trí mạch 26

5.5 Mạch thành phẩm 28

6 Kết quả 29 List of Figures 2.1 Đo nhịp tim bằng tay 7

2.2 Đo nhịp tim điện tâm đồ 7

2.3 Đo nhịp tim bằng cảm biến quang học 8

2.4 Cảm biến MAX30100 8

2.5 Cảm biến MAX30100 9

2.6 Nguyên lí hoạt động của MAX30100 10

2.7 Kit NodeMCU ESP8266 11

2.8 Blynk App 13

2.9 Chuẩn giao tiếp I2C 14

3.1 Sơ đồ khối của mạch đo nhịp tim 15

3.2 Sơ đồ nối dây 16

3.3 Mạch lắp trên testboard 17

4.1 Giao diện Arduino 18

4.2 Thư viện ESP8266 19

4.3 Flowchart 20

5.1 Schematic 24

5.2 Trace Width Calculator 25

5.3 PCB 26

5.4 Design rule check 27

5.5 Mạch thành phẩm (mặt trước) 28

5.6 Mạch thành phẩm (mặt sau) 29

Trang 4

1 Mở đầu

1.1 Tính cấp thiết của đề tài

Nhịp tim là một chỉ số quan trọng phản ánh tình trạng sức khỏe của con người Nhịptim bình thường của người trưởng thành dao động từ 60 đến 100 nhịp mỗi phút Nhịptim thay đổi theo nhiều yếu tố, chẳng hạn như hoạt động thể chất, căng thẳng, nhiệt độ

cơ thể,

Việc theo dõi nhịp tim thường xuyên có thể giúp phát hiện sớm các vấn đề về sức khỏe,chẳng hạn như bệnh tim mạch, rối loạn nhịp tim,

Trong những năm gần đây, công nghệ phát triển đã cho phép chúng ta thiết kế các thiết

bị đo nhịp tim có kích thước nhỏ gọn và giá thành hợp lý Các thiết bị này có thể được

sử dụng để theo dõi nhịp tim một cách liên tục và tự động

1.2 Đối tượng nghiên cứu

Đối tượng nghiên cứu của đề tài là

• Thiết kế mạch đo nhịp tim bằng cảm biến quang học MAX30100 và vi điều khiểnESP8266

• Kết nối Wi-Fi và hiển thị kết quả qua ứng dụng di động

1.3 Phạm vi nghiên cứu

Phạm vi nghiên cứu của đề tài bao gồm:

• Nghiên cứu cơ sở lý thuyết về nhịp tim, cảm biến MAX30100 và ESP8266

• Thiết kế mạch đo nhịp tim bằng ESP8266 và MAX30100

• Lập trình cho mạch đo nhịp tim

1.4 Mục tiêu nghiên cứu

Mục tiêu của đề tài là thiết kế mạch đo nhịp tim có các yêu cầu sau:

• Đo nhịp tim chính xác và ổn định

• Có khả năng hiển thị nhịp tim trên màn hình hoặc gửi nhịp tim lên Internet

Trang 5

1.5 Phương pháp nghiên cứu

Để đạt được mục tiêu nghiên cứu, đề tài sử dụng các phương pháp nghiên cứu sau:

• Nghiên cứu lý thuyết: Thu thập và phân tích các tài liệu, thông tin liên quan đếnnhịp tim, cảm biến MAX30100 và ESP8266

• Nghiên cứu thực nghiệm: Thiết kế, chế tạo và kiểm tra mạch đo nhịp tim

• Chương 5: Thi công mạch

• Chương 6: Đánh giá kết quả

• Chương 7: Kết luận

2 Cơ sở lý thuyết

2.1 Nhịp tim là gì?

Nhịp tim là số lần tim đập trong một phút Nhịp tim được đo bằng số lần tim co bóp

để bơm máu đi khắp cơ thể Nhịp tim bình thường của người trưởng thành dao động từ

60 đến 100 nhịp mỗi phút

Nhịp tim có thể thay đổi theo nhiều yếu tố, chẳng hạn như:

• Hoạt động thể chất: Nhịp tim sẽ tăng lên khi bạn hoạt động thể chất

• Căng thẳng: Nhịp tim có thể tăng lên khi bạn cảm thấy căng thẳng

• Nhiệt độ cơ thể: Nhịp tim có thể tăng lên khi nhiệt độ cơ thể tăng lên

• Sự thay đổi nội tiết tố: Nhịp tim có thể thay đổi theo chu kỳ kinh nguyệt ở phụ

Trang 6

2.2 Các phương pháp đo nhịp tim

Có nhiều phương pháp đo nhịp tim, bao gồm:

• Đo nhịp tim bằng tay là phương pháp đo nhịp tim đơn giản nhất Bạn đặt ngóntay lên cổ tay hoặc cổ để cảm nhận nhịp đập của tim Tuy nhiên, phương pháp này

có thể không chính xác nếu bạn không có kinh nghiệm

Figure 2.1: Đo nhịp tim bằng tay

• Đo nhịp tim bằng điện tâm đồ là phương pháp chính xác nhất Điện tâm đồ sửdụng các điện cực để ghi lại hoạt động điện của tim Tuy nhiên, phương pháp nàycần được thực hiện bởi nhân viên y tế

Figure 2.2: Đo nhịp tim điện tâm đồ

Trang 7

• Đo nhịp tim bằng cảm biến quang học là phương pháp đo nhịp tim sử dụngánh sáng để đo cường độ ánh sáng phản xạ từ mạch máu Đây là phương pháp tiệnlợi và không cần phải đến gặp bác sĩ Tuy nhiên, độ chính xác phụ thuộc vào loạicảm biến và việc lập trình tính toán.

Figure 2.3: Đo nhịp tim bằng cảm biến quang học

2.3 Giới thiệu cảm biến MAX30100

2.3.1 Tổng quan

MAX30100 là một cảm biến quang học có thể được sử dụng để đo nhịp tim, nồng độoxy trong máu và các thông số sinh lý khác Cảm biến này sử dụng công nghệ phát hiệnquang học PPG (Photoplethysmography) để đo cường độ ánh sáng phản xạ từ mạch máu

Figure 2.4: Cảm biến MAX30100

2.3.2 Cấu tạo và đặc tính kỹ thuật

Cấu tạo:

• Đèn LED đỏ và xanh lá: Đèn LED được sử dụng để chiếu ánh sáng lên mạch

Trang 8

• Cảm biến quang: Cảm biến quang được sử dụng để đo cường độ ánh sáng phản

• Dòng điện đầu vào 20mA

• Tích hợp loại bỏ nhiễu từ ánh sáng xung quanh

• Tốc độ lấy mẫu tín hiệu cao

• Xuất đầu ra dữ liệu nhanh

2.3.3 Cấu hình chân

Figure 2.5: Cảm biến MAX30100

Trang 9

Table 2.1: Bảng cấu hình chân

SDA I2C - Chân dữ liệu nối tiếpINT Ngừng hoạt động khi cấp mức logic thấp (Interupt)

để đo lượng máu đỏ trong mạch máu Đèn LED xanh lá được sử dụng để đo lượng máuxanh lá trong mạch máu Bộ xử lý tín hiệu của cảm biến MAX30100 sẽ sử dụng sự chênhlệch giữa cường độ ánh sáng đỏ và xanh lá để tính toán nhịp tim và nồng độ oxy trong máu

Figure 2.6: Nguyên lí hoạt động của MAX30100

Trang 10

2.3.5 Ưu điểm và nhược điểm

Ưu điểm:

• Nhỏ gọn và dễ sử dụng: Cảm biến MAX30100 có kích thước nhỏ gọn và dễ sửdụng

• Có thể đo nhiều thông số sinh lý: Cảm biến MAX30100 có thể được sử dụng

để đo nhịp tim, nồng độ oxy trong máu và các thông số sinh lý khác

• Giá thành hợp lý: Cảm biến MAX30100 có giá thành hợp lý

Nhược điểm:

• Độ chính xác có thể bị ảnh hưởng bởi các yếu tố môi trường: Độ chính xáccủa cảm biến MAX30100 có thể bị ảnh hưởng bởi các yếu tố môi trường, chẳng hạnnhư ánh sáng xung quanh và nhiệt độ

2.4 Giới thiệu về ESP8266

ESP8266 là một vi điều khiển có tích hợp bộ thu phát Wi- Fi được phát triển bởiEspressif Systems Vi điều khiển này được ra mắt vào năm 2014 ESP8266 sử dụng kiếntrúc RISC (Reduced Instruction Set Computer) với bộ xử lý lõi đơn 32-bit Vi điều khiểnnày có bộ nhớ flash 4MB và bộ nhớ RAM 80KB Với kích thước nhỏ, dễ sử dụng, giáthành rẻ, ESP8266 được sử dụng nhiều trong các ứng dụng thực tế

Figure 2.7: Kit NodeMCU ESP8266

Trang 11

ESP8266 có các cổng kết nối sau:

• Hỗ trợ OTA (Over-the-air programming)

2.5 Giới thiệu về ứng dụng Blynk trên điện thoại di động

Blynk là một nền tảng với các ứng dụng điện thoại thông minh cho phép bạn có thể

dễ dàng tương tác với bộ vi điều khiển như: Arduino, Esp8266, Esp32 hoặc Raspberryqua Internet Blynk App là một bảng điều khiển kỹ thuật số cho phép bạn có thể xâydựng giao diện đồ họa cho dự án của mình bằng cách kéo và thả các widget khác nhau

mà nhà cung cấp thiết kế sẵn

Blynk không bị ràng buộc với một số bo hoặc shield cụ thể Thay vào đó, nó hỗ trợ phầncứng mà bạn lựa chọn Cho dù Arduino hoặc Raspberry Pi của bạn được liên kết vớiInternet qua Wi-Fi, Ethernet hoặc chip ESP8266, Blynk sẽ giúp bạn kết nối và sẵn sàngcho các dự án IoT

Trang 12

Figure 2.8: Blynk App

Blynk Server chịu trách nhiệm về tất cả các giao tiếp giữa điện thoại thông minh vàphần cứng Bạn có thể sử dụng Blynk Cloud hoặc chạy cục bộ máy chủ Blynk riêng củamình Nó là mã nguồn mở, có thể dễ dàng xử lý hàng nghìn thiết bị và thậm chí có thểđược khởi chạy trên Raspberry Pi

Thư viện Blynk dành cho tất cả các nền tảng phần cứng phổ biến – cho phép giao tiếpvới máy chủ và xử lý tất cả các lệnh đến và lệnh đi Mỗi khi bạn nhấn một nút trong ứngdụng Blynk, thông điệp sẽ truyền đến không gian của đám mây Blynk, và tìm đường đếnphần cứng của bạn

Mọi thứ bạn cần để xây dựng và quản lý phần cứng được kết nối: cung cấp thiết bị, hiểnthị dữ liệu cảm biến, điều khiển từ xa với các ứng dụng web và di động, cập nhật chươngtrình cơ sở qua mạng, bảo mật, phân tích dữ liệu, quản lý người dùng và truy cập, cảnhbáo, tự động hóa và nhiều thứ khác hơn

Và, ứng dụng Blynk có sẵn trên CH Play

2.6 Giới thiệu về I2C

Giao tiếp I2C (Inter-Integrated Circuit) là một giao tiếp nối tiếp đa điểm được sửdụng để kết nối các thiết bị điện tử Giao tiếp này sử dụng hai dây để truyền dữ liệu(SDA), một dây dữ liệu và một dây clock (SCL)

Trang 13

Figure 2.9: Chuẩn giao tiếp I2C

Giao tiếp I2C có hai loại thiết bị master và slave Thiết bị master là thiết bị khởi tạo

và kiểm soát giao tiếp Thiết bị slave là thiết bị phản hồi lại các yêu cầu từ thiết bị master

Giao tiếp I2C sử dụng các lệnh sau:

• Start: Lệnh này bắt đầu một chu kỳ giao tiếp

• Stop: Lệnh này kết thúc một chu kỳ giao tiếp

• Write: Lệnh này được sử dụng để gửi dữ liệu từ thiết bị master đến thiết bị slave

• Read: Lệnh này được sử dụng để nhận dữ liệu từ thiết bị slave

Một chu kỳ giao tiếp I2C gồm các bước sau:

1 Thiết bị master gửi lệnh Start

2 Thiết bị slave nhận lệnh Start và sẵn sàng nhận dữ liệu

3 Thiết bị master gửi địa chỉ của thiết bị slave

4 Thiết bị slave xác nhận địa chỉ

5 Thiết bị master gửi lệnh Write hoặc Read

6 Thiết bị slave thực hiện lệnh và gửi dữ liệu

7 Thiết bị master nhận dữ liệu

8 Thiết bị master gửi lệnh Stop

Trang 14

Những ưu điểm của giao tiếp I2C:

• Đơn giản và dễ sử dụng: Giao tiếp I2C chỉ sử dụng hai dây để truyền dữ liệu,

Figure 3.1: Sơ đồ khối của mạch đo nhịp tim

MAX30100 sẽ thông qua giao tiếp I2C gửi dữ liệu cho ESP8266 xử lí Sau khi xử líxong ESP8266 sẽ đẩy dữ liệu qua Blynk App thông qua thư viện Blynk có sẵn và kết nốiWi-Fi

Trang 15

3.2 Sơ đồ nối dây

Figure 3.2: Sơ đồ nối dây

Table 3.1: Bảng nối chânChân ESP8266 Chân MAX30100 Màu dây

Trang 16

Figure 3.3: Mạch lắp trên testboard

4 Lập trình ESP8266

4.1 Tổng quan về Arduino IDE

Arduino IDE (Integrated Development Environment) là một môi trường phần mềmđược thiết kế đặc biệt để lập trình và phát triển ứng dụng cho các bo mạch phổ biến nhưArduino, ESP8266, ESP32, Đây là một công cụ mạnh mẽ và dễ sử dụng, đặc biệt đượcthiết kế để làm cho quá trình phát triển phần cứng và phần mềm trở nên đơn giản hơnđối với cộng đồng làm những người không chuyên

Arduino IDE cung cấp một giao diện người dùng thân thiện, giúp người sử dụng dễ dàngviết và tải lên chương trình vào bo mạch Arduino của họ

Ngôn ngữ được sử dụng là một biến thể đơn giản của ngôn ngữ lập trình C++ Ngôn ngữnày được tối ưu hóa để dễ hiểu và sử dụng cho những người mới bắt đầu trong lĩnh vựclập trình

Trang 17

Arduino IDE có các tính năng chính sau:

• Trình soạn thảo mã: Trình soạn thảo mã cung cấp các tính năng chỉnh sửa và gỡlỗi mã

• Trình biên dịch: Trình biên dịch chuyển mã C++ sang ngôn ngữ máy

• Trình nạp: Trình nạp tải mã đã biên dịch lên bo mạch Arduino

• Thư viện: Arduino IDE cung cấp một thư viện các hàm và lớp được sử dụng đểđiều khiển các thiết bị ngoại vi

Figure 4.1: Giao diện Arduino

Arduino chia thành ba khu vực chính:

Trang 18

• Khu vực lập trình: Nơi bạn viết mã nguồn Arduino của mình.

• Thanh trạng thái: Hiển thị thông báo, lỗi và trạng thái của quá trình biên dịch

và tải lên

4.2 Thiết lập thư viện cần thiết

Thư viện ESP8266

Figure 4.2: Thư viện ESP8266

Thư viện ESP8266 là một thư viện quan trọng cho việc lập trình vi điều khiển ESP8266.Thư viện này cung cấp các hàm và lớp cần thiết để lập trình ESP8266 cho các ứng dụngIoT và các ứng dụng khác

Thư viện Blynk

Thư viện MAX30100

Hai thư viện trên không có sẵn trong Arduino Hai đường dẫn ở trên sẽ dẫn tới mộttrang web trình bày chi tiết về cách cài đặt của các thư viện cũng như cách sử dụng

Trang 19

4.3 Thiết kế thuật toán đo nhịp tim và hiển thị qua ứng dụng

Blink

4.3.1 Flowchart

Figure 4.3: Flowchart

4.3.2 Code

Trang 20

// You s h o u l d get Auth T o k e n in the B l y n k App.

17char ssid[] = "pass 1 2 3 4 5 6 7 8 " ;

Trang 22

5.1 Tổng quan về Altium Designer

Altium Designer là một phần mềm thiết kế mạch điện tử tích hợp (PCB) được pháttriển bởi Altium Limited Phần mềm này cung cấp một môi trường làm việc tích hợp(IDE) cho phép người dùng tạo, chỉnh sửa và quản lý các mạch điện tử và mạch in mạchPCB (Printed Circuit Board)

Altium Designer có các tính năng chính sau:

• Trình tạo sơ đồ: Trình tạo sơ đồ cho phép người dùng tạo sơ đồ mạch điện tử

• Trình thiết kế PCB: Trình thiết kế PCB cho phép người dùng thiết kế mạch inmạch PCB

• Mô phỏng mạch: Altium Designer cung cấp một công cụ mô phỏng mạch để kiểmtra hoạt động của mạch điện tử

Trang 23

• Giao diện 3D: Altium Designer cung cấp một giao diện 3D để xem mạch in mạchPCB dưới dạng 3D.

• Quản lý dữ liệu: Altium Designer cung cấp một hệ thống quản lý dữ liệu để lưutrữ và truy xuất các tài liệu mạch điện tử

5.2 Sơ đồ thiết kế Altium

Figure 5.1: Schematic

Trang 24

5.3 Luật đi dây

Figure 5.2: Trace Width Calculator

Với dòng điện tối đa là 1 Ampe, độ dày của board đồng là 1 oz/f t2, nhiệt độ bảngmạch tăng tối đa là 10°C, nhiệt độ phòng là 30°C và chiều dài của một trace lớn nhấttrong mạch là 30mm Thì ta cần độ rộng tối thiểu của một trace là 11.8 mil và độ sụt áptối đa là 0.0513 Volts (độ sụt áp này chấp nhận được)

Trang 25

5.4 Bố trí mạch

Figure 5.3: PCB

Trang 26

Figure 5.4: Design rule check

Như đã thấy ở trên, mạch đã không vi phạm bất kì rule liên quan đến nối dây nào Số

vi phạm chủ yếu đến từ Silk to Solder Mask Clearance nhưng phần này không ảnh hưởngđến mạch, chỉ ảnh hưởng đến việc in Silk

Trang 27

5.5 Mạch thành phẩm

Figure 5.5: Mạch thành phẩm (mặt trước)

Trang 29

References

Ngày đăng: 01/12/2024, 20:19

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

TÀI LIỆU LIÊN QUAN

w