מד רוויה בשבבים בודדים – אלקטרוניקה פתוחה

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp
Share on email
פרסומת
MAGNEZIX מגנזיקס


אנו יוצרים את המכשיר שהדיווחים הביאו לאופנה, אך זה במשך שנים שימש בבתי חולים וברפואת ספורט כדי לאמת את מידת החמצון של הדם.

מגיפת הקורונה שחווינו, ובמובן מסוים עדיין חווים, הניחה על שפתי כולם מונחים כגון דלקת ריאות ביניים, מאוורר ריאתי, טיפול נמרץ ומד הרוויה; דברים שהעיתונות הכניסה לביתנו על בסיס יומי וכי למרבה המזל תמיד היו זרים לאלה שאינם מקורבים או חולים מעורבים ישירות. זה גרם לנו להיות מודעים להיבטים שכנראה לא היינו רוצים לדעת, אך כמו כל אירוע בחיים, COVID-19 יכול להיות הזדמנות ללמוד ולהוקיר את מה שראינו ושמענו למרות עצמנו. בהתחשב באקטואליות העניין, חשבנו שנתייחס פנים לאחד המכשירים הקליניים באופנה, על התפקיד שהוא ממלא במעקב אחר מצבו הבריאותי של חולה שנתפס על ידי מה שנראה כאחד הסיבוכים העיקריים של COVID -19, כלומר כשל נשימתי: הכוונה היא למד הרוויה, שהוא מכשיר רפואי המסוגל לזהות את רמת החמצון של הדם ולכן את איכות חילופי הגזים ואת יעילות מערכת הנשימה; האלקטרוני מד הרוויה פועל על ידי ניתוח השקיפות של הכלים ההיקפיים של קצה האצבע, המושקעת על ידי קרן אור שההשתקפות או חציית האצבע שלה מזוהה. איכות הקרינה המגיעה אל דיודת גלאי האור נותנת אינדיקציה לתכולת החמצן, שכן ככל שהדם כהה יותר, כך הוא פחות מחומצן, ולהיפך, ככל שהדם בהיר יותר (אדום בוהק), כך עולה אחוז החמצן .

הרוויה מתבטאת באחוזים והמקסימום הוא כמובן 100%, בעוד שערכים מעל 92-93% טובים. כמובן שאחוז הניתן לאתר תלוי לא רק במצב הריאות, אלא גם באיכות האוויר הנשאף ובנוכחות גורמים העשויים להפחית את זמינות החמצן באוויר.

הפרויקט

אז בואו נראה מה זה, ונתח את המכשיר שאנו מציגים: כדי ליצור את מד הרוויה שאנו מציעים, שהוא כמובן אלקטרוני, השתמשנו במד חמצון בדם ובגלאי קצב לב עם השתקפות אור על לוח פריצה, המבוסס על מְשׁוּלָב MAX30100; ליתר דיוק אנו מדברים על חיישן ל"אוקסימטריה של הדופק "המסוגל למדוד בצורה לא פולשנית ומשולבת את כמות ההמוגלובין הקשור לחמצן בדם וגם את תדירות פעימות הלב באמצעות השונות של ברמת כלי הדם.

החיישן מעביר את הנתונים באמצעות I²C-Bus על הרוויה וגם על הדופק של הדם (מה שיאפשר ציור של אלקטרוקרדיוגרמה מסוג גרף, כמו גם להסיק את תדירות פעימות הלב) ולכן השתמשנו בלוח Arduino כדי לרכוש מידע זה, לעבד אותו ולהפוך אותו לפורמט המתאים לשלוט בתצוגת IPS קטנה שעליה נראה בראש א.ק.ג (אלקטרוקרדיוגרמה) גם אם לא שלם כמו זה שניתן להשיג מאלקטרוקרדיוגרף, ובתחתיתו קצב הדופק (BPM, או פעימות לדקה או, אם אתה מעדיף את המונחים האנגלו-סכסון, פעימות לדקה …) מצד שמאל ואחוז רוויית החמצן מימין.

זיהוי חמצן ודופק

חיישן ה- Maxim IC שכבר מותקן על לוח הפריצה הוא זה שאתה רואה בו איור 1.

שלא כמו רוב החיישנים להוספת הרוויה לקצה האצבע (שמקרינה קרן אור על העור ומזהה את ההארה מפני השטח של הציפורן) מתמר זה של מקסים IC פועל על ידי פולטת לראש השבב את האור המיוצר על ידי שני נוריות LED, אחת אדומה (אור אדום באורך גל של 660 ננומטר) והשני אינפרא אדום (פולט אינפרא אדום ב 880 ננומטר): על ידי הנחת האצבע עליו, חלק מהאור שחדר לתוכו משתקף וכמות אור מוחזר שנלכד על ידי פוטודיודה על אותו משטח שממנו נפלט האור המשולב מאפשר לקבוע על סמך שקיפות ושינויים בשקיפות לאורך זמן הן את מגמת זרימת הדם והן את אחוז החמצן בו (אחוז ההמוגלובין הרווי על ידי חַמצָן).

איור 1

באופן ספציפי, האות החשמלי המיוצר על ידי הפוטודיודה נשלח למגבר רעש נמוך ולשלב מרכך האות, ואז התוצאות נכנסות לחסימה של עיבוד אותות אנלוגיים המאפשרת מיצוי נתונים על אוקסימטריה וקצב לב. האחרון מתקבל על ידי ניתוח שינויים בדפוסי זרימת הדם באמצעות התרחבות והתכווצות של כלי פריפריה הנגרמים כתוצאה מפעימה ושחרור של חדרי הלב, הגורמים לעלייה וירידה בלחץ הדם.

לרכיב Maxim יש גם תכונה לזיהוי קרבה לחיסכון באנרגיה ולהפחתת תפוקת האור הנראה כאשר אצבע המשתמש אינה על החיישן.

איור 2 משרטט את פעולתו של MAX30100 התקן.

איור 2

האותות שמסומנים על ידי בלוק עיבוד האיתות הופכים אז למספריים ונשלחים באוטובוס I²C, שממנו הם נקראים על ידי ה- Arduino Uno שלנו, שקושחתו, באמצעות ספרייה ספציפית לחיישן (הנקראת MAX30100.h), יכול לחשב את קצב הלב ורוויית החמצן ב ערך אחוז.

הנתונים המעובדים מאפשרים הכנת מנות נתונים ופקודות בעזרתן אנו שולטים לאחר מכן בתצוגת OLED הקטנה שתהיה ממשק המשתמש שלנו, כלומר הלוח שעליו נראה את גרף מגמת לחץ הדם (כך שהשפעת הדופק של הלב) קצב הלב והרוויה שזוהה על ידי החיישן; כולם מעודכנים בזמן אמת.

ה MAX30100 מאפשר לך להגדיר באמצעות האוטובוס I²C ובמהלך האתחול את קצב הדגימה ולאחר מכן את מספר הדגימות ביחידת הזמן שהממיר האנלוגי/דיגיטלי המוצב במורד הזרם של מעבד האות האנלוגי חייב לבצע: תדר גבוה יותר גורם ניתוח והצגה מדויקים יותר אך מגדילים את צריכת החשמל, בעוד שהפחתת קצב המדגם (ולכן דיוק המדד) מביאה להפחתה בצריכת החשמל; זה ניכר ומייצג פשרה ביישומים שבהם אתה רוצה ליצור מד רוויה נייד.

המעגל השלם

במבט על תרשים החיווט אנו רואים כי לוח הפריצה שעליו מותקן חיישן מקסים מחובר ל- Arduino Uno על ידי שלושה חוטים בתוספת אספקת חשמל קרקעית ו- 5V (נלקחת בהתאמה מ- GND וסיכת 5V של Arduino Uno); שלושת הקווים הם SCL ו- SDA של האוטובוס I²C ו- INT, כלומר פלט ההפסקה הנגיף הפתוח הפעיל ברמה נמוכה שמאותת על זמינות הנתונים לקריאה. קווי SDA ו- SCL גם כן פתוחים לניקוז, ולכן רצוי לספק נגדי משיכה, אשר בלוח הפריצה הם 4.7 קאוהם אך מסתיימים על קו אספקת החשמל הפנימי.

שלושת הקווים כל אחד זקוקים לנגד משיכה של 4.7 קוהם ל -5 וולט חיובי, שכן לוח הפריצה פועל ב -5 וולט, אם כי MAX30100 פועל בין 1.8 ל 3.3V; הסיבה לכך היא שעל הלוח הקטן ישנם רגולטורים לרכיב.

מסיבה זו, מכיוון שה- Arduino Uno מופעל פנימית על 5 וולט וה- I/O פועלים במתח זה (אך עדיין מסוגל לקרוא רמות לוגיקה 1 נמוכות יותר), יהיה נוח להסיר את נגדי המשיכה הפנימיים ולהחיל את חיצוניים המסתיימים בקו Arduino Uno 5V, כפי שמוצג בתרשים החיווט המוצע בדפים אלה.

כדי להציג את הפרמטרים על קצב הלב, הרוויה ועקבות הדופק, השתמשנו בתצוגה מיניאטורית מסוג TFT/IPS 1.44 "באלכסון 128 × 128 פיקסלים (השטח הגרפי רוחב 25.5 x 26.5 מ"מ, כך מרובע כמעט) עם ממשק טורי לסוג SPI אוֹטוֹבּוּס.

תצוגה זו מקבלת את הנתונים שיוצגו על ידי סקיצת Arduino Uno מהנתונים שהתקבלו מה MAX30100 חיישן ומציג אותם.

למטרה זו, הקושחה מאתחלת את I/Os Arduino Uno לעבודה כממשק SPI בן ארבע שורות ובנוסף איפוס.

הצג, בטכנולוגיית IPS LCD בצבע מלא, מספק ניגודיות מצוינת, עומק צבע מעולה וזווית צפייה רחבה של ± 80 °.

אלקטרוניקה הבקרה שלה מבוססת על בקר ST7735 שנבדק היטב, מצויד בממשק נתונים SPI; ניהול הקושחה פשוט יותר על ידי ספריית Adafruit_ST7735.h.

אספקת החשמל של המודול היא בין 3 ל -5.5 וולט והחיבורים מבוצעים באמצעות 8 רפידות בצד התחתון, אותן ניתן להלחם לרצועת סיכה משותפת כדי להקל על החיבורים, מכיוון שהן נמצאות בגובה 2.54 מ"מ.

איור 3

המשמעות של רפידות החיבור לתצוגה היא כדלקמן:

GND = בסיס משותף;

VCC = ספק כוח חיובי;

SCL = שעון SPI;

SDA = שורת נתונים SPI;

RES = איפוס;

DC = בחירת נתונים/פקודות;

CS = אות בחירת שבבים, פעיל בלוגיקה 0;

BLK = בקרת תאורה אחורית.

השורה האחרונה הזו מאפשרת לך להדליק או לכבות את התאורה האחורית וניתן להשאיר אותה פתוחה אם אינך רוצה את התאורה האחורית, ואילו כדי להדליק את התאורה האחורית יש להגדיר אותה לאפס לוגי.

התצוגה שלנו משווקת על ידי Open Electronics תחת מספר חלק 3085-144ST7735.

הקושחה

ובכן, עכשיו בואו נבלה כמה שורות על הסקיצה לטעון ב- Arduino Uno כדי להפעיל את מד הרוויה שלנו; בשביל זה לקחנו השראה מרעיון של Xtronical (www.xtronical.com/ColourHeartMonitor) שמאפשר, בנוסף למה שמוסבר בדפים אלה, גם להניע זמזם פיצו עם אלקטרוניקה כדי לגרום לו לשמיע צפצוף בכל פעם פעימות הלב מזוהות, כאילו ביצעת בדיקת אלקטרוקרדיוגרמה. הצפצוף יכול להיות שימושי למשל אם נשתמש במכשיר כצג לפעילויות ספורט.

תוכל למצוא את הסקיצה המלאה ב רישום 1; מתוכו אנו מציינים את הכללת ספריות MAX30100.h לניהול חיישן לוח הפריצה, ה- MAX30100_PulseOximeter.h לקביעת טווח החיישן, Adafruit_GFX.h המהווה ספרייה גרפית לציור דיאגרמת הדופק בתצוגה ו ה- Adafruit_ST7735.h לתקשורת עם התצוגה עצמה דרך הממשק לבקר ST7735.

רישום 1

#include “MAX30100.h” // Libraries required for the
#include...



קישור לכתבת המקור – 2021-08-23 11:47:46

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on telegram
Telegram
Share on whatsapp
WhatsApp
Share on email
Email
פרסומת
X-ray_Promo1

עוד מתחומי האתר