معرفی و مقایسه

راه اندازی ماژول پالس اکسیمتر و ضربان قلب با آردوینو

در این مقاله با استفاده از ماژول پالس اکسیمتر و ضربان قلب MAX30102 و آردوینو، یک پروژه اندازه گیری ضربان قلب (BPM) و غلظت اکسیژن خون (SP02) را کار خواهیم کرد. پس اگر علاقمند به آشنایی با روش راه اندازی و کار این پروژه جذاب و کاربردی هستید تا انتهای این مقاله همراه ما باشید.

ماژول پالس اکسیمتر و ضربان قلب

سنسور پالس اکسیمتر MAX30102:

MAX30102 یک ماژول بیوسنسور پالس اکسیمتری و مانیتور ضربان قلب یکپارچه براساس PPG(PhotoPlethysmoGraphy) است. این سنسور را می توان با هر میکروکنترلر مانند Arduino ، ESP8266 ، ESP32 STM32 یا Raspberry Pi Pico با استفاده از پروتکل ارتباطی I2C ادغام کرد. BPM مخفف «ضربان در دقیقه» است که معمولاً برای یک فرد معمولی از 65 تا 75 در هنگام استراحت متغیر است. ورزشکاران ممکن است نرخ BPM کمتر از این محدوده را داشته باشند. SpO2 نشان دهنده سطح اشباع اکسیژن است که برای یک فرد عادی بالای 95 درصد است.این دستگاه نه تنها ضربان قلب، بلکه می تواند غلظت اکسیژن خون را نیز اندازه گیری کند. این سنسوری است که توسط آنالوگ دیوایس طراحی شده است و در پیکربندی های مختلف توسط سازندگان مختلف وجود دارد.

ماژول پالس اکسیمتر و ضربان قلب max30102 1 1

از کاربردهای این سنسور می‌توان به موارد ذیل اشاره کرد:

اندازه‌گیری اکسیژن خون (SpO2):
MAX30102 قادر به اندازه‌گیری اشباع اکسیژن خون با دقت بالا است. این ویژگی برای مراقبت از سلامتی و تشخیص مشکلات تنفسی مفید است.
اندازه‌گیری ضربان قلب:
این سنسور می‌تواند ضربان قلب را به طور دقیق و پیوسته اندازه‌گیری کند که کاربردهای متعددی مانند سنجش سلامت قلب و تناسب اندام دارد.

مصرف توان پایین و ابعاد کوچک:
MAX30102 مصرف توان بسیار پایین دارد که آن را برای استفاده در دستگاه‌های پوشیدنی و قابل حمل مناسب می‌کند.
همچنین در بسته‌بندی‌های کوچک 5.6×2.8×1.2 میلی‌متری ارائه می‌شود. در واقع این سنسور MAX30102 به دلیل قابلیت‌های متنوع، کاربردهای گسترده‌ای از جمله، تجهیزات پزشکی و پروژه‌های sIOT دارد.

وسایل مورد نیاز برای راه اندازی سنسور پالس اکسیمتر MAX30102:

اما بیایید نگاهی به طراحی ماژول سنسور پالس اکسی متر MAX30102 بیندازیم. اینجا بلوک دیاگرام این ماژول را میبینیم:

MAX30102 Block Diagram

سنسور MAX30102 به طور کامل از طریق رجیسترهای نرم افزاری قابل تنظیم است و داده های خروجی دیجیتال را می‌توان در یک FIFO با عمق 32 در داخل IC ذخیره کرد. FIFO به MAX30102 اجازه می دهد تا به یک میکروکنترلر یا پردازنده در یک گذرگاه مشترک متصل شود، جایی که داده ها به طور مداوم از رجیسترهای MAX30102 خوانده نمیشوند و دارای آدرس I2C ثابت 0xAE (برای عملیات نوشتن) و 0xAF (برای عملیات خواندن)است.

MAX30102 Datasheet

