Home » فروشگاه » ماژول ECG دو کانال GebraBit ADS1292R
محصول اوریجینال جبرابیت
تست شده
کیفیت مهندسی
ECG

ماژول ECG دو کانال GebraBit ADS1292R

امتیاز 5.00 از 5 امتیاز 1 مشتری
(دیدگاه کاربر 2)

28.320.000 ریال

دسترسی: موجود در انبار

نوع ماژول

ماژول اندازه‌گیری بیوپتانسیل

ولتاژ تغذیه

1V8, 3V3, 5V

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

تعداد کانال‌ها

2

فرکانس کریستال

2.048 Mhz

نوع خروجی

SPI, Digital

رزولوشن ADC

24 Bit

سرعت انتقال داده

125SPS to 8kSPS

ابعاد

Gebra medium (36.29mm x 46.18mm)

دمای کاری

-40 to +85 °C

توجه!

ماژول‌های جبرابیت، پیش از ورود به فروش، با قطعات اصلی و تحت فرایندهای تست عملکرد و پایداری بررسی می‌شوند. این موضوع باعث می‌شود محصول نهایی از نظر کیفیت، دقت و دوام در سطح استانداردهای مهندسی قرار گیرد.
در بازار ممکن است محصولات مشابه با قیمت پایین‌تر دیده شوند، اما بسیاری از آن‌ها بدون کنترل کیفیت و با قطعات غیرمعتبر عرضه می‌شوند که در پروژه‌های حساس موجب خطا، ناپایداری یا آسیب به سیستم می‌شود.
هدف ما ارائه محصولی است که نه‌تنها به‌درستی کار کند، بلکه در بلندمدت اعتماد و کارایی واقعی به همراه داشته باشد. این کیفیت، نتیجه استفاده از قطعات اصل و انجام تست‌های دقیق پیش از ارسال است.

مروری بر سنسور ADS1292R

ADS1292R یک سنسور تنفس و  ECG  24 بیتی دو کاناله  است که یک کانال برای اندازه گیری سیگنال ECG ضربان قلب و دیگری برای مانیتورینگ تنفس میباشد، این سنسور دارای توانایی نمونه برداری همزمان بوده و در پکیج 32 پین TQFPسایز 5×5mm قرار دارد و  با نرخ داده تا 8kSPS و در محدوده‌ی دمایی -40 °C  تا +85 °C  کار می کند.

این سنسور دو آپشن برای بخش مربوط به تنفس ارائه میدهد، یکی تنفس داخلی با کلاک خارجی و دیگری تنفس داخلی با کلاک داخلی.

در ساخت این قطعه از یک مبدل آنالوگ به دیجیتال دلتا_سیگما (ΔΣ)، یک منبع داخلی، یک گین امپلی فایر قابل  تنظیم و یک اسیلاتور بهره گرفته شده است.

یکی دیگر از ویژگی‌های قابل توجه سنسور ADS1292R ،  آن است که این سنسور دارای یک مالتی پلکسر ورودی انعطاف پذیر در هر کانال است که می تواند به طور مستقل به سیگنال های تولید شده داخلی برای تست، اندازه گیری دما و تشخیص جدا شدن هر یک از لیدها ، متصل شود.

مشخصات فنی

  • Number Of Channels: 2
  • Output type: Digital – SPI
  • ADC Resolution: 24 Bit
  • Data rate: 125SPSP to 8kSPS

کاربردها

  • Medical instrumentation (ECG) including:
  • – Patient monitoring: Holter, event, stress, and vital signs including ECG, AED, and telemedicine
  • – Personal care and fitness monitors
  • (heart rate, respiration, and ECG)
  • High-precision, simultaneous, multichannel data acquisition

ویژگی‌های ماژول GebraBit ADS1292R

  • User selectable analog and digital supply voltage
  • User selectable ADS1292R clock source (Internal or external )
  • 2.048 Mhz  crystal oscillator
  • Benefits from ECG and respiration of ADS1292R
  • Can use 3-lead ECG cable with 3.5mm phone male jack
  • ON/OFF LED indicator
  • Access to important I/O of ADS1292R
  • SPI interface for reading data and configuring the sensor
  • Pin Compatible with GEBRABUS
  • It can be used as a daughter board of GEBRABIT MCU Modules
  • Featuring Castellated pad (Assembled as SMD Part)
  • Separatable screw parts to reduce the size of the board
  • Package: GebraBit medium (36.29mm x 46.18mm)

ماژول ECG دو کانال GebraBit ADS1292R

  • با توجه به اینکه دسترسی به پایه‌های سنسور دشوار است، کاربران برای توسعه سخت‌افزاری و نرم‌افزاری این سنسور به یک برد ابتدایی (starter board) و درایور نیاز دارند. برای راحتی کاربران، GebraMS برد ماژول ECG دو کانال GebraBit ADS1292R را طراحی کرده است. کاربران می‌توانند به کمک این برد، به مهم‌ترین پایه‌های سنسور به‌راحتی دسترسی پیدا کنند.
  • کافی است برد ماژول ECG دو کانال GebraBit ADS1292R را روی برد (Breadboard) قرار دهید و سپس با یکی از بردهای Arduino، Raspberry Pi یا Discovery و با اعمال ولتاژ مناسب، آن را راه‌اندازی کنید.
  • ما به‌ویژه استفاده از Gebra STM32F303 را توصیه می‌کنیم؛ چرا که این برد دارای رگولاتور داخلی ۳.۳ ولت است و ترتیب پایه‌های آن با تمامی ماژول‌های Gebra هماهنگ است (استاندارد GEBRABUS)، بنابراین می‌توانید برد ماژول ECG دو کانال GebraBit ADS1292R را مستقیماً به سوکت مربوطه متصل کرده و بدون نیاز به سیم‌کشی، برنامه‌نویسی را آغاز کنید.

ماژول GebraBit ADS1292R ، یک ماژول 24 بیتی سنسور ECG سه لید با 2 کانال نمونه‌برداری است که یک کانال آن  برای اندازه گیری سیگنال ECG ضربان قلب و دیگری برای مانیتورینگ تنفس در نظر گرفته شده است. ماژول GebraBit ADS1292R ، به دو ولتاژ برای تغذیه‌ی آنالوگ و دیجیتال ADS1292R  نیاز دارد.

ماژول GebraBit ADS1292R ، یک ماژول 24 بیتی سنسور ECG سه لید با 2 کانال نمونه‌برداری است که یک کانال آن  برای اندازه گیری سیگنال ECG ضربان قلب و دیگری برای مانیتورینگ تنفس در نظر گرفته شده است. ماژول GebraBit ADS1292R ، به دو ولتاژ برای تغذیه‌ی آنالوگ و دیجیتال ADS1292R  نیاز دارد.

GebraBit ADS1292R، دو انتخاب برای منبع کلاک ADS1292R ارائه می‌کند، یکی از آنها اسیلاتور داخلی ADS1292R و دیگری کریستال اسیلاتور خارجی 2.048MHz میباشد.

