Cảm biến MAX30102 là phiên bản tối ưu hóa hơn nữa của cảm biến MAX30100; được sử dụng như một máy đo nhịp tim và một máy đo oxy xung. Các tính năng này được kích hoạt bằng cách xây dựng cảm biến này bao gồm hai đèn LED, một bộ tách sóng quang, quang học được tối ưu hóa và các thành phần xử lý tín hiệu nhiễu thấp. Nó dễ dàng được sử dụng với các vi điều khiển như Arduino, ESP32, ESP8266 NodeMCU, v.v. để xây dựng một thiết bị bão hòa nhịp tim và oxy hiệu quả.
Dưới đây bạn có thể xem sơ đồ của Mô-đun MAX30102:
Như bạn có thể nhận thấy IC MAX30102 nằm ở trung tâm của mô-đun. Mô-đun bao gồm hai loại đèn LED khác nhau (Đỏ và IR) và bộ tách sóng quang. Độ bão hòa oxy trong máu và nhịp tim được tìm thấy bằng cách sử dụng hai tính năng chính này. Sau này chúng ta sẽ tìm hiểu cách cảm biến thực sự hoạt động để có được chỉ số BPM và SpO2.
Một tính năng quan trọng khác mà bạn có thể nhận thấy là mô-đun cảm biến MAX30102 bao gồm hai bộ điều chỉnh LDO. Điều này là do IC MAX30100 yêu cầu 1.8V và đèn LED yêu cầu 3.3V để hoạt động bình thường. Với việc bổ sung các bộ điều chỉnh điện áp, chúng ta có thể sử dụng một cách an toàn các bộ vi điều khiển sử dụng đầu vào / đầu ra mức 5 / 3.3 / 1.8V.
Hơn nữa, nếu bạn xem mô-đun từ phía sau, bạn có thể xem một jumper hàn để chọn mức logic điện áp. Theo mặc định, nó được đặt thành 3.3V nhưng bạn cũng có thể thay đổi nó thành 1.8V theo yêu cầu logic của vi điều khiển.
Mô-đun cảm biến MAX30102 có hoạt động công suất cực thấp, sử dụng 600μA (chế độ đo và 0,7μA (chế độ chờ). Do đó, một lựa chọn tuyệt vời để sử dụng trong các thiết bị đeo được như đồng hồ thông minh, v.v.
Nó có khả năng tốc độ lấy mẫu cao cùng với khả năng xuất dữ liệu nhanh.
Ngoài ra, các tính năng cảm biến cũng tích hợp tính năng khử ánh sáng xung quanh.
Một tính năng bổ sung mà mô-đun cảm biến MAX30102 sở hữu là bao gồm cảm biến nhiệt độ trên chip. Điều này cung cấp cho chúng tôi nhiệt độ khuôn (-40 ° C đến + 85 ° C) chính xác ± 1 ° C.
Để giao tiếp với vi điều khiển, cảm biến sử dụng chân I2C SCL và SDA.
Một tính năng khác của cảm biến này là nó sử dụng bộ đệm FIFO 32 mẫu để lưu trữ dữ liệu so với MAX30100 chỉ có 16 bộ đệm FIFO mẫu. Nói cách khác, nó tiếp tục làm giảm mức tiêu thụ điện năng vì nó đã giữ tối đa ba mươi hai giá trị nhịp tim và SPO2.
MAX30102 cũng có thể được sử dụng với các ngắt có thể được bật cho một số nguồn như sẵn sàng cấp nguồn, sẵn sàng dữ liệu mới, khử ánh sáng xung quanh, sẵn sàng nhiệt độ và FIFO gần đầy. Với việc tạo ra ngắt, vi điều khiển có thể thực hiện các sự kiện khác không xảy ra trong quá trình thực thi tuần tự chương trình trong khi cảm biến liên tục lấy các mẫu dữ liệu mới.
Bảng dưới đây cho thấy các thông số kỹ thuật của cảm biến này:
Tiêu thụ tối đa hiện tại |
6 mA |
Điện áp |
3.3-5V |
Tỷ lệ mẫu |
50Hz – 3200Hz |
Phạm vi nhiệt độ |
-40 °C đến + 85 °C |
Độ chính xác nhiệt độ |
±1°C |
Độ phân giải ADC |
18 bit |
Bước sóng cực đại IR LED |
880nm |
Bước sóng đỉnh LED đỏ |
660nm |
Trong phần này, chúng ta hãy thảo luận về cách máy đo nhịp tim MAX30102 và máy đo oxy xung thực sự hoạt động.
Để tìm nồng độ oxy trong máu (%), điều quan trọng đầu tiên cần biết là bên trong huyết sắc tố của chúng ta chịu trách nhiệm mang oxy. Khi một người cầm máy đo oxy xung, ánh sáng từ thiết bị sẽ đi qua máu trong ngón tay. Điều này được sử dụng để phát hiện lượng oxy bằng cách đo những thay đổi trong sự hấp thụ ánh sáng trong cả máu oxy và khử oxy.
Như chúng tôi đã đề cập trước đây, cảm biến MAX30102 bao gồm hai đèn LED (Đỏ và IR) và một điốt quang. Cả hai đèn LED này đều được sử dụng để đo SpO2. Hai đèn LED này phát ra ánh sáng ở các bước sóng khác nhau, ~ 660nm cho đèn led đỏ và ~ 880nm cho đèn LED hồng ngoại. Ở những bước sóng đặc biệt này, hemoglobin oxy hóa và khử oxy có đặc tính hấp thụ rất khác nhau.
Sơ đồ dưới đây được lấy từ bảng dữ liệu của MAX30100 IC. Bạn có thể nhận thấy sự khác biệt được thể hiện trong biểu đồ giữa HbO2 là hemoglobin oxy hóa và Hb là hemoglobin khử oxy ở hai bước sóng khác nhau.
Hemoglobin oxy hóa hấp thụ nhiều ánh sáng hồng ngoại hơn và phản xạ lại ánh sáng đỏ trong khi hemoglobin khử oxy hấp thụ nhiều ánh sáng đỏ hơn và phản xạ lại ánh sáng hồng ngoại. Ánh sáng phản xạ được đo bằng bộ tách sóng quang. Cảm biến MAX30102 đọc các mức hấp thụ khác nhau này để tìm nồng độ oxy trong máu (SpO2). Tỷ lệ IR và ánh sáng ĐỎ mà bộ tách sóng quang nhận được cho chúng ta nồng độ oxy trong máu.
Để đo nhịp tim, chúng tôi không yêu cầu đèn LED Đỏ, chỉ cần đèn LED hồng ngoại. Điều này là do huyết sắc tố oxy hấp thụ nhiều ánh sáng hồng ngoại hơn.
Nhịp tim là tỷ lệ thời gian giữa hai nhịp tim liên tiếp. Tương tự, khi máu người được lưu thông trong cơ thể con người thì máu này bị ép trong các mô mao mạch. Do đó, thể tích của các mô mao mạch được tăng lên nhưng thể tích này giảm sau mỗi nhịp tim. Sự thay đổi thể tích của các mô mao mạch này ảnh hưởng đến ánh sáng hồng ngoại của cảm biến, truyền ánh sáng sau mỗi nhịp tim.
Hoạt động của cảm biến này có thể được kiểm tra bằng cách đặt một ngón tay người ở phía trước cảm biến này. Khi một ngón tay được đặt trước cảm biến xung này thì sự phản xạ của ánh sáng hồng ngoại được thay đổi dựa trên thể tích thay đổi máu bên trong các mạch mao mạch. Điều này có nghĩa là trong nhịp tim, thể tích máu trong các mạch mao mạch sẽ cao và sau đó sẽ thấp sau mỗi nhịp tim. Vì vậy, bằng cách thay đổi âm lượng này, đèn LED được thay đổi. Sự thay đổi này của đèn LED đo nhịp tim của ngón tay. Hiện tượng này được gọi là "Photoplethysmogram."
Mô-đun MAX30102 bao gồm tám chân.
Ghim |
Mô tả:__________ |
---|---|
VIN |
Chân này được sử dụng để cung cấp năng lượng cho cảm biến. Cảm biến này được bật ở 3.3-5V. |
SCL |
Đây là chân đồng hồ nối tiếp I2C. |
SDA |
Đây là chân dữ liệu nối tiếp I2C. |
INT |
Đây là chân ngắt thấp hoạt động. Nó được kéo CAO bởi điện trở trên bo mạch nhưng khi xảy ra ngắt, nó sẽ xuống THẤP cho đến khi ngắt xóa. |
IRD |
IR LED Cathode và LED Driver điểm kết nối |
RD |
Cathode LED màu đỏ và điểm kết nối trình điều khiển LED |
GND · |
Điều này được sử dụng để cung cấp đất cho cảm biến này và nó được kết nối với chân nối đất nguồn. |
Trong phần này, chúng ta sẽ tìm hiểu cách giao diện mô-đun cảm biến MAX30102 với ESP32. Chúng tôi sẽ chỉ sử dụng bốn chân của mô-đun cảm biến để kết nối với vi điều khiển của chúng tôi.
Các kết nối giữa mô-đun cảm biến và ESP32 như sau:
Mô-đun MAX30102 |
ESP32 · |
---|---|
VCC |
3.3V |
SCL |
GPIO22 · |
SDA |
GPIO21 · |
GND · |
GND · |
Kết nối các chân I2C mặc định của ESP32 với các chân SCL và SDA của mô-đun. Ngoài ra, cảm biến được cung cấp bởi 3.3V từ ESP32 và cả hai mặt đất đều có điểm chung.
Chúng tôi sẽ sử dụng Arduino IDE để lập trình ESP32 của chúng tôi. Vì vậy, bạn nên có phiên bản Arduino IDE mới nhất. Ngoài ra, bạn cũng cần cài đặt plugin ESP32.
Mở Arduino IDE và nhấp vào Sketch > Library > Manage Libraries
Cửa sổ sau sẽ mở ra.
Nhập 'MAX3010x' vào thanh tìm kiếm và nhấn enter. Cài đặt phiên bản mới nhất của SparkFun MAX3010x Pulse and Proximity Sensor Library.
Sau khi cài đặt thư viện, hãy khởi động lại IDE của bạn.
Trong phần này, chúng tôi sẽ hướng dẫn bạn cách sử dụng một số bản phác thảo ví dụ có sẵn trong Arduino IDE cho thư viện Cảm biến xung và tiệm cận SparkFun MAX3010x mà chúng tôi vừa cài đặt. Chúng tôi sẽ xem xét các ví dụ khác nhau để tìm hiểu hiệu quả cách sử dụng cảm biến với ESP32 của chúng tôi.