Kết luận chương 2

Một phần của tài liệu Nghiên cứu thiết kế hệ thống theo dõi nhịp tim bằng arduino uno và processing (Trang 54)

Chương 2 đưa ra cơ sở thu nhận tín hiệu điện tim gồm các nội dung - Giới thiệu về cấu trúc và hoạt động của trái tim con người. - Quá trình điện sinh lý tim.

- Phân tích cụ thể phương pháp PPG (Đồ thị đo thể tích bằng quang học) giúp người đọc có thể hiểu sâu hơn về nguyên lí của phép đo nhịp tim.

- Phân tích sự biến thiên của nhịp trong miền thời gian và miền tần số giúp người đọc có cái nhìn tổng quan về hệ thống thần kinh tim.

Chương 3. PHÂN TÍCH CƠ SỞ THIẾT KẾ MODULE ĐO VÀ GIÁM SÁT NHỊP TIM

3.1. Yêu cầu đề tài

Thiết kế một module xác định nhịp tim bằng đầu đo cảm biến gắn trên đầu ngón tay, đồng thời hiển thị các thông số đo được về nhịp tim như Beats Per Minute (BPM), Interbeat Intervals (IBI), Heart Rate Frequency (Hz), Power Spectral Density (PSD), LF vs HF (Low Frequency vs High Frequency), Phổ tần số, Phổ BPM, Phổ IBI, Beats, Hiệu năng HF, LF và dạng sóng HR lên một giao diện trực quan được xây dựng trên phần mềm Processing của máy tính.

3.2. Sơ đồ khối hệ thống

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

Chức năng các khối:

Khối cảm biến: Khối cảm biến có nhiệm vụ đo nhịp tim từ cơ thể con người

qua ngón tay dưới dạng xung sau đó đưa dữ liệu vào khối điều khiển.

Khối điều khiển: Khối điều khiển là modul Arduino Uno R3 có nhiệm vụ thu

nhận dữ liệu cảm biến nhịp tim từ khối cảm biến sau đó xuất dữ liệu ra khối hiển thị.

Khối hiển thị: Khối hiển thị các thông số về nhịp tim đo được lên màn hình

máy tính được xây dựng bằng chương trình phần mềm trên Processing.

Khối nguồn: Khối nguồn có nhiệm vụ cung cấp nguồn cho các khối trên.

Nguyên lý hoạt động: Cảm biến nhịp tim Pulse được gắn ở đầu ngón tay. IR

LED được sử dụng để chiếu sáng vào ngón tay của người sử dụng bằng ánh sáng hồng ngoại. Khi đó cường độ ánh sáng hồng ngoại phản xạ lại Photo Transistor sẽ

thay đổi theo huyết áp trong các đầu ngón tay. Mỗi nhịp tim, máu sẽ đẩy ra các mao mạch ở ngón tay làm thay đổi cường độ phản xạ hồng ngoại, khiến điện áp đầu ra phía trên Photo Transistor thay đổi. Điện áp thay đổi sẽ được đưa qua một mạch lọc thông cao để lọc thành phần một chiều vào mạch với tần số cắt cao:

) ( 6 , 0 2 1 1 1 Hz C R fcH    (35)

Sau khi được lọc thông cao, tín hiệu (theo nhịp tim) sẽ được khuếch đại lên với hệ số khuếch đại tối đa 1 34

2 1    R Rv

K lần (C), sau đó được lọc thông thấp với

mục đích loại bỏ tạp nhiễu ở tần số cao (do ánh sáng, rung…) với tần số cắt thấp:

) ( 15 2 1 2 5 Hz C R fcL    (36)

Tín hiệu cuối cùng được đưa vào so sánh với điện áp chuẩn qua mạch so sánh để chuyển đổi từ dạng điện áp tương tự sang dạng điện áp số để đưa về xử lý trong khối điều khiển. Tín hiệu cuối cùng tại đầu ra là tín hiệu mức 0 và 1, tương ứng với khi có nhịp đập thì đầu ra mức 1. Xung nhịp tim được đưa về tạo ngắt trên Arduino Uno R3, mỗi khi có ngắt, Arduino sẽ đếm thời gian giữa hai lần xung nhịp đưa về để tính số nhịp tim mỗi phút.

Hình 3.2. Sơ đồ mạch cảm biến dựa trên cảm biến xung Pulse.

Để xác định số lần tim đập trong một phút ta đo chu kỳ của tín hiệu mạch đập. Việc đo chu kỳ của tín hiệu được thực hiện hoàn toàn bằng phần mềm. Để nâng cao độ chính xác của phép đo, phần mềm thực hiện đo chu kỳ trung bình bằng cách tính khoảng thời gian giữa hai xung của một số cặp xung rồi chia trung bình. Ở vi điều khiển cũng có thể coi là có một bộ lọc bằng phần mềm. Bằng cách phân tích tín hiệu nhịp tim ta thấy rằng nhịp tim thông thường không nhỏ hơn 50 và không quá 200

nhịp một phút. Trên cơ sở đó, bằng phần mềm ta có thể loại ngay những chu kỳ đo được gây ra bởi nhiễu. Việc kết hợp lọc cả bằng phần cứng lẫn phần mềm làm tăng thêm độ chính xác của phép đo. Quá trình trên được thực hiện thông qua các ngắt. Chân ngắt của vi điều khiển luôn sẵn sàng chờ tín hiệu nhịp tim tác dụng. Khi có tín hiệu tác dụng vào chân này (cụ thể là khi có sườn lên của xung), bộ định thời sẽ được khởi phát. Xung nhịp tác dụng tới bộ định thời là xung nhịp nội với chu kỳ là 128µs. Tiếp đó vi điều khiển sẽ lại tiếp tục chờ ngắt tiếp theo. Khi có ngắt tiếp theo tác dụng tức là có tín hiệu nhịp tim tiếp theo, vi điều khiển sẽ lập tức dừng bộ định thời, căn cứ vào số đếm ban đầu (bằng 0) và số đếm hiện tại, cùng với chu kỳ của xung nhịp tác dụng (128 µs) có thể dễ dàng tính ra chu kỳ của tín hiệu nhịp tim. Chu kỳ này sẽ được kiểm tra, nếu nằm trong khoảng cho phép thì giá trị này sẽ được lưu lại, nếu không nó sẽ bị huỷ.

Như đã trình bày ở trên khi tim co bóp nó sẽ đẩy máu đi khắp cơ thể, khi tim giãn ra dồn máu vào trong nó, lúc này áp suất của máu trong động mạch giảm đi và khi tim co lại áp suất trong động mạch tăng lên. Chính sự thăng giáng áp suất máu này sẽ làm thay đổi mức độ hấp thụ ánh sáng của động mạch, do đó khi một tia sáng được truyền qua động mạch thì cường độ ánh sáng sau khi truyền qua động mạch sẽ biến thiên đồng bộ với nhịp tim.

Khi tim giãn ra, áp suất máu nhỏ nên hấp thụ ít ánh sáng, ánh sáng sau khi truyền qua động mạch có cường độ lớn, ngược lại khi tim co vào, áp suất máu lớn, ánh sáng sau khi truyền qua được động mạch sẽ có cường độ nhỏ hơn.

Bố trí một Photodiode để nhận ánh sáng sau khi truyền qua động mạch thì ta có thể nhận được tín hiệu điện biến thiên đồng bộ với nhịp đập của tim. Với cách giải thích như trên, để tăng độ chính xác của tín hiệu thì nguồn sáng phải phát ra ánh sáng với cường độ không đổi theo thời gian.

Sau khi đã có ý tưởng về cảm biến quang học như trên thì có hai câu hỏi được đặt ra là: Phải đặt nguồn sáng và Photodiode ở đâu để có thể thu được kết quả tốt nhất? Vì động mạch bên trong cơ thể nên ánh sáng không chỉ truyền qua động mạch mà còn truyền qua nhiều thành phần khác của cơ thể, vậy có ảnh hưởng xấu gì đến tín hiệu nhận được?

Về nguyên tắc có thể đặt nguồn sáng và Photodiode ở bất cứ nơi nào trên cở thể có chứa động mạch. Nhiễu của ánh sáng môi trường vào Photodiode có thể coi là không đổi nên phép đo sẽ càng tin cậy nếu như tín hiệu ánh sáng Photodiode nhận được là lớn nhất.

Nếu đặt cảm biến ở khuỷu tay hay cổ tay thì sẽ có lợi là áp suất máu trong động mạch biến động rất lớn, nhưng do ánh sáng phải truyền qua một bề dày lớn của cơ thể nên bị hấp thụ quá nhiều bởi mô và xương, mà độ nhạy của Photodiode có giới hạn do đó để thu được kết quả mong muốn, cường độ nguồn sáng phải khá lớn, như vậy sẽ hao phí năng lượng và rất khó ổn định được cường độ nguồn sáng.

Vị trí đặt nguồn sáng và Photodide hợp lý nhất: đó là đầu các ngón tay hoặc dái tai. Tuy động mạch ở đây không lớn nhưng quãng đường ánh sáng phải truyền qua lại không nhiều nên chỉ cần dùng một LED để làm nguồn sáng, kết quả mức độ biến thiên cường độ sáng nhận được là khá lớn so với toàn bộ ánh sáng nhận được, tỷ số giữa biên độ tín hiệu với nền một chiều đủ lớn để phần xử lý tín hiệu hoạt động đưa ra kết quả được chính xác nhất.

Khi ánh sáng truyền qua đầu ngón tay, nó chỉ bị hấp thụ một phần nhỏ bởi động mạch, còn phần lớn bị hấp thụ bởi mô và xương nhưng một điều may mắn là hệ số hấp thụ của mô và xương đối với ánh sáng là hầu như không đổi theo thời gian, nên cường độ ánh sáng Photodiode nhận được sẽ biến thiên theo nhịp tim trên nền một chiều, do đó hoàn toàn có thể tin tưởng tính đồng bộ của tín hiệu nhận được với nhịp tim.

Hình 3.4. Đồ thị sự hấp thụ ánh sáng sau khi truyền qua động mạch

Cường độ ánh sáng Photodiode nhận được có dạng như hình. Tín hiệu này biến thiên theo thời gian đồng bộ với nhịp tim. Có thể chia mỗi tín hiệu thành 2 phần :

- Thành phần 1 chiều DC : Idc

- Thành phần xoay chiều, biến đổi đồng bộ với nhịp tim AC : Iac

Ánh sáng truyền qua ngón tay chịu sự hấp thụ của : A – Máu trong động mạch.

V – Máu trong tĩnh mạch. T – Xương, da, mô…

Do sự hấp thụ của máu trong tĩnh mạch, xương, da và mô là không đổi, chỉ có sự hấp thụ của máu trong động mạch là thay đổi nên ta có thể tách bỏ phần tín hiệu không đổi, giữ lại thành phần biến đổi, thành phần này mới mang thông tin.

Hình 3.5. Sự thay đổi cường độ sáng khi truyền qua ngón tay. a. Đối với tia sáng đỏ

b. Đối với tia hồng ngoại

với 2 tia đỏ và hồng ngoại là khác nhau. Rõ ràng có thể cho rằng sự thay đổi mức độ hấp thụ ánh sáng khi tim đập chỉ bởi dòng máu chuyển động trong động mạch. Bởi vì khi tim co bóp, máu được dồn nén mạnh với tần số đúng bằng tần số của tim, do tác động này của tim nên mức độ tập trung của HbO2 và Hb cũng thay đổi theo, do đó độ hấp thụ ánh sáng của máu thay đổi và cường độ ánh sáng sau khi truyền qua cũng thay đổi. Mức độ hấp thụ của tĩnh mạch, mô và xương hầu như không thay đổi theo nhịp tim.

Ta có thể xác định nồng độ bão hòa của Oxi trong máu bằng cách loại bỏ thành phần 1 chiều của tín hiệu từ toàn bộ tín hiệu nhận được. Kết quả chỉ còn lại tín hiệu xoay chiều biến thiên đồng bộ theo nhịp tim (Cardiac – Synchronous Pulsatile).

3.3. Lựa chọn linh kiện

3.3.1. Cảm biến nhịp tim Pulse SenSor

Cảm biến gồm 1 LED phát (AM2520ZGC09) là bóng hồng ngoại (bước sóng 609nm) và cảm biến APDS-9008 rất nhạy với sự biến đổi ánh sáng môi trường (APDS9008 dùng trong điện thoại để thay đổi độ sáng màn hình).

Cảm biến Pulse gồm 1 cable 3 dây tín hiệu giúp nó dễ dàng ghép nối với các bộ kit hoặc vi điều khiển và có 3 chốt kết nối ở 3 cạnh cho phép giữ cố định cảm biến. Dây đỏ là dây nguồn: 3,3 – 5 V; Dây đen là dây nối đất; Dây trắng (tím) là dây tín hiệu thu được từ cảm biến gửi về vi điều khiển.

Hình 3.6. Cảm biến nhịp tim (xung) Pulse Sensor

Khi áp chặt mặt cảm biến vào da, nơi có mạch máu chảy thường là áp vào tai, đầu ngón tay,... để dễ kẹp) đầu phát sẽ phát ra ánh sáng đi vào trong da. Dòng ánh sáng đó sẽ bị khuếch tán ra xung quanh, và một phần đi tới quang trở đặt gần đầu