ماژول GebraBit ADS1292R، از ECG و سنسور تنفس ADS1292R برخوردار است و همچنین به دلیل به کارگیری سوکت مادگی جک هدفون 3.5mm در این ماژول، هر کابل ECG دارای 3 لید با جک 3.5mm می‌تواند نیاز کاربران را برطرف کند.

در این ماژول برای خواندن داده‌ها و برقراری ارتباط با سنسور، یک رابط SPI مورد نیاز است.

معرفی بخش های ماژول

سنسور ADS1292R

ای سی اصلی این ماژول بوده که  که مدار آن طراحی شده و در مرکز ماژول قرار گرفته است.

جک هدفون 3.5mm

این جک هدفون به منظور اتصال لیدهای ECG به ماژول بوده و برای دریافت سیگنال های ضربان قلب استفاده میشود.

برای اتصال دستگاه به بدن از یک کابل ECG سه لید با جک هدفون نری استفاده میشود . در کابل‌های ECG سه لید، لیدها‌ به سه رنگ قرمز ، سبز و زرد هستند که لید قرمز به دست راست، لید زرد به دست چپ و لید سبز به پای راست شخص وصل میشود.

با اتصال جک هدفون نری کابل ECG به سوکت مربوطه روی ماژول و چسباندن صحیح لیدها ، ماژول فعال شده و مانیتورینگ ضربان قلب انجام میشود.

در تصویر زیر شکل سیگنال خروجی یکی از کانال‌ها به عنوان نمونه آورده شده است.

جامپر تعیین منبع کلاک داخلی/ خارجی سنسور

درصورتیکه مقاومت 0R به سمت چپ باشد، منبع کلاک داخلی انتخاب شده است و در صورتیکه مقاومت 0R به سمت راست باشد، منبع کلاک خارجی انتخاب میشود.

نکته: اگر جامپر سلکتور تعیین منبع کلاک داخلی/ خارجی سنسور بر روی داخلی قرار گرفته شود و جامپر سلکتور منبع کلاک خارجی روی سمت چپ باشد، کلاک داخلی سنسور بر روی پین CLK در دسترس قرار خواهد گرفت.

جامپرسلکتور منبع کلاک خارجی

درصورتیکه مقاومت 0R سمت راست باشد کریستال اسیلاتور 2.048MHz  تعبیه شده بر روی برد به عنوان منبع خارجی فعال خواهد شد و در صورتیکه مقاومت 0R  سمت چپ باشد، منبع کلاک خارجی  از پین CLK دریافت میشود.

کریستال اسیلاتور 2.048MHz

با توجه به وضعیت جامپر سلکتور کلاک سورس خارجی و اعمال ولتاژ به ماژول توسط پین مربوطه، کریستال اسیلاتور ماژول، به عنوان منبع کلاک خارجی، فعال می شود.

جامپر سلکتور ولتاژ تغذیه‌ی آنالوگ (AVDD)

با توجه به وضعیت مقاومت  0R این جامپر ، ولتاژ تغذیه آنالوگ سنسور از بین 3V3  و 5V انتخاب میشود.

جامپر سلکتور ولتاژ تغذیه‌ی دیجیتال (DVDD)

با توجه به وضعیت مقاومت  0R این جامپر ، ولتاژ تغذیه دیجیتال سنسور از بین 1V8 و3V3   انتخاب میشود.

LED نمایشگر وضعیت روشن/ خاموش سنسور

با توجه به وضعیت جامپرهای AVDD و DVDD با اعمال ولتاژ به ماژول توسط پین مربوطه، LED ماژول روشن می شود.

پین های ماژول

پین های تغذیه

  • 3V3: این پین می تواند با توجه به وضعیت Jumper Selector های AVDD و DVDD ،تغذیه اصلی آنالوگ و دیجیتال سنسور را تامین کند.
  • 1V8 : این پین می تواند با توجه به وضعیت Jumper Selector DVDD ،تغذیه اصلی دیجیتال سنسور را تامین کند.
  • GND :  این پین، زمین مشترک برای تغذیه ماژول میباشد

پین های SPI

  • SDI(MOSI) : از این پین، برای ارسال دیتا از میکروکنترلر(پردازنده) به ماژول(سنسور) استفاده میشود.نام اختصاری این پین برگرفته از عبارت لاتین Serial Data In / Microcontroller Out Sensor In می باشد.
  • SDO(MISO) : از این پین، برای ارسال دیتا از ماژول(سنسور) به میکروکنترلر(پردازنده) استفاده میشود.نام اختصاری این پین برگرفته از عبارت لاتین Serial Data Out / Microcontroller In Sensor Out می باشد.
  • SCK : این پین، پین کلاک برای ارتباط SPI بوده که از نوع ورودی (Input) برای سنسور محسوب و به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.
  • CS : این پین، پین Chip Select برای ارتباط SPI با ماژول(سنسور) می باشد، که با اعمال ولتاژ LOW (0V) ،ماژول(سنسور) برای ارتباط SPI انتخاب می شود.این پین از نوع ورودی (Input) برای سنسور محسوب می شود.

در صورتی که می خواهید از چندین ماژول GebraBit ADS1292Rبه صورت همزمان استفاده کنید، کافیست پین های SDO , SDI , SCK همه ماژول ها و میکرکنترلر(پردازنده) را به هم متصل کرده و به CS هر کدام، یک پین منحصر به فرد اختصاص دهید.

پین های ورودی/خروجی

  • GP1 : این پین، پین GPIO1 ماژول است که میتوان از آن به عنوان پین ورودی / خروجی همه منظوره استفاده کرد. 
  • GP2 : این پین، پین GPIO2 ماژول است که میتوان از آن به عنوان پین ورودی / خروجی همه منظوره استفاده کرد. 

دیگر پین ها

  • RST : از این پین برای راه اندازی مجدد (ریست کردن ) سنسور استفاده میشود.
  • RDY : این پین، پین خروجی دیجیتال ماژول است که وقتی دیتا آماده میشود در حالت active-low  قرار میگیرد.
  • STA : این پین، پین استارت ماژول است و از آن برای روشن کردن سنسور استفاده میشود.

اتصال به پردازنده

اتصال SPI با GebraBit STM32F303

برای اتصال SPI ماژول GebraBit ADS1292Rبه ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDI و SDO و SCK و CS رو پین های PB5 و PB4 و PB3 و PC13 (برای راحتی کار در STMCUBEMX) ماژول GebraBit ADS1292R را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit STM32F303 قرار دهید.

اتصال SPI با GebraBit ATMEGA32A

با توجه به اینکه پین های SPI میکروکنترلر ATMEGA32A بر اساس استاندارد GEBRABUS متناظر با پین های SPI  دیگر ماژول های GEBRABIT می باشد،  ماژول GebraBit ADS1292R را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit ATMEGA32A قرار داده و با ماژول GebraBit ADS1292R از طریق SPI ارتباط برقرار کنید.

توجه: در صورت استفاده از ماژول‌های میکروکنترلری GebraBit توجه داشته باشید که جامپر سلکتورهای VDD ماژول GebraBit  ADS1292R روی 3V3 باشد تا راحت تر بتوانید ولتاژ3V3 را از ماژول میکروکنترلری بگیرید.

اتصال SPI با ARDUINO UNO

  • پین 3V3 ماژول ADS1292R را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
  • پین GND ماژول ADS1292R را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
  • پین SDI ماژول ADS1292R را به پین D11 برد ARDUINO UNOمتصل کنید.(سیم زرد)
  • پین SDO ماژول ADS1292R را به پین D12 برد ARDUINO UNOمتصل کنید.(سیم بنفش)
  • پین SCK ماژول ADS1292R را به پین D13 برد ARDUINO UNOمتصل کنید.(سیم نارنجی)
  • پین CS ماژول ADS1292R را به پین D10 برد ARDUINO UNOمتصل کنید.(سیم آبی)
نوع ماژول

ماژول اندازه‌گیری بیوپتانسیل

ولتاژ تغذیه

1V8, 3V3, 5V

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

تعداد کانال‌ها

2

فرکانس کریستال

2.048 Mhz

نوع خروجی

SPI, Digital

رزولوشن ADC

24 Bit

سرعت انتقال داده

125SPS to 8kSPS

ابعاد

Gebra medium (36.29mm x 46.18mm)

دمای کاری

-40 to +85 °C

هدف ما از انجام این پروژه چیست؟

هدف این پروژه، اتصال و استفاده از ماژول ADS1292R توسط آردوینو می‌باشد که می‌توان از آن برای اندازه‌گیری و پایش سیگنال‌های زیستی بدن انسان مانند ECG و Respiration استفاده کرد. این ماژول قادر است سیگنال‌های زیستی با دقت بالا را تشخیص داده و به صورت دیجیتال به سیستم منتقل کند، که آن را برای کاربردهایی مانند مانیتورینگ قلب، سیستم‌های پزشکی پوشیدنی و تحقیقات بیولوژیکی مناسب می‌سازد. کاربران می‌توانند با خواندن مقادیر این ماژول، سیستم‌هایی توسعه دهند که به تغییرات وضعیت سلامتی واکنش نشان داده و در نتیجه دقت و قابلیت اطمینان مانیتورینگ زیستی را بهبود بخشند.

در این آموزش چه چیزهایی یاد میگیریم؟

  • چگونه ماژول ADS1292R را به آردوینو وصل کنید و ارتباط SPI را راه‌اندازی کنید.
  • کتابخانه‌ای را برای استفاده با آردوینو تغییر دهید و با نحوه انتقال داده‌های SPI در سیگنال‌های زیستی آشنا شوید.
  • چگونه سیگنال‌های ECG و Respiration را بخوانید و این داده‌ها را برای کاربردهای واقعی مانند مانیتورینگ سلامت استفاده کنید.
  • پروژه‌هایی مثل سیستم‌های مانیتورینگ قلب، دستگاه‌های پوشیدنی و تحقیقات زیستی را با این ماژول اجرا کنید و مهارت‌های عملی برای ساخت سیستم‌های دقیق و قابل اعتماد در حوزه پزشکی یاد بگیرید.
  • این آموزش به شما کمک می‌کند ماژول را به درستی راه‌اندازی کرده و داده‌های زیستی را به صورت لحظه‌ای با آردوینو پردازش و نمایش دهید.

برای انجام این پروژه به چه چیزهایی نیاز داریم؟

همانطور که احتمالا میدانید برای انجام این پروژه به سخت افزارها و نرم افزارهایی نیاز داریم. عناوین این سخت افزارها و نرم افزارها در جدول زیر در اختیارتان قرار داده شده که میتوانید با کلیک روی هرکدام از آنها، آنها را تهیه/دانلود کنید و  برای شروع آماده شوید.

سخت افزارهای مورد نیازنرم افزارهای مورد نیاز
  GebraBit ADS1292R module Arduino IDE
 Arduino UNO
 Logic Level Converter

ابتدا مانند تصویر زیر ماژول  GebraBit ADS1292R را به صورت زیر به آردوینو متصل می کنیم:

توجه کنید که برای راه اندازی این ماژول احتیاج به Logic Level Converter دارید زیرا سطح منطقی این ماژول 3V3 ولت میباشد و در صورت اتصال مستقیم ماژول به آردوینو امکان آسیب به سنسور خواهد شد.

رنگADS1292RArduino
طلاییSDID11 (MOSI)
زردSDOD12 (MISO)
قهوه ایSCKD13 (SCK)
طوسیCSD10 (SS)
سبزRSTD7
بنفشRDYD2
نارنجیSTAA5
قرمز3V33V3
آبیNC5V
مشکیGNDGND

کتابخانه و کد ارائه شده برای تنظیمات پیش‌فرض جامپر سلکتورها طراحی شده‌اند (مطابق تصویر بالا).در صورت تغییر تنظیمات جامپرها، با توجه به دیتاشیت سنسور و شماتیک ماژول، امکان نیاز به اعمال تغییرات در کد می باشد. لطفاً توجه داشته باشید که تغییر در تنظیمات جامپر می‌تواند عملکرد کد نمونه موجود در سایت را تحت تأثیر قرار  می دهد.

پس از اتصال آردوینو به ماژول توسط Logic Level Converter، کتابخانه ADS1292R را دانلود و به نرم افزار آردوینو اضافه کنید.

کتابخانه های مورد نیاز
 ADS1292R Library

اگر نمی‌دانید چطور کتابخانه‌های GebraBit را به آردوینو اضافه کنید، به لینک آموزشی زیر مراجعه کنید.

نحوه افزودن کتابخانه های GebraBit به آردوینو

نحوه اتصال لیدها به بدن

برای اتصال دستگاه به بدن از یک کابل ECG سه لید با جک هدفون نری استفاده میشود . در کابل‌های ECG سه لید، لیدها‌ به سه رنگ قرمز ، سبز و زرد هستند که لید قرمز به دست راست، لید زرد به دست چپ و لید سبز به پای راست شخص وصل میشود.

با اتصال جک هدفون نری کابل ECG به سوکت مربوطه روی ماژول و چسباندن صحیح لیدها ، ماژول فعال شده و مانیتورینگ ضربان قلب انجام میشود.

برای اتصال این سه لید به بدن، روش‌های مختلفی وجود دارد و روش ذکرشده تنها یکی از این روش‌ها است. پیش از چسباندن لیدها، حتماً سطح مورد نظر را با الکل تمیز کنید. وجود گرد و غبار و چربی یا مو روی سطح مورد نظر می‌تواند کیفیت سیگنال‌های دریافتی از ماژول را کاهش دهد و دقت اندازه‌گیری را تحت تأثیر قرار دهد.

کتابخانه و درایور ADS1292R

GebraBit علاوه بر طراحی ماژولار سنسورها و آی سی های مختلف ، پیشرو در ارائه انواع کتابخانه های ساختاریافته و مستقل از سخت افزار به زبان  ++C، جهت سهولت کاربران در راه اندازی و توسعه نرم افزاری آنها نیز بوده است.

