Cuprins:

Cardio Data Logger: 7 pași (cu imagini)
Cardio Data Logger: 7 pași (cu imagini)

Video: Cardio Data Logger: 7 pași (cu imagini)

Video: Cardio Data Logger: 7 pași (cu imagini)
Video: Iuly Neamtu - Cum o dai tu | Manele Mentolate 2024, Noiembrie
Anonim
Cardio Data Logger
Cardio Data Logger

Deși în zilele noastre sunt disponibile multe dispozitive portabile (benzi inteligente, ceasuri inteligente, smartphone-uri, …) care pot detecta ritmul cardiac (HR) și pot efectua analize de urmărire, sistemele bazate pe curele toracice (precum cel din partea superioară a imaginii thr) sunt încă larg răspândită și utilizată, dar lipsită de posibilitatea de a înregistra și exporta urmele măsurătorilor.

În cardiosimul meu anterior instructabil, am prezentat un simulator cu curea toracică (Cardio) care explică faptul că unul dintre următorii mei pași a fost dezvoltarea unui data logger al ritmului cardiac. Acum sunt gata să-l prezint în acest instructabil. Funcția acestei unități portabile este de a primi semnalul HR trimis de o curea de curea toracică (sau de simulatorul Cardiosim) în timpul unei sesiuni de traning (antrenament / ciclism / alergare, …) și de a înregistra urmele pe un card SD, pentru a efectuați o analiză a performanței după antrenament (a se vedea detaliile din ultimul capitol).

Unitatea este alimentată de un sistem de baterii reîncărcabile, inclusiv circuit de încărcare și regulator de impuls DC.

Din „depozitul” meu de material neutilizat am pescuit o carcasă de plastic adecvată (135mm x 45mm x 20mm) și am adaptat la acesta aspectul circuitului pentru a se potrivi împreună, făcând un prototip de lucru care să îndeplinească nevoile mele (dar a căror realizare lasă loc pentru îmbunătățire:-))

Pasul 1: Scurtă descriere

Vă rugăm să consultați Pasul 1 din Cardiosim Instructable pentru o introducere rapidă despre tehnologia LFMC (Low Frequency Magnetic Communication) utilizată de acest tip de dispozitive.

Prima mea intenție a fost să folosesc modulul Sparkfun RMCM01 ca interfață pentru receptor, dar acest produs nu mai este disponibil (darămite că era oricum destul de scump).

Cu toate acestea, uitându-mă pe WEB, am găsit acest tutorial interesant, care prezintă câteva soluții alternative pentru a înlocui RMCM01. Am ales a treia opțiune („Peter Borst Design”, mulțumesc lui Peter!), Obținând un rezultat excelent folosind aceleași componente L / C ale Cardiosim, oricum conectate aici ca rezervor rezonant paralel. Semnalul detectat este amplificat, „curățat”, decodat și redirecționat către un microcontroler Arduino Pro Mini. Programul validează impulsurile primite, măsoară frecvența cardiacă (sau mai bine intervalul dintre două impulsuri succesive) și stochează toate intervalele măsurate într-un fișier text ASCII (o linie pe impuls valid, 16 caractere fiecare, inclusiv intervalul, timestamp și LF / CR) în cardul microSD. Presupunând un HR mediu de 80bpm, o oră de înregistrare are nevoie doar (4800 de linii de text x 16 caractere) = 76800/1024 = 75kBiți, prin urmare chiar și un card SD ieftin de 1 GB oferă o capacitate de înregistrare mare.

În timpul înregistrării puteți insera linii de marcaj pentru a împărți urmele și a evalua separat diferitele faze ale sesiunii.

Pasul 2: Alimentare LiPo - Scheme, piese și asamblare

Alimentare LiPo - Scheme, piese și ansamblu
Alimentare LiPo - Scheme, piese și ansamblu
Alimentare LiPo - Scheme, piese și ansamblu
Alimentare LiPo - Scheme, piese și ansamblu

Sursa de alimentare ocupă partea inferioară a carcasei. Cu excepția trimpotului, nici o componentă nu depășește 7 mm înălțime, ceea ce oferă spațiu pentru montarea receptorului HR și a circuitului de microcontroler deasupra sursei de alimentare.

Am folosit următoarele părți:

  • Baterie LiPo de 3,7 V (orice baterie de telefon poate fi reciclată, capacitatea redusă nu este o problemă aici)
  • Modul de încărcare USB TP4056, l-am cumpărat aici
  • SX1308 DC boost converter, l-am cumpărat aici
  • Placă mică de prototipare 40 x 30 mm
  • Cablu cu conector JST 2, 54mm 2 pini, ca acesta
  • (opțional) conector JST 2mm 2 pini, ca acesta
  • (opțional) Cablu cu conector JST 2mm 2 pini, ca acesta