phát. Do bị ép vào nên lượng máu ở phần cảm biến sẽ thay đổi, cụ thể khi không có áp lực do tim đập, máu sẽ dồn ra xung quanh, lượng ánh sáng từ đầu phát sẽ về đầu thu nhiều hơn so với khi tim đập, máu chảy qua nơi có cảm biến áp vào.

Sự thay đổi là rất nhỏ, nên phần cảm nhận ánh sáng (quang trở) thường có mạch IC để khuếch đại tín hiệu thay đổi này, đưa về các mạch lọc, đếm hoặc các mạch ADC để tính toán ra nhịp tim. Tín hiệu đầu ra là tín hiệu analog, dao động theo các mạch đập của tim [7].

Hình 3.7. Sơ đồ nguyên lý của cảm biến nhịp tim

3.3.2. Arduino Uno R3

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. 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.

Được giới thiệu vào năm 2005, những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những nhiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho

những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++.

Các board Arduino có thể được đặt hàng ở dạng được lắp sẵn hoặc dưới dạng các kit tự làm. Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở). Người ta ước tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản xuất thương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay người dùng.

Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy. Vào thời điểm đó các sinh viên sử dụng một "BASIC Stamp" (con tem Cơ Bản) có giá khoảng $100, xem như giá dành cho sinh viên. Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea. Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt. Bản thân quán này có được lấy tên là Arduino, Bá tước của Ivrea, và là vua của Italy từ năm 1002 đến 1014.

Lý thuyết phần cứng được đóng góp bởi một sinh viên người Colombia tên là Hernando Barragan. Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở. Trường này cuối cùng bị đóng cửa, vì vậy các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã phổ biến ý tưởng này.

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8 bit AVR là ATmega8, ATmega168, ATmega328. Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328. Tuy nhiên nếu yêu cầu phần cứng không cao, có thể sử dụng các loại vi điều khiển khác có chức năng tương đương hơn như ATmega8 (bộ nhớ flash 8KB) hoặc ATmega168 (bộ nhớ flash 16KB).

Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu

cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino UNO [5][8].

Hình 3.8. Board mạch phát triển Arduino Uno R3

Hiện dòng mạch Arduino UNO này đã phát triển tới thế hệ thứ 3 (Arduino UNO R3). Một vài thông số của Arduino UNO R3:

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM 2 KB (ATmega328)

Các chân năng lượng:

GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi dùng các thiết bị sử dụng nguồn điện riêng biệt thì những chân này phải được nối với nhau.

Một phần của tài liệu Nghiên cứu thiết kế hệ thống theo dõi nhịp tim bằng arduino uno và processing (Trang 54)

Tải bản đầy đủ (PDF)

(100 trang)