بدین منظور پس از تهیه هر یک از ماژول های  GebraBit  ، کاربر می تواند با مراجعه به بخش آموزش ماژول مربوطه، کتابخانه مختص به آن ماژول که حاوی فایل .h و .cpp (Header and Source) و یک برنامه نمونه آموزشی تحت سخت افزار های GebraBit STM32F303, GebraBit ATMEGA32A یا Arduino می باشد را دانلود کند.

تمامی توابع و Structure های تعریف شده در کتابخانه ، با جزئیات کامل، کامنت گذاری شده و تمامی پارامتر های دریافتی در آرگومان توابع و مقادیر بازگشتی از آنها ، به اختصار توضیح داده شده است.با توجه به مستقل از سخت افزار بودن کتابخانه ها،کاربر به راحتی می تواند آن را در هر یک از کامپایلر های دلخواه اضافه کرده و با میکروکنترلر و برد توسعه مورد علاقه خود، آن را توسعه دهد.

برنامه نمونه در آردوینو

بعد از اتصال لید ها به بدن و ماژول به آردوینو و اضافه کردن کتابخانه سنسور به نرم افزار آردوینو به مسیر زیر بروید و کد نمونه را باز کنید.                         File > Examples > ADS1292R > ECG_RES_Plotter

شرح فایل نمونه

اتصالات ماژول به آردوینو در کامنت های بالای کد ذکر شده است:

//  |ads1292R pin label | Arduino Connection   |Pin Function      |
//  |----------------- |:--------------------:|-----------------:|
//  | VDD              | +3V3                 |  Supply voltage  |
//  | RST              | D7                   |  Reset           |
//  | STA              | A5                   |  Start Input     |
//  | RDY              | D2                   |  Data Ready Outpt|
//  | CS               | D10                  |  Chip Select     |
//  | SDI              | D11                  |  Slave In        |
//  | SDO              | D12                  |  Slave Out       |
//  | SCK              | D13                  |  Serial Clock    |
//  | GND              | Gnd                  |  Gnd             |

کتابخانه های مورد نیاز برای راه اندازی سنسور وارد برنامه شده اند:

#include "ADS1292R.h"
#include "ecgResAlgorithm.h"
#include <SPI.h>

در صورتی که پین های DRDY(RDY) ، CS ، START(STA) ، PWDN(RST) ماژول را به پایه های دیگری از آردوینو متصل کردید کد زیر را باتوجه به اتصالات خودتان تغییر دهید.

const int ADS1292_DRDY_PIN = 2;
const int ADS1292_CS_PIN = 10;
const int ADS1292_START_PIN = A5;
const int ADS1292_PWDN_PIN = 7;

همانطور که می دانید سنسور ADS1292R دارای دو کانال می باشد که کانال اول، دیتای (نوارقلب) ECG و کانال دوم، دیتای (تنفس) Respiration می باشد. شما برای دیدن نتایج در Plotter آردوینو میتوانید با کامنت کردن خط سوم، دیتای کانال اول یعنی ECG را مشاهده کنید و با کامنت کردن خط دوم، دیتای کانال دوم یعنی Respiration را مشاهده کنید. (توجه: حتما برای دیدن خروجی بر روی Plotter از نسخه های قدیمی آردونیو استفاده کنید (1.8.20 به قبل))

//if you want ecg data comment second line and if you want res datas on plotter comment first line and uncomment second line
Serial.println(ecgFilterout);
//Serial.println(resWaveBuff);

به طور مثال خروجی کد بالا در Plotter آردوینو دیتای نوار قلب می باشد و خروجی کد پایین دیتای تنفس می باشد.

//if you want ecg data comment second line and if you want res datas on plotter comment first line and uncomment second line
//Serial.println(ecgFilterout);
Serial.println(resWaveBuff);

متن کد فایل آردوینو:

//////////////////////////////////////////////////////////////////////////////////////////
//
//   Arduino Library for ADS1292R Shield/Breakout
//
//   Copyright (c) 2017 ProtoCentral
//   Heartrate and respiration computation based on original code from Texas Instruments
//
//   This is a simple example to plot ECG through arduino serial plotter.
//
//   This software is licensed under the MIT License(http://opensource.org/licenses/MIT).
//
//   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
//   NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
//   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
//   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//
//  |ads1292r pin label| Arduino Connection   |Pin Function      |
//  |----------------- |:--------------------:|-----------------:|
//  | VDD              | +3V3                 |  Supply voltage  |
//  | PWDN/RESET       | D7                   |  Reset           |
//  | START            | A5                   |  Start Input     |
//  | DRDY             | D2                   |  Data Ready Outpt|
//  | CS               | D10                  |  Chip Select     |
//  | MOSI             | D11                  |  Slave In        |
//  | MISO             | D12                  |  Slave Out       |
//  | SCK              | D13                  |  Serial Clock    |
//  | GND              | Gnd                  |  Gnd             |
//
/////////////////////////////////////////////////////////////////////////////////////////


#include "ADS1292R.h"
#include "ecgResAlgorithm.h"
#include <SPI.h>

volatile uint8_t globalHeartRate = 0;
volatile uint8_t globalRespirationRate=0;

const int ADS1292_DRDY_PIN = 2;
const int ADS1292_CS_PIN = 10;
const int ADS1292_START_PIN = A5;
const int ADS1292_PWDN_PIN = 7;

int16_t ecgWaveBuff, ecgFilterout;
int16_t resWaveBuff,respFilterout;

ads1292r ADS1292R;
ecg_respiration_algorithm ECG_RESPIRATION_ALGORITHM;

void setup()
{
  delay(2000);

  SPI.begin();
  SPI.setBitOrder(MSBFIRST);
  //CPOL = 0, CPHA = 1
  SPI.setDataMode(SPI_MODE1);
  // Selecting 1Mhz clock for SPI
  SPI.setClockDivider(SPI_CLOCK_DIV16);

  pinMode(ADS1292_DRDY_PIN, INPUT);
  pinMode(ADS1292_CS_PIN, OUTPUT);
  pinMode(ADS1292_START_PIN, OUTPUT);
  pinMode(ADS1292_PWDN_PIN, OUTPUT);

  Serial.begin(57600);
  ADS1292R.ads1292Init(ADS1292_CS_PIN,ADS1292_PWDN_PIN,ADS1292_START_PIN);
  Serial.println("Initiliziation is done");
}

void loop()
{
  ads1292OutputValues ecgRespirationValues;

  boolean ret = ADS1292R.getAds1292EcgAndRespirationSamples(ADS1292_DRDY_PIN,ADS1292_CS_PIN,&ecgRespirationValues);
  if (ret == true)
  {
    ecgWaveBuff = (int16_t)(ecgRespirationValues.sDaqVals[1] >> 8) ;  // ignore the lower 8 bits out of 24bits
    resWaveBuff = (int16_t)(ecgRespirationValues.sresultTempResp>>8) ;

    if(ecgRespirationValues.leadoffDetected == false)
    {
      ECG_RESPIRATION_ALGORITHM.ECG_ProcessCurrSample(&ecgWaveBuff, &ecgFilterout);   // filter out the line noise @40Hz cutoff 161 order
      ECG_RESPIRATION_ALGORITHM.QRS_Algorithm_Interface(ecgFilterout,&globalHeartRate); // calculate
      //respFilterout = ECG_RESPIRATION_ALGORITHM.Resp_ProcessCurrSample(resWaveBuff);
      //ECG_RESPIRATION_ALGORITHM.RESP_Algorithm_Interface(respFilterout,&globalRespirationRate);

    }else{
      ecgFilterout = 0;
      respFilterout = 0;
    }
    //if you want ecg data comment second line and if you want res datas on plotter comment first line and uncomment second line
    Serial.println(ecgFilterout);
    //Serial.println(ecgWaveBuff);
    //Serial.println(resWaveBuff);
  }
}

آردوینو خود را به کامپیوتر متصل کنید و مدل و پورت آردوینو خود را انتخاب کنید.

سپس نمونه کد را ابتدا Verify و سپس Upload کنید

بعد از Upload کردن کد به Tools > Serial Plotter را باز کرده و می توانید خروجی ماژول را مشاهده کنید 

حتما BaudRate را روی 57600 تنظیم کنید در غیر این صورت دیتای درستی دریافت نخواهید کرد.

در ادامه می توانید کتابخانه ADS1292R, شماتیک و دیتاشیت ماژول را دانلود نمایید.

ویدیو و تصاویر خروجی برنامه:

ویدیو خروجی کانال اول ECG:

تصویر خروجی کانال اول ECG:

تصویر خروجی کانال دوم Respiration:

توجه : تمیزی سیگنال خروجی به عوامل محیطی بسیاری مثل تداخلات الکترومغناطیسی، نویز برق شهر، حرکات فیزیکی بیمار، شرایط الکترودها، و تغییرات امپدانس پوست بستگی دارد. این عوامل می‌توانند باعث آلودگی سیگنال ECG شوند و دقت تحلیل آن را کاهش دهند.

برای بهبود کیفیت سیگنال خروجی، لازم است که نویزهای محیطی و بیولوژیکی کاهش یابند. برخی از راهکارهای موثر شامل موارد زیر هستند:

  • کاهش تداخلات الکترومغناطیسی: استفاده از کابل‌های شیلددار، فیلترهای حذف نویز و فاصله‌گیری از تجهیزات الکترونیکی پرقدرت.
  • حذف نویز برق شهر:  به‌کارگیری فیلتر Notch در فرکانس 50/60Hz.
  • کاهش نویز حرکتی:  تثبیت صحیح الکترودها روی پوست، استفاده از فیلترهای Adaptive  برای پردازش سیگنال.
  • پیش‌پردازش سیگنال:  اعمال فیلترهای باندپاس (معمولاً بین 0.5Hz تا 100Hz) و روش‌های پردازش سیگنال مانند Wavelet Transform  یا PCA/ICA  برای تفکیک نویز از سیگنال اصلی.

در نهایت، بهینه‌سازی شرایط ثبت سیگنال و استفاده از الگوریتم‌های پردازشی مناسب نقش کلیدی در دستیابی به سیگنال ECG باکیفیت و قابل‌اعتماد دارد.

1. ADS1292R چیست و اصول عملکرد آن چیست؟

ADS1292R یک AFE (Analog Front-End) از TI است که شامل دو کانال 24‑بیت ΔΣ ADC، PGA (Programmable Gain Amplifier)، و قابلیت اندازه‌گیری ECG و Impedance تنفسی (respiration) می‌باشد. این تراشه با ترکیب ADC و مدول تنفس امکان اندازه‌گیری سیگنال ECG و تغییرات مقاومت قفسه سینه را در یک چیپ فراهم می‌کند. طراحی آن کم‌مصرف (low‑power) است، به طوری که توان مصرفی آن حدود 335 µW به ازای هر کانال است. این دستگاه برای کاربردهای پزشکی مانند مانیتورینگ بیمار، دستگاه‌های پوشیدنی و تله‌مدیسین بسیار مناسب است.
🔗 Reference: Official Datasheet – ADS1292R


2. ولتاژ تغذیه و محدوده کاری ADS1292R چیست؟

ADS1292R نیاز به دو نوع تغذیه دارد: تغذیه آنالوگ (AVDD) و تغذیه دیجیتال (DVDD). محدوده تغذیه آنالوگ از 2.7 V تا 5.25 V و تغذیه دیجیتال از 1.7 V تا 3.6 V است. این طراحی به آن اجازه می‌دهد در سیستم‌های کم‌ولتاژ و باتری‌خور استفاده شود، ضمن آن‌که دقت بالای 24‑بیت را حفظ کند. رعایت نویز پایین منبع تغذیه و خازن‌های بای‌پَس نزدیک به پایه‌های تغذیه بسیار حیاتی است برای دستیابی به عملکرد پایدار.
🔗 Reference: Official Datasheet – ADS1292R


Chapter .3 نرخ نمونه‌برداری (data rate) ADS1292R چقدر است؟

ADS1292R می‌تواند نرخ نمونه‌برداری از 125 SPS تا 8 kSPS را تنظیم کند، که گستره بسیار انعطاف‌پذیری برای کاربردهای بیومدیکال فراهم می‌آورد. برای ECG معمولاً از نرخ نمونه‌برداری پایین‌تر (مثلاً چند صد SPS) استفاده می‌شود چون سیگنال ECG فرکانس نسبتاً پایین دارد؛ اما برای مدول تنفس و تغییرات impedance، می‌توان نرخ بالاتری را انتخاب کرد بسته به طراحی سیستم. تنظیم دقیق data rate به فیلتر دیجیتال و نیاز به نرخ Nyquist بستگی دارد.
🔗 Reference: Official Datasheet – ADS1292R


4. چگونه ADS1292R از رابط دیجیتال (digital interface) استفاده می‌کند؟

ADS1292R از رابط SPI برای ارتباط با میکروکنترلر استفاده می‌کند. رجیسترهای کنترل از طریق SPI برنامه‌ریزی می‌شوند تا gain، فیلتر دیجیتال، مدول تنفس و سایر پارامترها تنظیم شود. همچنین سیگنال DRDY (data ready) برای اطلاع‌رسانی آماده شدن داده‌های ADC استفاده می‌شود. در طراحی نرم‌افزار باید به تسلسل صحیح ارسال دستورات، فعال کردن START، و خواندن داده‌ها پس از وقوع DRDY دقت شود.
🔗 Reference: Official Datasheet – ADS1292R


ADS1292R .5 چگونه اندازه‌گیری تنفس (respiration) را انجام می‌دهد؟

برای اندازه‌گیری تنفس، ADS1292R مدولاسیون را از طریق پین‌های RESP_MODP/N تولید می‌کند که جریان تحریک را به بدن می‌فرستد. این جریان از طریق امپدانس قفسه سینه بازتاب می‌یابد و به ورودی آنالوگ بازگردانده می‌شود تا از طریق ADC خوانده شود. سپس MCU شما باید این سیگنال DC یا آهسته تغییرکننده را دمدوله (demodulate) کند و مقاومت تنفسی را محاسبه کند. در پاسخ، دستگاه مقدار DC امپدانس تنفسی را به صورت دیجیتال در اختیار قرار می‌دهد.
🔗 Reference: Official Datasheet – ADS1292R


6. چگونه فاز (phase) مدول تنفس را تنظیم کنیم؟

در ADS1292R یک پارامتر به نام RESP_PH[3:0] وجود دارد که فاز مدولاسیون تنفس را کنترل می‌کند. با افزایش تنظیم فاز، خطای گِین (gain error) کاهش می‌یابد زیرا glitch منفی در خروجی دمدوله کمتر می‌شود. TI توصیه می‌کند با بهره‌گیری از اپلیکیشن نوت (Application Note) SBAA181، فاز مناسب را با سوئیپ کردن مقدار میانگین امپدانس یا یک مقاومت مرجع بسنجید تا بهترین تطابق DC را بدست آورید.
🔗 Reference: TI E2E – ADS1292R (TI E2E)


7. چه مشکلات رایجی کاربران ADS1292R در طراحی ECG و تنفس گزارش داده‌اند؟

برخی از کاربران گزارش‌ داده‌اند که سیگنال ECG بیش از حد تقویت می‌شود و به اشباع می‌رسد، شاید به دلیل گِین زیاد یا انتخاب نادرست PGA. همچنین در طراحی مدار تنفس، محاسبه امپدانس قفسه سینه ممکن است مشکل‌ساز شود اگر بلوک فاز و مدولاسیون به درستی تنظیم نشده باشند. در انجمن E2E، مواردی مثل اتصال نامناسب پین RLD، یا تنظیم اشتباه lead‑off detection نیز دیده شده‌اند.
🔗 Reference: (TI E2E)


8. چه نکاتی باید در طراحی PCB برای ADS1292R رعایت شود؟

در طراحی PCB باید مسیرهای آنالوگ و دیجیتال جدا شوند تا تداخل کاهش یابد. پین‌های محرک تنفس (RESP_MODP/N) باید به‌درستی (AC coupling) شود تا جریان DC ناخواسته به بیمار نرسد. همچنین، خازن‌های بای‌پَس باید نزدیک به پایه‌های تغذیه (AVDD, DVDD) قرار گیرند و زمین (GND) باید به صورت پلن (plane) کامل طراحی شود.
🔗 Reference: (TI E2E)


9. آیا منبع کلاک خارجی برای مدولاسیون تنفس قابل استفاده است؟

بله. ADS1292R امکان استفاده از یک کلاک خارجی برای مدولاسیون تنفس دارد. اگر از کلاک خارجی استفاده می‌کنید، باید فاز آن را با بلوک مدولاسیون هم‌تراز کنید تا تحریف سیگنال دمدوله کم شود. این کار می‌تواند به کاهش خطای فاز یا گِین ناشی از اختلاف فاز کمک کند.
🔗 Reference: TI E2E – External Clock for Resp Modulator (TI E2E)


10. چگونه تشخیص lead-off (قطع اتصال الکترود) در ADS1292R انجام می‌شود؟

ADS1292R دارای مدار داخلی برای lead-off detection است، بنابراین می‌تواند تشخیص دهد که آیا الکترود ECG به بدن متصل نیست یا مقاومت اتصال خیلی زیاد شده است. این قابلیت با استفاده از جریان تحریک (excitation) انجام می‌شود و می‌توانید پارامترهای آن را از طریق رجیستر تنظیم کنید. طراحی صحیح lead-off و اندازه‌گیری آن مهم است چون قطع اتصال الکترود می‌تواند باعث سیگنال ناصحیح یا خطای داده شود.
🔗 Reference: Official Datasheet – ADS1292R


11. چگونه کالیبراسیون برای ADS1292R انجام می‌شود؟

برای کالیبراسیون، معمولاً از سیگنال تست داخلی (internal test signal) استفاده می‌شود که از طریق رجیستر فعال می‌گردد. با استفاده از این سیگنال می‌توان offset و gain را تنظیم کرد. همچنین، برای قسمت تنفسی می‌توانید یک مقاومت مرجع خارجی اندازه‌گیری‌شده را به‌عنوان مرجع DC استفاده کرده و مقدار فاز RESP_PH را طوری تنظیم کنید که خروجی دمدوله به مقدار پیش‌بینی‌شده نزدیک شود. این کار باعث افزایش دقت اندازه‌گیری می‌شود.
🔗 Reference: TI Application Note – SBAA181


12. دقت (accuracy) و رزولوشن ADS1292R چقدر است؟

ADS1292R رزولوشن 24‑بیت دارد، که امکان تفکیک بسیار بالایی برای سیگنال‌های بیولوژیک فراهم می‌کند. خطای گِین آن (gain error) معمولاً کم است، اما برای دستیابی به دقت بالا باید کالیبراسیون انجام شود. همچنین مشخصات دیتاشیت نشان می‌دهد که CMRR (Common-Mode Rejection Ratio) این تراشه بسیار بالا است (مقدار زیادی در دیتا‌شیت ذکر شده) که در حذف نویز common-mode کمک بزرگی می‌کند.
🔗 Reference: Official Datasheet – ADS1292R


13. آیا ADS1292R مناسب دستگاه‌ها پرتابل (مانند پوشیدنی) است؟

بله، به دلیل مصرف پایین (335 µW به ازای هر کانال) و امکان کار با ولتاژ پایین، ADS1292R برای دستگاه‌های پرتابل مانند مانیتورهای پزشکی کوچک یا پوشیدنی بسیار مناسب است. همچنین، وجود مدول تنفس در همان چیپ باعث می‌شود طراحی سیستم تنفسی – قلبی در یک برد ساده‌تر شود. استفاده از این تراشه در دستگاه‌های با باتری و سیستم‌های کم‌مصرف توصیه می‌شود.
🔗 Reference: Official Datasheet – ADS1292R


14. چگونه از کتابخانه یا درایور ADS1292R در STM32 استفاده کنیم؟

برای ارتباط ADS1292R با STM32، می‌توانید از رابط SPI در HAL استفاده کنید: ابتدا رجیسترها را پیکربندی، سپس فرمان START را ارسال کنید و بعد از آن با استفاده از سیگنال DRDY داده‌ها را با DMA یا interrupt بخوانید. در نظر داشته باشید که زمان‌بندی سیگنال‌های SPI (پلاریتی، فاز، فرکانس) باید طبق توصیه دیتاشیت تنظیم شود. همچنین توجه به وضعیت power-down یا standby برای کاهش مصرف انرژی در طراحی ضروری است.
🔗 Reference: Official Datasheet – ADS1292R


15. چه مشکلات EMI یا نویز در ADS1292R ممکن است پیش بیاید و چگونه برطرف شوند؟

چون ADS1292R سیگنال‌های آنالوگ بسیار حساس را اندازه‌گیری می‌کند، EMI یا نویز محیطی می‌تواند بر دقت تأثیر بگذارد. برای کاهش نویز، مسیرهای آنالوگ و دیجیتال را در PCB جدا کنید، از شیلد (shield) برای خطوط حساس استفاده کنید، و خازن‌های بای‌پَس را نزدیک به پین‌های تغذیه قرار دهید. همچنین، استفاده از فیلتر دیجیتال داخلی در ADC و تنظیم درست فاز مدولاسیون تنفس می‌تواند به کاهش تداخل کمک کند.
🔗 Reference: Official Datasheet – ADS1292R


16. چگونه دو کانال ECG و تنفس را با ADS1292R هم‌زمان اندازه‌گیری کنیم؟

در مود معمولی، ADS1292R دو کانال مجزا دارد که می‌توان یکی را برای ECG و دیگری را برای اندازه‌گیری امپدانس تنفسی استفاده کرد. طبق مدار مرجعی که در دیتاشیت آمده، می‌توانید کانال 1 را برای مدول تنفس و کانال 2 را برای ECG تنظیم کنید. مهم است که lead-off و مدولاسیون تنفس را طوری پیکربندی کنید که تداخل بین کانال‌ها کم شود.
🔗 Reference: ADS1292R Datasheet – Typical Application (Texas Instruments)


17. چه محدودیت‌هایی در دمای کاری ADS1292R وجود دارد؟

دمای کاری ADS1292R بین –40 °C تا +85 °C تعریف شده است. خارج شدن از این بازه ممکن است باعث افزایش drift، خطای offset یا سایر نابسامانی‌ها در عملکرد آنالوگ شود. بنابراین اگر در طراحی دستگاهی کار می‌کنید که در محیط‌های سخت یا با دمای بالا/پایین باشد، باید این محدوده را در نظر بگیرید.
🔗 Reference: Official Datasheet – ADS1292R


18. چگونه تست سیگنال (test signal) داخلی را برای ADS1292R فعال کنیم؟

ADS1292R دارای سینگال test داخلی است که می‌تواند برای کالیبراسیون offset و گِین استفاده شود. این سیگنال از طریق رجیسترهای کنترل فعال می‌شود، و شما می‌توانید مقادیر آن را بخوانید تا بررسی کنید که ADC به درستی کار می‌کند. این روش برای تست سخت‌افزار بدون نیاز به منبع سیگنال بیرونی خیلی مفید است.
🔗 Reference: Official Datasheet – ADS1292R


19. آیا ADS1292R دارای منبع مرجع (reference) داخلی است؟

بله، ADS1292R دارای رفرنس ولتاژی داخلی است که استفاده از آن را ساده‌تر می‌کند و نیاز به منبع مرجع خارجی را در برخی طراحی‌ها کاهش می‌دهد. استفاده از مرجع داخلی باعث کوچک‌تر شدن مدار و کاهش پیچیدگی طراحی می‌شود، اما برای دقت خیلی بالا ممکن است در طراحی مرجع خارجی با دقت بیشتر نیز بهره ببرید.
🔗 Reference: Official Datasheet – ADS1292R


20. چه روش‌هایی برای کاهش drift در ADS1292R وجود دارد؟

برای کاهش drift (جابجایی بلندمدت)، مهم است که کالیبراسیون منظم انجام شود (مثلاً قبل از شروع اندازه‌گیری حساس). همچنین استفاده از مرجع ولتاژ پایدار، طراحی PCB با کنترل دمای مناسب، و فیلتر دیجیتال مناسب می‌تواند به کاهش drift کمک کند. در مورد مدول تنفس، تنظیم فاز RESP_PH نیز تأثیر به‌سزایی دارد بر خطای گِین و drift.
🔗 Reference: TI Application Note – SBAA181


21. چگونه می‌توان lead-off detection را در ADS1292R بهینه کرد؟

برای بهینه‌سازی lead-off detection، باید جریان تحریک مناسب انتخاب شود و پیکربندی رجیستر مرتبط با lead-off را تنظیم نمایید. همچنین طراحی الکترودی و مقاومت‌های سری باید در نظر گرفته شود تا حساسیت lead-off بالا باشد. در برخی طراحی‌ها کاربران نیاز دارند که سیگنال lead-off را فیلتر کنند یا در نرم‌افزار اصلاحاتی انجام دهند تا از قطع اتصال اشتباه جلوگیری شود.
🔗 Reference: Official Datasheet – ADS1292R


22. چگونه می‌توان ADS1292R را برای دستگاه AED یا مانیتور بیمار استفاده کرد؟

در کاربردهایی مثل AED یا مانیتور بیمار، ADS1292R می‌تواند ECG و تنفس را به طور همزمان اندازه‌گیری کند. برای اندازه‌گیری امپدانس قفسه سینه، باید مد تنفس را فعال کنید و فاز مدولاسیون را طوری تنظیم نمایید که مقدار DC خروجی منطبق با مقاومت قفسه سینه بیمار باشد. در طراحی مدار باید حفاظت الکترودی (مثل مقاومت سری و خازن) را لحاظ نمایید تا جریان تحریک امن باقی بماند.
🔗 Reference: TI E2E – Chest Impedance via ADS1292R (TI E2E)


23. چگونه با استفاده از ADS1292R نویز common‑mode را کاهش دهیم؟

برای کاهش نویز common‑mode، از ورودی‌های differential (INP / INN) استفاده کنید چون ADS1292R طراحی شده است تا common-mode rejection ratio (CMRR) بالایی داشته باشد. همچنین، فیلتر دیجیتال داخلی کمک شایانی می‌کند. کاربرد right-leg drive (RLD) نیز برای بازگرداندن ولتاژ common-mode به بدن مفید است. طراحی زمین (GND) در PCB و جداسازی مسیرهای آنالوگ از دیجیتال نیز نقش بسیار مهمی دارد.
🔗 Reference: Official Datasheet – ADS1292R


24. چگونه می‌توان تست و اشباع (saturation) در ADC را مانیتور کرد؟

اگر gain خیلی بالا باشد یا سیگنال ورودی بزرگ باشد، خروجی ADS1292R ممکن است اشباع (saturation) شود. برای بررسی، از سیگنال تست داخلی استفاده کنید و مقدار خروجی را بخوانید. همچنین بررسی رجیستر وضعیت (status) می‌تواند به تشخیص وضعیت overrange کمک کند. اگر اشباع وجود دارد، باید gain را کاهش دهید یا طراحی ورودی را بازبینی کنید.
🔗 Reference: TI E2E – Saturation ADS1292R (TI E2E)


25. کاربردهای متداول ADS1292R چیست؟

ADS1292R عمدتاً در سیستم‌های پزشکی برای اندازه‌گیری ECG (نوار قلب) و مانیتورینگ تنفس استفاده می‌شود. همچنین در دستگاه‌هایی مانند مانیتور بیمار، دستگاه خواب (sleep monitor)، AED، تجهیزات تله‌مدیسین و سیستم‌های پوشیدنی پزشکی کاربرد دارد. طراحی کم‌مصرف آن باعث می‌شود گزینه‌ای ایده‌آل برای محصولات پرتابل باشد.
🔗 Reference: ADS1292R Product Page – TI (Texas Instruments)


26. چگونه فیلتر آنتی‌الیاسینگ (anti-aliasing) را برای ADC ADS1292R طراحی کنیم؟

در طراحی مد ورودی، پیشنهاد TI این است که از فیلتر low-pass آنالوگ (آنتی‌الیاسینگ) قبل از ورودی PGA استفاده شود تا فرکانس غیرمطلوب حذف شود. در برخی طراحی‌ها، کاربران توصیه کرده‌اند که مسیر ورودی ECG AC‑کوپل شود تا جریان DC ناخواسته حذف گردد و همچنین نویز فرکانس بالا خیلی زیاد نشود. ترکیب این فیلتر آنالوگ با فیلتر دیجیتال داخلی در ADC می‌تواند کیفیت سیگنال را بسیار بالا ببرد.
🔗 Reference: (TI E2E)


27. آیا TI یک طراحی مرجع سخت‌افزاری (reference design) برای ADS1292R دارد؟

بله، TI یک Reference Design به نام TIDA‑01614 دارد که برای نظارت روی علائم حیاتی طراحی شده است. این طراحی شامل اندازه‌گیری ECG، تنفس، SpO₂ و دمای پوست است و از ADS1292R برای قسمت ECG و تنفس استفاده می‌کند. این طراحی مرجع می‌تواند به عنوان پایه‌ای برای توسعه یک پایشگر چندگانه استفاده شود.
🔗(TI E2E) :Reference


28. چه نکاتی در مورد طراحی lead‑off برای دو کانال وجود دارد؟

وقتی دو کانال ECG دارید (مثلاً برای سیستم دو الکترودی یا سه الکترودی)، باید پیکربندی lead-off را به درستی انجام دهید. در برخی طرح‌ها، کاربرانی پیشنهاد داده‌اند که مقاومت‌هایی را حذف (DNI) یا تغییر دهند تا تشخیص lead-off دقیق‌تر شود. (TI E2E) همچنین، نحوه‌ی اتصال RLD (right leg drive) به زمین بدن باید با دقت برنامه‌ریزی شود تا common‑mode بهینه شود.
🔗(TI E2E) :Reference


29. چرا مقادیر امپدانس تنفسی که خوانده می‌شوند با مقدار نظری متفاوت هستند؟

دلایل احتمالی شامل تنظیم نادرست فاز RESP_PH، عدم تطابق جریان تحریک، یا نویز در خط تنفس است. اگر فاز مدولاسیون به درستی تنظیم نشده باشد، گِین خروجی تغییر کرده و خطا ایجاد می‌شود. TI پیشنهاد می‌دهد که با یک مقاومت دقیق مرجع (مثلاً 500 Ω) آزمایش کنید، فاز را جاروب کنید و مقدار فاز بهینه را بیابید.
🔗(TI E2E):Reference


30. چگونه از مد power-down یا standby در ADS1292R بهره ببریم تا مصرف انرژی را کاهش دهیم؟

ADS1292R امکان قرار گرفتن در مد standby یا power-down را دارد تا در مواقعی که اندازه‌گیری ضروری نیست، مصرف انرژی بسیار پایین (ultra-low) شود. طراحی نرم‌افزار باید شامل کنترل این مدها باشد، مثلاً پس از خواندن داده‌ها، تراشه را به حالت standby ببرید و قبل از شروع نمونه‌برداری بعدی آن را دوباره راه‌اندازی کنید. این کار برای دستگاه‌های باتری‌خور حیاتی است تا عمر باتری افزایش یابد.
🔗 Reference: Official Datasheet – ADS1292R


31. چگونه مقادیر DC تنفس را در میکروکنترلر محاسبه کنیم؟

پس از خواندن داده‌ی دمدوله‌شده (demodulated) تنفس از ADS1292R، می‌توانید مقدار امپدانس را با استفاده از قانون Ohm محاسبه کنید ( ( Z = V / I ) )، جایی که V ولتاژ خوانده‌شده و I جریان تحریک مدولاسیون است. همچنین، باید افست پایه را حذف و کالیبراسیون انجام دهید تا محاسبه دقیق شود. توصیه TI این است که از مقاومت مرجع شناخته‌شده در زمان تنظیم استفاده کنید.
🔗 Reference: TI Application Note – SBAA181


32. آیا میتوان از ADS1292R برای اندازه‌گیری EEG نیز استفاده کرد؟

گرچه ADS1292R برای ECG و تنفس طراحی شده است، استفاده آن برای EEG نیز امکان‌پذیر است به شرط رعایت برخی نکات: انتخاب gain پایین‌تر یا متوسط، طراحی دقیق فیلتر، و اطمینان از جدا بودن مسیرهای آنالوگ از منبع تحریک تنفس. با این حال، به علت مدول تنفس داخلی، نویز تحریک ممکن است روی سیگنال EEG تأثیر بگذارد، پس باید آن را به دقت مدیریت کرد.
🔗 Reference: Official Datasheet – ADS1292R


33. چگونه پایداری مرجع داخلی در ADS1292R را بررسی کنیم؟

برای بررسی پایداری مرجع (reference) داخلی، می‌توانید سیگنال تست داخلی را فعال کنید و خروجی را در زمان طولانی نظارت نمایید. اگر ولتاژ مرجع ناپایدار باشد، ممکن است تغییراتی در مقادیر کالیبراسیون (offset / gain) دیده شود. همچنین می‌توانید مرجع خارجی دقیق را به عنوان مقایسه استفاده کرده و نتایج را مقایسه کنید.
🔗 Reference: Official Datasheet – ADS1292R


34. چگونه خطای gain بین دو کانال ADS1292R را کاهش دهیم؟

برای کاهش اختلاف گِین (gain mismatch) بین دو کانال، می‌توانید کالیبراسیون گِین را با سیگنال تست یا مرجع خارجی انجام دهید و سپس مقدار RESP_PH را تنظیم کنید (اگر از مد تنفس استفاده می‌کنید). همچنین بررسی امپدانس ورودی هر کانال و اطمینان از طراحی سیم‌کشی و الکترود مشابه برای هر کانال مهم است تا توازن حفظ شود.
🔗 Reference: Official Datasheet – ADS1292R


35. منابع رسمی ADS1292R کجا قابل دسترسی هستند؟

TI صفحه رسمی محصول ADS1292R دارد که شامل Datasheet، Application Note، Whitepaper و Reference Design است. از آنجا می‌توانید تمام مدار مرجع، فایل PDF، و توضیحات فنی را دانلود کنید.
🔗 Reference: ADS1292R Product Page – TI (Texas Instruments)

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها، کاربران باید به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند

اگر هر یک از اسناد فنی ناقص یا اشتباه است، لطفاً به ما اطلاع دهید

با نظرات خود به تیم جبرا در بهبود کیفیت کمک کنید

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

2 دیدگاه دربارهٔ «ماژول ECG دو کانال GebraBit ADS1292R»

توجه!

محصولات ما صرفاً برای اهداف تحقیقاتی و توسعه طراحی شده‌اند. جبرابیت صراحتاً اعلام می‌کند که در صورت استفاده کاربران از این محصولات در کاربردهای حساس و دقیق از جمله امور مالی یا مواردی که به جان و مال انسان آسیب می‌زنند، هیچ‌گونه مسئولیتی را نمی‌پذیرد.

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها (IC)، کاربران باید حتماً به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند.

سبد خرید
پیمایش به بالا