Table of Contents

Real-time ECG Analyzer

Introducere

Proiectul constă într-un sistem de monitorizare a activității cardiace (ECG) în timp real, alcătuit dintr-un modul AD8232 conectat la un Marble Pico. Dispozitivul afișează waveform-ul activității cardiace și calculează frecvența cardiacă cu precizie ridicată.

Obiective principale:

Motivația proiectului: Majoritatea soluțiilor existente se limitează la măsurarea frecvenței cardiace. Acest proiect oferă o analiză completă a semnalului ECG, incluzând filtrarea avansată DSP și detectarea automată a problemelor de conectare.

Descriere generală

Workflow utilizator:

  1. Conectarea electrozilor - LED-uri de stare indică conectarea corectă (roșu = deconectat, verde = conectat)
  2. Interfața USB - Conectare automată la calculator prin USB CDC
  3. Lansarea aplicației - Auto-detectare dispozitiv și inițializare
  4. Monitorizare live - Afișare continuă cu analiza calității semnalului

Procesarea semnalului:

Hardware Design

Lista componente:

Componentă Specificații Rol
AD8232 Amplificator instrumental ECG Achiziție și pre-procesare semnal
Marble Pico RP2040, 264KB RAM Procesare și comunicație
Condensator 0.47µF Filtru low-pass
Rezistor 20kΩ Polarizare amplificator
Electrozi Gel solid Interfață bioelectrică

Interfețe hardware utilizate:

Circuit de filtrare: Filtrul low-pass pasiv (R=20kΩ, C=0.47µF) oferă o frecvență de tăiere fc = 1/(2πRC) ≈ 17Hz, eliminând zgomotul muscular și interferențele de înaltă frecvență.

razvan.rotaru1601-hardware.jpg

Software Design

Firmware (Marble Pico):

#define SAMPLING_INTERVAL_MS 4 // 250 Hz
 
bool timer_callback(repeating_timer_t *rt) {
    gpio_put(LED_PIN, !gpio_get(LED_PIN));
 
    int16_t adc_value = -1;
    bool leads_connected = true;
 
    if (gpio_get(LO_PLUS) || gpio_get(LO_MINUS)) {
        leads_connected = false;
    }
 
    if (leads_connected) {
        adc_value = adc_read();
    }
    printf("%d\n", adc_value);
    return true;
}

Caracteristici firmware:

Aplicația desktop:

Funcționalități:

Rezultate Obținute

Funcționalități implementate:

Potențial de scalare: Design-ul permite extinderea cu mai multe canale ECG prin multiplexarea ADC-ului și procesarea paralelă.

Concluzii

Lecții învățate:

Dezvoltări viitoare:

  1. Îmbunătățirea filtrării - filtre digitale mai avansate în software
  2. PCB dedicat pentru reducerea zgomotului și a dimensiunilor
  3. Algoritmi mai buni pentru detectarea heart rate-ului în prezența zgomotului
  4. Interfață mai user-friendly cu setări configurabile

Download

https://github.com/RouterInfoMan/ecg-pm

Conține:

Jurnal

razvan.rotaru1601-ecg_output.jpg

Bibliografie/Resurse

https://github.com/GroundStudio/GroundStudio_Marble_Pico/blob/main/Documentation/REV0.0.3/Datasheet%20GroundStudio%20Marble%20Pico%20REV%201.1.pdf

Export to PDF