Utilizarea ultimelor două articole depinde de bateria pe care o veți utiliza și de modul în care intenționați să îl conectați la modulul încărcătorului. Vă sugerez conectorul JST de 2 mm deoarece multe baterii sunt livrate cu cablu deja atașat și mufă de 2 mm, orice altă soluție este adecvată atâta timp cât permite înlocuirea ușoară a bateriei, dacă este necesar. În orice caz, aveți grijă să evitați scurtcircuitele între stâlpii bateriei în timpul asamblării.

Modulul TP4056 este alimentat de la un port micro USB și este conceput pentru încărcarea bateriilor reîncărcabile cu litiu utilizând metoda de încărcare a curentului constant / tensiunii constante (CC / CV). Pe lângă încărcarea în siguranță a unei baterii cu litiu, modulul oferă și protecția necesară necesară bateriilor cu litiu.

SX1308 este un convertor DC / DC Step Up Adjustable Converter, de înaltă eficiență, care menține tensiunea de ieșire constantă la + 5V cu o tensiune minimă de intrare de 3V, permițând astfel exploatarea completă a capacității bateriei. Reglați tensiunea de ieșire cu trimpot la + 5V înainte de a conecta circuitul microcontrolerului!

Consumul total al Data Logger este de aproximativ 20mA, astfel chiar și o baterie uzată cu o capacitate reziduală de 200mAh (<20% din capacitatea inițială a unei baterii noi de telefon) va permite înregistrarea a 10 ore. Singurul dezavantaj este că curentul de repaus SX1308 este de aproximativ 2mA, deci mai bine deconectați bateria dacă nu utilizați Data Logger pentru o lungă perioadă de timp.

Datorită dimensiunilor mici, ambele module trebuie fixate folosind orificiile de conectare atât pentru conectarea electrică, cât și mecanică cu placa de prototipare, prin bucăți scurte de sârmă de cupru. La rândul său, placa este atașată la baza carcasei cu un șurub de 3 mm x 15 mm (lungimea este suficientă pentru a fixa circuitul microcontrolerului de mai sus cu același șurub). Placa găzduiește conectorul JST de 2 mm pentru baterie (disponibil doar în versiunea SMD, dar rabatând pinii pe verticală îl puteți „roti” într-o versiune PTH) și toate cablurile conform schemelor. Doar pentru a fi sigur, am lipit corpul conectorului de placă, obținând o etanșare mecanică bună.

Bateria este așezată în zona rămasă a fundului carcasei, iar în spatele acesteia există un al doilea șurub de 3 mm x 15 mm cu un distanțier vertical de 8 mm pentru a evita contactele între partea superioară a bateriei (care oricum este izolată) și partea inferioară a bateriei. circuit superior.

Pasul 3: Receptor HR și Data Logger - Scheme, piese și asamblare

Receptor HR și Data Logger - Scheme, piese și asamblare
Receptor HR și Data Logger - Scheme, piese și asamblare
Receptor HR și Data Logger - Scheme, piese și asamblare
Receptor HR și Data Logger - Scheme, piese și asamblare
Receptor HR și Data Logger - Scheme, piese și asamblare
Receptor HR și Data Logger - Scheme, piese și asamblare

Placa principală este formată din:

  • Placă de prototip 40mm x 120mm
  • Inductanță 39mH, am folosit BOURNS RLB0913-393K
  • 2 x condensator 22nF
  • Condensator 4.7nF
  • Condensator 47nF
  • Condensator 39pF
  • Condensator electrolitic 10uF / 25V
  • Condensator electrolitic 1uF / 50V
  • 3 x rezistor 10K
  • 2 x rezistor 100K
  • 3 x Rezistor 1K
  • 4 x Rezistor 220R
  • Rezistor 1M
  • Rezistor 47K
  • Rezistor 22K
  • Trimpot 50K
  • Dioda 1N4148
  • LED 3mm Albastru
  • 2 x LED 3mm verde
  • LED 3mm Galben
  • LED 3mm Roșu
  • Amplificatoare operaționale duale cu intrare JFET cu zgomot redus TL072P
  • Inversare hexagonală Schmitt Trrigger 74HC14
  • Conector JST 2,54 mm 2 pini, ca acesta
  • 2 x microîntrerupătoare, tip Alcoswitch
  • Microcontroler Arduino Pro Mini, 16MHz 5V
  • Modul de card micro SD SPI 5V de la DFRobots

Frecvența de rezonanță a rezervorului de rezonanță paralel compus de L1 și C1 este de aproximativ 5,4 kHz, care se potrivește suficient de aproape cu 5,3 kHz a purtătorului de câmp magnetic al semnalului transmis pentru a-l converti într-o tensiune. Amintiți-vă că, în majoritatea cazurilor, purtătorul este modulat pe baza unui format simplu OOK (On-OFF Keying), unde fiecare puls cardiac comută purtătorul „ON” timp de aproximativ 10 ms. Semnalul detectat este foarte slab (în mod tipic o undă sinusoidală de 1mV la o distanță de 60-80cm de sursă, cu condiția ca axa inductanței să fie corect aliniată cu câmpul magnetic), astfel trebuie să fie amplificată cu atenție pentru a evita interferențele și falsurile detecții. Circuitul propus este rezultatul eforturilor mele și al orelor de testare în diferite condiții. Dacă sunteți interesat să aprofundați acest aspect - și poate să îl îmbunătățiți - aruncați o privire la pasul următor, altfel îl puteți omite.

Următoarele porți Schmitt Trigger realizează digitalizarea și o funcție de detectare a vârfurilor, restabilind semnalul de modulare original, care este redirecționat către Arduino Pro Mini.

Placa de microcontroler Pro Mini este perfectă pentru acest proiect, deoarece cristalul de la bord permite o precizie ridicată a măsurătorilor (care sunt esențiale din punct de vedere „medical”, vezi ultimul pas), și în același timp este liber de orice alt dispozitiv nu este necesar, ceea ce duce la un consum redus de energie. Singurul dezavantaj este că pentru a încărca codul, veți avea nevoie de o interfață FTDI pentru a conecta Pro Mini la portul USB al computerului. Pro Mini este conectat la:

  • Comutatorul S1: începe înregistrarea
  • Comutatorul S2: introduceți Marker
  • LED albastru: clipește când este detectat un impuls valid
  • LED verde: Înregistrarea a început
  • LED galben: Marker introdus (clipire scurtă) / Timeout (fix)
  • Modul card microSD (prin magistrala SPI)

Spre deosebire de multe module de carduri SD care funcționează la 3,3 V, modulul DFRobot funcționează la 5 V, deci nu este nevoie de schimbător de nivel.

În ceea ce privește ansamblul, este posibil să observați că am împărțit placa de prototipare în două bucăți, conectate cu două „punți” mici din sârmă rigidă de cupru de 1 mm. Acest lucru a fost necesar pentru a ridica modulul cardului MicroSD la un al treilea „nivel de construcție” și a-l alinia cu locașul pe care l-am sculptat pe carcasă, chiar deasupra fantei pentru portul USB. Mai mult, am sculptat trei locașuri pe placa în sine, unul pentru a accesa potențiometrul convertorului DC / DC, altul pentru a accesa conectorul magistralei seriale a Arduino Pro Mini (montat „cu fața în jos”), iar al treilea pentru inductanţă.

Pasul 4: Receptor HR - Simulare condiment

Receptor HR - Simulare condiment
Receptor HR - Simulare condiment

Pornind de la designul lui Peter Borst pe care l-am menționat anterior, scopul meu a fost să încerc să extind cât mai mult posibil gama de detectare, limitând în același timp sensibilitatea la interferențe și generarea de impulsuri false.

Am decis să schimb soluția originală Op-Amp, deoarece s-a dovedit a fi prea sensibilă la interferențe, probabil pentru că valoarea rezistorului de feedback de 10M este prea mare și să împart câștigul general în două etape.

Ambele etape au un câștig DC G = 100, în scădere în jur de 70 @ 5,4 KHz, dar cu impedanță de intrare diferită pentru a optimiza sensibilitatea.

Deci, să presupunem că tensiunea celui mai slab semnal generat de rezervorul LC este de 1mV.

Dacă transpunem întregul circuit al receptorului într-un mediu Spice (folosesc ADIsimPE) înlocuind circuitul paralel LC cu un generator de sinusuri cu aceeași tensiune și frecvență (5,4 KHz) și rulăm simularea, observăm că tensiunea de ieșire V1 de la primul amplificatorul este încă o undă sinusoidală (din cauza factorului de scară, undele sinusoidale de intrare nu sunt apreciabile), ti amplificatorul funcționează în zona liniară. Dar după a doua etapă, tensiunea de ieșire V2 arată că acum atingem saturația (Vhigh = Vcc-1.5V / Vlow = 1.5V). De fapt, familia TL07x nu este concepută pentru gama de ieșire șină-șină, dar acest lucru este suficient pentru a depăși cu o marjă sigură ambele niveluri de prag ale porții Schmitt Trigger și a genera o undă pătrată curată (V3).

Pasul 5: Software

Software
Software

Datorită câștigului ridicat al etapei receptorului și, în ciuda faptului că etapa detectorului de vârf acționează practic ca un filtru de trecere joasă, semnalul de intrare de pe pinul D3 al Arduino Pro Mini poate fi în continuare puternic perturbat și trebuie să fie pre-procesat digital printr-un verificarea validității împotriva detectărilor false. Codul asigură îndeplinirea a două condiții pentru a considera valabil un impuls:

  1. Pulsul trebuie să dureze cel puțin 5 ms
  2. Intervalul minim acceptabil între două impulsuri succesive este de 100 ms (corespunzător la 600 bpm, cu mult peste limita unei tahicardii severe!)

Odată ce pulsul este validat, intervalul (în ms) de la precedent este măsurat și stocat pe cardul SD într-un fișier „datalog.txt”, împreună cu un timestamp în format hh: mm: ss, unde 00:00: 00 reprezintă ora ultimei resetări a microcontrolerului. Dacă cardul SD lipsește, LED-ul roșu se aprinde indicând o eroare.

O nouă urmă de înregistrare poate fi pornită / oprită cu comutatorul Start / Stop S1 și va fi identificată printr-o linie de marcaj „; Start” și „; Stop” respectiv la începutul și la sfârșitul fișierului text.

Dacă nu este detectat nici un impuls pentru o perioadă mai lungă de 2400 ms (25 bpm), în fișier este plasată o linie de marcare „; Timeout” și LED-ul galben D4 este pornit.

Dacă butonul Marker S2 este apăsat în timpul înregistrării unei linii de marker suplimentare în formatul "; MarkerNumber", cu creșterea automată a numărului de marker începând de la 0, este scris în fișier, iar LED-ul galben clipește în scurt timp.

Atașat codul Arduino complet.

Pasul 6: Configurare inițială și testare

Image
Image
Configurare inițială și testare
Configurare inițială și testare

Pasul 7: Utilizare - Analiza semnalului medical

Utilizare - Analiza semnalului medical
Utilizare - Analiza semnalului medical

Forma carcasei pe care am folosit-o este suficient de apropiată de cea a unui smartphone, astfel încât să puteți găsi pe piață o mulțime de accesorii pentru a o purta sau pentru a o monta pe un echipament de antrenament. În special pentru bicicletă pot sugera montura universală pentru smartphone numită „Finn”, produsă de compania Austrian Bike Citizens. Ieftin (15,00 EUR) și ușor de montat, este cu adevărat universal și, după cum puteți vedea în imagine, este perfect și pentru Cardio Data Logger

Cea mai simplă modalitate de a utiliza datele brute înregistrate de Data Logger este reprezentarea lor într-un grafic utilizând programe PC standard (de exemplu, Excel). Comparând graficele obținute repetând același exercițiu sau analizând corelația dintre variațiile HR și eforturile fizice, puteți optimiza doza de forțe în timpul activității.

Dar cel mai mare interes este studiul HR și, în special, al Variabilității HR (HRV), în scopuri medicale. Spre deosebire de o cale ECG, urma HR nu conține informații directe despre funcționarea mușchiului cardiac. Cu toate acestea, analiza sa din punct de vedere statistic permite obținerea altor informații de interes clinic.

Cea mai cuprinzătoare sursă de cunoștințe despre HRV este compania finlandeză KUBIOS. Pe site-ul lor puteți găsi o mulțime de informații despre semnale biomedicale și puteți descărca „KUBIOS HRV Standard”, un software gratuit de analiză a variabilității ritmului cardiac pentru cercetare necomercială și utilizare personală. Acest instrument vă permite nu numai să trasați grafice dintr-un fișier text simplu (trebuie să eliminați marcajele de timp), ci și să efectuați evaluări statistice și matematice (inclusiv FFT) și să produceți un raport incredibil de detaliat și valoros, precum cel atașat mai jos.

Rețineți că numai un medic specializat este capabil să decidă ce examene sunt necesare pentru practica sportivă la orice nivel și să evalueze rezultatele acestora.

Acest instructabil a fost scris cu singura intenție de a crea interes și distracție în aplicarea produselor electronice la îngrijirea sănătății.

Sper că v-a plăcut, comentariile sunt binevenite!

Recomandat: