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

Đồ Án Thiết Kế Iii Thiết Kế Mạch Đo Chỉ Số Spo2 Và Nhịp Tim.pdf

31 0 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

Tiêu đề Thiết kế mạch đo chỉ số SpO2 và nhịp tim
Tác giả Hoàng Anh Tú
Người hướng dẫn TS. Nguyễn Thị Kim Thoa
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Điện tử - Viễn thông
Thể loại Đồ án thiết kế III
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 3,63 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG (8)
    • 1.1 Giới thiệu chung (8)
    • 1.2 Các yêu cầu cơ bản (8)
    • 1.3 Phương pháp, phạm vi và giới hạn nghiên cứu (9)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (10)
    • 2.1 Khái niệm độ bão hòa Oxy (10)
    • 2.2 Nguyên lý đo Spo2 (10)
    • 2.3 Nguyên lý đo nhịp tim (11)
  • CHƯƠNG 3. GIỚI THIỆU VỀ LINH KIỆN (12)
    • 3.1 Cảm biến Max30100 (12)
    • 3.2 Node MCU ESP8266 (12)
    • 3.3 Màn hình OLED SSD1306 (14)
  • CHƯƠNG 4. GHÉP NỐI THIẾT BỊ (15)
    • 4.1 Tổng quan giao thức I2C (15)
    • 4.2 Sơ đồ khối (16)
    • 4.3 Sơ đồ nối dây (16)
    • 4.4 Mạch lắp (17)
  • CHƯƠNG 5. LẬP TRÌNH HỆ THỐNG (18)
    • 5.1 Phần mềm lập trình cho vi điều khiển (18)
      • 5.1.1 Giới thiệu Arduino IDE (18)
      • 5.1.2 Cài đặt các thư viện cần thiết (19)
    • 5.2 Lưu đồ thuật toán (20)
      • 5.2.1 Khối hiển thị (20)
      • 5.2.2 Khối cảm biến (21)
    • 5.3 Lập trình cho Node MCU ESP8266 (21)
      • 5.3.1 Setup funtion (21)
      • 5.3.2 Loop funtion (22)
  • CHƯƠNG 6. KẾT QUẢ - NHẬN XÉT (23)
    • 6.1 Kết quả (23)
    • 6.2 Nhận xét (25)
  • CHƯƠNG 7. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (26)
    • 7.1 Kết luận (26)
    • 7.2 Hướng phát triển (26)
  • TÀI LIỆU THAM KHẢO (27)
  • PHỤ LỤC (28)

Nội dung

TỔNG QUAN VỀ HỆ THỐNG

Giới thiệu chung

- Máy đo SpO2 và nhịp tim là thiết bị đo độ bão hòa Oxy trong máu, kết hợp đo nhịp tim thông qua đầu ngón tay, máy đo SpO2 giúp sớm phát hiện ra tình trạng thiếu hụt Oxy trong máu ở bệnh nhân

- Thiết bị đo chỉ số SpO2 khá phổ biến, tiện lợi, các gia đình hoàn toàn có thể tự trang bị được và máy dễ sử dụng cho bất kỳ bệnh nhân nào gặp tình trạng hạ oxy máu như bị hen phế quản, viêm phổi do vi khuẩn, hội chứng ngưng thở khi ngủ, hoặc viêm phổi do Covid-19

H nh 1-1 Một thiết bị đo SpO2 tiêu biểu

Các yêu cầu cơ bản

- Đo nhịp tim và SpO2

- Hiển thị thông số lên màn hình

- Nhỏ gọn, dễ dàng sử dụng

Phương pháp, phạm vi và giới hạn nghiên cứu

+ Tìm hiểu nhu cầu, sự cấp thiết trong thực tế, tìm hiểu các giải pháp đã có hiện nay.

+ Thu thập tài liệu, tìm hiểu nghiên cứu phương tháp đo nhịp tim và nồng độ Oxy bằng phương pháp không xâm lấn.

+ Xử lý dữ liệu đưa về từ cảm biến

+ Tìm hiểu các phần mềm thiết kế, lập trình như: Proteus, Arduino IDE,…

+ Đề tài tập trung chủ yếu vào nghiên cứu phương pháp đo nhịp tim và nồng độ Oxy trong máu không xâm lấn

+ Giới hạn ở mô hình máy đo thông qua các thông số nhịp tim, SpO2 dùng vi điều khiển tiêu thụ công suất thấp

+ Thực hiện hoàn thiện từng thành phần của hệ thống: bộ phận cảm biến, bộ phận hiển thị số liệu đo, bộ phận vi điều khiển

+ Tính toán thiết kế mô hình cho hệ thống

CƠ SỞ LÝ THUYẾT

Khái niệm độ bão hòa Oxy

- Chỉ số SpO2: Tên đầy đủ của chỉ số SpO2 là cụm từ Saturation of peripheral oxygen, dịch ra có nghĩa là độ bão hoà oxy trong máu ngoại vi Hiện tượng này có thể được giải thích như sau: Hemoglobin (viết tắt là Hb) là một thành phần quan trọng của máu Khi các phân tử Hb trong máu liên kết với các phân tử oxy sẽ tạo thành HbO2 giúp cho máu có thể đưa oxy đi nuôi dưỡng tất cả các cơ quan trong cơ thể Mỗi phân tử Hb có 4 nguyên tử sắt, chính các nguyên tử sắt này sẽ liên kết với 4 phân tử oxy và tạo ra liên kết HbO2 Hiện tượng bão hoà oxy trong máu tức là khi có đủ 4 phân tử oxy gắn vào Hb, và hiện tượng này được gọi tắt với cái tênSpO2.

Nguyên lý đo Spo2

- Máy sử dụng nguyên tắc đo quang phổ để đo độ bão hòa, ánh sáng đèn LED sẽ được phát ra và thu lại bởi cảm biến Ngón tay được đặt trên nguồn sáng và cảm biến, ánh sáng sẽ đi đến ngón tay và phát xạ lại cảm biến Tổng lượng ánh sáng bị hấp thụ sẽ tỷ lệ với nồng độ chất hấp thụ ánh sáng đó

- Hb có Oxy hấp thụ ánh sáng IR (inffrared) nhiều hơn ánh sáng đỏ, và Hb không có oxy hấp thụ ánh sáng đỏ nhiều hơn sánh sáng IR Máy đo SPO2 sẽ sử dụng đặc tính độ hấp thụ ánh sáng của Hb có và không có Oxy.

Nguyên lý đo nhịp tim

- Khi dùng ánh sáng chiếu lên vùng da và theo dõi lượng ánh sáng hấp thụ trở lại, cảm biến sẽ phân tích sự thay đổi của lưu lượng máu chảy qua Từ đó đo lường và phân tích kết quả đầu ra như nhịp tim, số nhịp tim trong một khoảng thời gian đều được ghi lại.

- Tín hiệu đầu ra là tín hiệu analog, dao động theo các mạch đập của tim.

GIỚI THIỆU VỀ LINH KIỆN

Cảm biến Max30100

- MAX30100 là cảm biến đa năng được sử dụng cho nhiều ứng dụng Là cảm biến theo dõi nhịp tim và cũng là máy đo oxy Cảm biến có hai diode phát sáng, một cảm biến quang (photodetector) và các linh kiện xử lý tín hiệu để phát hiện nhịp tim và đo xung oxy.

H nh 3-4 Mặt trước và sau module cảm biến Max30100 v2 Đặc điểm:

+ Nhỏ gọn, kích thước 13mm x 13 mm

+ Hoạt động năng lượng thấp, tăng tuổi thọ pin

+ Tích hợp lọc ánh sáng xung quanh

+ Khả năng xuất dữ liệu nhanh

+ Điện áp hoạt động: 1.8V – 3.3V DC

+ Giao tiếp: I2C, mức tín hiệu TTL

Node MCU ESP8266

- Kit RF thu phát Wifi ESP8266 NodeMCU Lua CP2102 là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập trình các ứng dụng trên ESP8266 trở nên rất đơn giản.

H nh 3-5 Kit Node MCU ESP8266

+ Bộ vi điều khiển: CPU RISC 32-bit Tensilica Xtensa LX106 + Điện áp hoạt động: 3.3V

+ Chân I / O kỹ thuật số (DIO): 16

+ Chân đầu vào tương tự (ADC): 1

- NodeMCU có thể được cấp nguồn bằng giắc cắm Micro USB và chân VIN (Chân nguồn cung cấp bên ngoài).

Màn hình OLED SSD1306

H nh 3-6 Màn h nh Oled SSD1306

+ Điện áp hoạt động: 3V – 5V DC

GHÉP NỐI THIẾT BỊ

Tổng quan giao thức I2C

- Ở I2C, ta có thể kết nối nhiều slave với một master duy nhất và có thể có nhiều master điều khiển một hoặc nhiều slave Điều này thực sự hữu ích khi muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD.

- I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

+ SDA (Serial Data) - đường truyền cho master và slave để gửi và nhận dữ liệu. + SCL (Serial Clock) - đường mang tín hiệu xung nhịp.

- I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA).

- Giao thức I2C là đồng bộ, do đó đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave Tín hiệu xung nhịp luôn được điều khiển bởi master.

Sơ đồ nối dây

H nh 4-9 Sơ đồ nối dây của mạch

- Ở Node MCU, chân D1 là SCL, D2 là SDA sẽ được nối trực tiếp với SCL và SDA của thiết bị theo mô hình giao thức I2C ở trên

- Chân đầu ra nguồn 3.3V sẽ được nối tương ứng với nguồn VIN của Max30100 vàVCC của màn OLED.

Mạch lắp

H nh 4-10 Mạch trên test board

LẬP TRÌNH HỆ THỐNG

Phần mềm lập trình cho vi điều khiển

- Ở đây ta sẽ sử dụng phần mềm Arduino IDE

+ Phần mềm lập trình mã nguồn mở miễn phí

+ Sử dụng ngôn ngữ lập trình C/C++ thân thiện với các lập trình viên + Hỗ trợ lập trình tốt cho bo mạch Arduino, Node MCU… + Có bộ Bộ sưu tập các ví dụ mẫu và thư viện hỗ trợ phong phú + Giao diện đơn giản, dễ sử dụng

+ Hỗ trợ đa nền tảng như Windows, MacOS, Linux

H nh 5-11 Giao diện phần mềm Arduino IDE

5.1.2 Cài đặt các thư viện cần thiết

- Cài đặt board Node MCU ESP8286: Tools => Board => Boards Manager => tìm kiếm và chọn cài thư viện

H nh 5-12 Thư viện của board Node MCU ESP8266

- Cài đặt thư viện cho cảm biến Max30100: Sketch => Include Library => Manage Libraries => tìm kiếm Max30100 và cài đặt

H nh 5-13 Thư viện module Max30100

- Tương tự như với Max30100, ta cài đặt tiếp thư viện cho màn OLED là adafruit_GFX và adafruit_SSD1306.

Lưu đồ thuật toán

H nh 5-14 Lưu đồ thuật toán khối hiển thị

Lập trình cho Node MCU ESP8266

- Việc lập trình ta sẽ sử dụng các thư viện có sẵn Chọn File => Example => Lựa chọn các ví dụ của từng thiết bị.

- Kiểm tra nguồn vào, kiểm tra giao thức I2C cho từng thiết bị.

+ Nếu lỗi kết nối giao thức I2C ở màn hình hoặc nguồn cấp không đủ thì kết quả sẽ trả về ở màn hình là: SSD1306 allocation failed.

+ Nếu lỗi kết nối giao thức I2C ở module cảm biến thì màn OLED sẽ hiển thị: FAILED.

- Lấy giữ liệu nhịp tim và chỉ số SpO2 và in kết quả ra màn hình OLED. + Để lấy nhịp tim trên màn serial ta sử dụng lệnh:

+ Để in ra màn oled: display.println(pox.getHeartRate());

+ Với SpO2, lấy kết quả trên màn serial sử dụng lệnh:

+ Để in ra màn oled: display.println(pox.getSpO2());

KẾT QUẢ - NHẬN XÉT

Kết quả

Khi chưa cho tay vào cảm biến:

H nh 6-16Màn h nh thiết bị khi kết nối nhưng chưa cho tay vào đo

H nh 6-17 Kết quả trên màn serial của Arduino IDE

Khi cho ngón tay đặt lên cảm biến:

H nh 6-18 Màn oled hiển thị các thông số cần đo

Nhận xét

- Do vẫn còn sử dụng test board nên mạch vẫn chưa ổn định, đôi lúc không nhận tín hiệu I2C từ module cảm biến

- Kết quả đo SpO2 khá chính xác.

- Kết quả đo nhịp tim vẫn còn chênh lệch do vấn đề về thuật toán tính toán nhịp tim.

Ngày đăng: 18/06/2024, 17:05

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

TÀI LIỆU LIÊN QUAN

w