ساب سیستم SpO2 (اندازه گیری اشباع اکسیژن خون)
ساب سیستم SpO2 MAX30102 شامل حذف نور محیط یا کاهش نور محیطی (ALC) که یک تکنیک استفاده شده در انواع دستگاه های الکترونیکی مانند نمایشگرها، دوربین ها و سنسورها است تا اثرات نور محیطی ناخواسته را کاهش دهد. هدف اصلی ALC بهبود عملکرد و دقت این دستگاه ها با کاهش تداخل ناشی از نور محیطی است. ALC دارای یک مدار Track/Hold داخلی برای حذف نور محیط و افزایش محدوده دینامیکی موثر است.همچنین ALC می تواند تا 200µA جریان محیط را حذف کند.

ADC داخلی یک مبدل سیگما-دلتا با بیش‌نمونه‌برداری مداوم با وضوح 18 بیت است. نرخ نمونه برداری ADC ؛ 10.24 مگاهرتز است. نرخ داده خروجی ADC را می توان از 50sps (نمونه در ثانیه) تا 3200sps برنامه ریزی کرد.

سنسور دما
MAX30102 دارای سنسور دمای روی تراشه برای کالیبره کردن وابستگی دمایی ساب سیستم SpO2 است. سنسور دما دارای وضوح ذاتی 0.0625 درجه سانتیگراد است. داده‌های خروجی دستگاه نسبتاً به طول موج LED IR حساس نیستند، جایی که طول موج LED قرمز برای تفسیر صحیح داده‌ها حیاتی است. یک الگوریتم SpO2 که با سیگنال خروجی MAX30102 استفاده می‌شود، می‌تواند خطای SpO2 مرتبط با تغییرات دمای محیط را جبران کند.

درایور LED
MAX30102 درایورهای LED قرمز و IR را برای تعدیل پالس های LED برای اندازه گیری SpO2 و HR ادغام می کند. جریان LED را می توان از 0 تا 50 میلی آمپر با ولتاژ تغذیه مناسب برنامه ریزی کرد. عرض پالس LED را می توان از 69 میکرو ثانیه تا 411 میکرو ثانیه برنامه ریزی کرد تا به الگوریتم اجازه دهد تا دقت SpO2 و HR و مصرف انرژی را بر اساس موارد استفاده بهینه کند.

آی سی MAX30102 با یک منبع تغذیه 1.8 ولت کار می کند، اما برای LED های داخلی به یک منبع تغذیه 3.3 ولت جداگانه نیاز است. بنابراین ماژول دارای رگولاتورهای 3.3 ولت و 1.8 ولت است.

سنسور پالس اکسی متر MAX30102 چگونه کار می کند؟

MAX30102 با تابش هر دو نور به انگشت یا اساساً در هر جایی که پوست خیلی ضخیم نیست،( هر دو نور می توانند به راحتی به بافت نفوذ کنند) و با استفاده از ردیاب نوری، میزان نور منعکس شده را اندازه گیری می کند. این روش تشخیص پالس از طریق نور Photoplethysmogram نامیده می شود.

عملکرد MAX30102 را می توان به دو بخش تقسیم کرد: اندازه گیری ضربان قلب و پالس اکسیمتری (اندازه گیری سطح اکسیژن خون).

اندازه گیری ضربان قلب
هموگلوبین اکسیژن دار (HbO2) در خون شریانی دارای ویژگی جذب نور IR است. هر چه خون قرمزتر باشد (هموگلوبین بالاتر)، نور IR بیشتری جذب می شود.

Pulse Oximeter Sensor Working 450x359 1

همانطور که خون با هر ضربان قلب از طریق انگشت پمپ می شود، مقدار نور منعکس شده تغییر می کند و یک شکل موج متغیر در خروجی آشکارساز نور ایجاد می کند. همانطور که به تابش نور و خواندن ردیاب نوری ادامه می دهید، به سرعت شروع به خواندن نبض ضربان قلب (HR) می کنید.

پالس اکسیمتری
مبتنی بر میزان جذب نور قرمز و مادون قرمز بسته به میزان اکسیژن خون شما متفاوت باشد، است.

Pulse Oximetery Graph

اجازه دهید حسگر پالس اکسی‌متر MAX30102 را با آردوینو راه اندازی کنیم:

85270

پین VIN و پین GND MAX30102 را به پایه 3.3 ولت و GND آردوینو وصل کنید. به طور مشابه، پایه SCL و SDA MAX30102 را به ترتیب به پایه A5 و A4 در آردوینو Uno وصل کنید. طبق نقشه عکس بالا اتصالات را انجام دهید.

photo 1 2024 06 24 12 03 59

اندازه گیری ضربان قلب، اکسیژن و دمای خون با MAX30102 و آردوینو
در قسمت کدنویسی این پروژه می‌توانیم از کتابخانه MAX30102 Arduino برای اندازه‌گیری مقدار ضربان قلب بر حسب BPM، اکسیژن خون برحسب درصد و دما بر حسب درجه سانتی‌گراد استفاده کنیم. قبل از آن باید کتابخانه MAX30102 را نصب کنیم.

نصب کتابخانه آردوینو MAX30102
چندین کتابخانه برای سنسور MAX30102 برای اندازه‌گیری ضربان قلب، اکسیژن خون و دما وجود دارد. یکی از محبوبترین همه این کتابخانه ها، کتابخانه Sparkfun Electronics است.

برای نصب کتابخانه، MAX3010x را جستجو کنید. کتابخانه SparkFun MAX3010x Pulse and Proximity Sensor را پیدا کرده و بر روی install کلیک کنید.

MAX30102 Library 517x360 1

اندازه گیری ضربان قلب (BPM) با MAX30102 و آردوینو
این کد یک سنسور MAX30102 را در آردوینو راه اندازی می کند تا ضربان قلب را بر حسب ضربان در دقیقه اندازه گیری کند، داده های خوانده شده را برای دقت میانگین می گیرد، و همراه با مقدار سنسور مادون قرمز به نمایشگر سریال ارسال می کند، که نشان می دهد آیا انگشت روی سنسور قرار گرفته است یا خیر.

از منوی Tools، Arduino UNO Board و COM Port را انتخاب کنید. برای آپلود کد روی دکمه آپلود کلیک کنید. پس از بارگذاری کد، سنسور پالس اکسی متر MAX30102 آماده آزمایش است.

photo 3 2024 06 24 12 03 59

برای جریان خون ثابت و داده های قابل اعتماد، حسگر فشار را ثابت نگه دارید. اعمال فشار بهینه بر روی سنسور پالس – باید نه خیلی محکم باشد و نه خیلی سبک.

Heart Rate Display 640x297 1

اندازه گیری اکسیژن خون (SpO2) با MAX30102 و آردوینو
این کد با استفاده از حسگر MAX30105 ضربان قلب و سطح اکسیژن را از انگشت می خواند، سپس این اطلاعات را به یک صفحه نمایش می فرستد. به صورت پویا بافر داده را بر اساس مدل آردوینو تنظیم می کند تا محدودیت های حافظه را در نظر بگیرد.

پس از آپلود کد، انگشت خود را روی سنسور پالس اکسی متر MAX30102 قرار دهید. مانیتور سریال میزان اکسیژن خون را به صورت درصد نمایش می دهد.

Blood Oxygen Readings 640x292 1

اندازه گیری دما با MAX30102 و آردوینو
کد زیر یک سنسور MAX30102 را برای اندازه‌گیری دما مقداردهی اولیه می‌کند، سپس به طور مداوم دما را بر حسب سلسیوس و فارنهایت بر روی نمایشگر سریال خوانده و نمایش می‌دهد.

پس از آپلود کد، انگشت خود را روی سنسور پالس اکسی متر MAX30102 قرار دهید. مانیتور سریال میزان اکسیژن خون را به صورت درصد نمایش می دهد.

Temperature88 Display 640x295 1

پس از آپلود کد، مانیتور سریال را باز کنید. مانیتور سریال مقدار دما را در مقیاس سلسیوس و فارنهایت نشان می دهد.

شما می‌توانید این ماژول را با آردوینو نانو هم راه اندازی کرده و یک نمایشگر oled نیز برای مشاهده داده های سنسور روی نمایشگر اضافه کنید.

نوشته های مشابه

2 دیدگاه

  1. سلام وقت بخیر
    یه سوال داشتم
    میشه هر سه تا کارو که دما ،اکسیژن و ضربان هست رو باهم دیگه با یک سنسور داشته باشیم ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا