Sisukord:
- Samm: lühikirjeldus
- 2. samm: LiPo toiteallikas - skeemid, osad ja kokkupanek
- Samm 3: HR -vastuvõtja ja andmelogija - skeemid, osad ja kokkupanek
- 4. samm: HR -vastuvõtja - vürtside simulatsioon
- Samm: tarkvara
- 6. samm: esialgne seadistamine ja testimine
- 7. samm: kasutamine - meditsiiniline signaalianalüüs
Video: Südameandmete logija: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Kuigi tänapäeval on saadaval palju kaasaskantavaid seadmeid (nutiribad, nutikellad, nutitelefonid jne), mis suudavad tuvastada südame löögisagedust (HR) ja teostada jälgede analüüsi, on rihmavöödel põhinevad süsteemid (nagu pildipildi ülemises osas) laialt levinud ja kasutusel, kuid puudub võimalus mõõtmiste jälgede salvestamiseks ja eksportimiseks.
Oma eelmises juhendatavas kardiosimides olen esitlenud rihmavöö (kardio) simulaatorit, mis selgitab, et üks minu järgnevatest sammudest oli pulsiandmete registreerija väljatöötamine. Olen nüüd valmis seda selles juhendis esitama. Selle kaasaskantava seadme ülesanne on vastu võtta rinnasrihma vöö (või Cardiosimi simulaatori) saadetud südame löögisignaal treeningu ajal (treening/jalgrattasõit/jooksmine jne) ja salvestada jälg SD -kaardile. tehke treeningujärgse tulemuslikkuse analüüs (vt üksikasju viimases peatükis).
Seadme toiteallikaks on laetav akusüsteem, sealhulgas laadimisahel ja alalisvoolu võimendusregulaator.
Kasutasin oma kasutamata materjali „laost“välja sobiva plastkorpuse (135 mm x 45 mm x 20 mm) ja kohandasin sellele vooluringi paigutuse, et see sobiks kokku, tehes töötava prototüübi, mis vastab minu vajadustele (kuid mille realiseerimine jätab ruumi paranemine:-))
Samm: lühikirjeldus
Seda tüüpi seadmete kasutatava LFMC (Low Frequency Magnetic Communication) tehnoloogia kiireks tutvustuseks vaadake Cardiosim Instructable'i 1. sammu.
Minu esimene kavatsus oli kasutada Sparkfun RMCM01 moodulit vastuvõtjaliidesena, kuid seda toodet pole enam saadaval (rääkimata sellest, et see oli niikuinii üsna kallis).
Veebist vaadates leidsin aga selle huvitava õpetuse, mis näitab mõningaid alternatiivseid lahendusi RMCM01 asendamiseks. Valisin kolmanda variandi ("Peter Borst Design", aitäh Peter!), Saavutades suurepärase tulemuse, kasutades Cardiosimi samu L/C komponente, mis on siin ühendatud paralleelse resonantsmahutina. Tuvastatud signaali võimendatakse, "puhastatakse", dekodeeritakse ja edastatakse Arduino Pro Mini mikrokontrollerile. Programm kinnitab vastuvõetud impulsse, mõõdab pulssi (või parem kahe järjestikuse impulsi vahelist intervalli) ja salvestab kõik mõõdetud intervallid ASCII tekstifaili (üks rida kehtiva impulsi kohta, 16 tähemärki, sealhulgas intervall, ajatempel ja LF/CR) microSD -kaardil. Eeldades, et keskmine pulss on 80 lööki minutis, vajab tunnine salvestus vaid (4800 tekstirida x 16 tähemärki) = 76800 /1024 = 75 kBytes, seega pakub isegi odav 1 GB SD -kaart palju salvestusmahtu.
Salvestamise ajal saate jälje jagamiseks sisestada markerijooni ja hinnata eraldi seansi faase.
2. samm: LiPo toiteallikas - skeemid, osad ja kokkupanek
Toiteallikas asub korpuse põhjas. Välja arvatud trimpot, ei ületa ükski komponent 7 mm kõrgust, mis annab ruumi HR -vastuvõtja ja mikrokontrolleri ahela paigaldamiseks toiteallika kohale.
Kasutasin järgmisi osi:
- 3,7 V LiPo aku (mis tahes telefoni akut saab ringlusse võtta, vähendatud võimsus pole siin probleem)
- USB TP4056 laadimismoodul, ostsin selle siit
- SX1308 DC võimendusmuundur, ostsin selle siit
- Väike prototüüpplaat 40 x 30 mm
- Kaabel JST -pistikuga 2, 54 mm, 2 tihvti, nagu see
- (valikuline) JST -pistik 2 mm ja 2 tihvtiga, nagu see
-
(valikuline) JST -pistikuga kaabel 2 mm 2 tihvtiga, nagu see
Kahe viimase elemendi kasutamine sõltub kasutatavast akust ja viisist, kuidas kavatsete selle laadimismooduliga ühendada. Soovitan 2 mm JST pistikut, kuna paljud patareid tarnitakse juba kinnitatud kaabli ja 2 mm pistikuga, mis tahes muu lahendus on piisav, kui see võimaldab vajadusel akut hõlpsalt vahetada. Igal juhul olge montaaži ajal ettevaatlik, et vältida lühiseid aku pooluste vahel.
Moodulit TP4056 toidab mikro-USB-port ja see on ette nähtud laetavate liitiumakude laadimiseks, kasutades pideva voolu / püsipinge (CC / CV) laadimismeetodit. Lisaks liitiumaku turvalisele laadimisele pakub moodul ka vajalikku kaitset, mida nõuavad liitiumakud.
SX1308 on ülitõhus alalisvoolu/alalisvoolu reguleeritav muundur, mis hoiab väljundpinge konstantsena +5 V juures minimaalse sisendpingega 3 V, võimaldades seega aku võimsust täielikult ära kasutada. Enne mikrokontrolleri vooluahela ühendamist reguleerige väljundpinget trimpotiga +5V!
Andmelogija kogutarbimine on umbes 20 mA, seega võimaldab isegi kasutatud aku, mille jääkmaht on 200 mAh (<20% uue telefoni aku esialgsest mahust), salvestada 10 tundi. Ainus puudus on see, et SX1308 puhkevool on umbes 2mA, nii et parem on aku lahti ühendada, kui te ei kasuta andmekogurit pikka aega.
Väikese suuruse tõttu tuleb mõlemad moodulid kinnitada ühendusavade abil nii elektriliseks kui ka mehaaniliseks ühendamiseks prototüüpplaadiga lühikeste vasktraaditükkide abil. Plaat kinnitatakse omakorda korpuse aluse külge 3 mm x 15 mm kruviga (pikkus on piisav, et kinnitada sama kruviga ülaltoodud mikrokontrolleri ahel). Tahvlil on aku JST 2 mm pistik (saadaval ainult SMD versioonis, kuid tihvtide vertikaalsesse kokkupanekusse saate seda PTH versioonis "keerata") ja kõik juhtmed vastavalt skeemile. Kindluse mõttes liimisin pistiku korpuse plaadile, saavutades hea mehaanilise tihendi.
Aku asetatakse tühjaks korpuse põhja ülejäänud osas ja selle taga on teine 3 mm x 15 mm kruvi koos 8 mm vertikaalse vahekaugusega, et vältida kontakte aku ülaosa (mis on niikuinii isoleeritud) ja aku põhja vahel. ülemine ahel.
Samm 3: HR -vastuvõtja ja andmelogija - skeemid, osad ja kokkupanek
Põhiplaat koosneb:
- Prototüüpplaat 40 mm x 120 mm
- Induktiivsus 39mH, kasutasin BOURNS RLB0913-393K
- 2 x kondensaator 22nF
- Kondensaator 4,7 nF
- Kondensaator 47 nF
- Kondensaator 39pF
- Elektrolüütiline kondensaator 10uF/25V
- Elektrolüütkondensaator 1uF/50V
- 3 x takisti 10K
- 2 x takisti 100K
- 3 x takisti 1K
- 4 x takisti 220R
- Takisti 1M
- Takisti 47K
- Takisti 22K
- Trimpot 50K
- Diood 1N4148
- LED 3 mm sinine
- 2 x LED 3 mm roheline
- LED 3mm kollane
- LED 3mm punane
- Kahe madala müratasemega JFET-sisendiga töövõimendid TL072P
- Kuuskantpööratav Schmitti käivitusseade 74HC14
- JST -pistik 2,54 mm 2 tihvti, nagu see
- 2 x mikrolülitit, Alcoswitch tüüpi
- Mikrokontroller Arduino Pro Mini, 16MHz 5V
- Micro SD -kaardi moodul SPI 5V firmalt DFRobots
L1 ja C1 koosseisu kuuluva paralleelse resonantsmahuti resonantssagedus on umbes 5,4 kHz, mis sobib piisavalt lähedale edastatava signaali magnetvälja kandja 5,3 kHz pingeks muundamiseks. Pidage meeles, et enamikul juhtudel on kandja moduleeritud lihtsa OOK-vormingu (On-OFF Keying) alusel, kus iga südameimpulss lülitab kandja umbes 10 ms sisse. Tuvastatud signaal on väga nõrk (tavaliselt 1 mV siinlaine 60-80 cm kaugusel allikast, eeldusel, et induktiivsuse telg on magnetväljaga õigesti joondatud), mistõttu tuleb seda häirete ja võltsimise vältimiseks hoolikalt võimendada avastused. Kavandatud skeem on minu pingutuste ja tundide pikkuse katsetamise tulemus erinevates tingimustes. Kui olete huvitatud selle aspekti süvendamisest - ja võib -olla selle täiustamisest -, vaadake järgmist sammu, vastasel juhul võite selle vahele jätta.
Järgmised Schmitt Trigger väravad täidavad digitaliseerimise ja piigi tuvastamise funktsiooni, taastades algse moduleeriva signaali, mis edastatakse Arduino Pro Mini -le.
Pro Mini mikrokontrolleriplaat sobib selle projekti jaoks suurepäraselt, kuna pardal olev kristall võimaldab mõõtmisi väga täpselt (mis on meditsiinilise vaatenurga jaoks hädavajalikud, vt viimast sammu) ja samal ajal on see vaba kõigist muudest pole vaja seadet, mille tulemuseks on väike energiatarve. Ainus puudus on see, et koodi laadimiseks vajate FTDI -liidest, et ühendada Pro Mini arvuti USB -pordiga. Pro Mini on ühendatud:
- Lüliti S1: alustage salvestamist
- Lüliti S2: sisestage marker
- Sinine LED: vilgub, kui tuvastatakse kehtiv impulss
- Roheline LED: salvestamine algas
- Kollane LED: marker on sisestatud (lühike vilkumine) / ajalõpp (fikseeritud)
- MicroSD -kaardi moodul (SPI -siini kaudu)
Erinevalt paljudest SD -kaardi moodulitest, mis töötavad 3,3 V pingel, töötab DFRobot moodul 5 V pingel, seega pole taseme nihutajat vaja.
Mis puutub kokkupanekusse, siis võite märgata, et olen jaganud prototüüpimisplaadi kaheks osaks, mis on ühendatud kahe väikese "sillaga" jäigast 1 mm vasktraadist. See on olnud vajalik, et tõsta MicroSD -kaardi moodul kolmandale "ehitustasandile" ja viia see korpuse külge süvendiga, mis on vahetult USB -pordi pilu kohal. Lisaks nikerdasin tahvlile kolm süvendit, millest üks oli juurdepääs alalisvoolu/alalisvoolu muunduri potentsiomeetrile, teine pääses juurde Arduino Pro Mini jadasiini pistikule (paigaldatud "esikülg allapoole") ja kolmas induktiivsus.
4. samm: HR -vastuvõtja - vürtside simulatsioon
Alustades Peter Borsti disainist, mida ma varem mainisin, oli minu eesmärk proovida avastamisulatust nii palju kui võimalik laiendada, piirates samal ajal tundlikkust häirete ja valeimpulsside tekke suhtes.
Otsustasin muuta esialgset ühe op-võimendi lahendust, kuna see on osutunud liiga tundlikuks häirete suhtes, ilmselt seetõttu, et 10M tagasiside takisti väärtus on liiga kõrge, ja jagada üldine võimendus kaheks etapiks.
Mõlemal etapil on alalisvoolu võimendus G = 100, vähenedes umbes 70 @5,4KHz, kuid tundlikkuse optimeerimiseks erineva sisendtakistusega.
Seega oletame, et LC paagi poolt genereeritud kõige nõrgema signaali pinge on 1 mV.
Kui me transponeerime kogu vastuvõtja vooluahela Spice keskkonnas (ma kasutan ADIsimPE -d), asendades LC paralleelse ahela sama pinge ja sagedusega (5,4 KHz) siinusgeneraatoriga ja käivitame simulatsiooni, märkame, et väljundpinge V1 alates esimesest võimendi on endiselt siinuslaine (mastaabiteguri tõttu ei ole sisend -siinlaine märgatav), ti võimendi töötab lineaarses tsoonis. Kuid pärast teist etappi näitab väljundpinge V2, et oleme jõudnud küllastuseni (Vhigh = Vcc-1.5V / Vlow = 1.5V). Tegelikult ei ole TL07x perekond mõeldud rööbastelt rööbasteele jõudmiseks, kuid sellest piisab, et ületada ohutu varuga mõlemad Schmitti käivitusvärava lävitasemed ja tekitada puhas ruutlaine (V3).
Samm: tarkvara
Vastuvõtjaetapi suure võimenduse tõttu ja hoolimata sellest, et tipuanduri etapp toimib põhimõtteliselt madalpääsfiltrina, võib Arduino Pro Mini tihvti D3 sisendsignaal olla endiselt tugevalt häiritud ja seda tuleb digitaalselt eeltöödelda. kehtivuskontroll valede avastuste suhtes. Kood tagab, et impulsi kehtivaks lugemiseks on täidetud kaks tingimust:
- Pulss peab kestma vähemalt 5 ms
- Minimaalne vastuvõetav intervall kahe järjestikuse impulsi vahel on 100 ms (vastab 600 löögile minutis, mis ületab tõsise tahhükardia piiri!)
Kui impulss on kinnitatud, mõõdetakse eelmise intervalli (ms) ja salvestatakse SD -kaardile faili "datalog.txt" koos ajatempliga vormingus hh: mm: ss, kus 00:00: 00 tähistab mikrokontrolleri viimase lähtestamise aega. Kui SD -kaart puudub, süttib punane LED, mis näitab viga.
Uut salvestusjälge saab käivitada/peatada käivitus-/seiskamislülitiga S1 ning see tuvastatakse vastavalt tekstifaili alguses ja lõpus märgistusjoonega "; Start" ja "; Stop".
Kui impulsi ei tuvastata kauem kui 2400 ms (25 lööki minutis), sisestatakse faili markerjoon "; Timeout" ja kollane LED D4 süttib.
Kui märgistuslülitit S2 vajutatakse salvestamise ajal täiendavasse markeri rida vormingus "; MarkerNumber", mis lisatakse automaatselt numbrimärgi numbrit alates 0, ja kollane LED vilgub peagi.
Lisas täieliku Arduino koodi.
6. samm: esialgne seadistamine ja testimine
7. samm: kasutamine - meditsiiniline signaalianalüüs
Kasutatud korpuse vorm on nutitelefoni omale piisavalt lähedal, nii et leiate turult palju tarvikuid selle kandmiseks või treeningvarustusele kinnitamiseks. Eelkõige jalgratta jaoks võin soovitada universaalset nutitelefoni kinnitust nimega "Finn", mille on tootnud Austria Bike Citizens ettevõte. Odav (15, 00 eurot) ja lihtne paigaldada, see on tõesti universaalne ja nagu pildilt näha, sobib ideaalselt ka Cardio Data Logger jaoks
Lihtsaim viis andmete logija salvestatud algandmete kasutamiseks on nende graafikusse joonistamine standardsete arvutiprogrammide (nt Excel) abil. Võrreldes sama harjutuse kordamisel saadud graafikuid või analüüsides korrelatsiooni HR variatsioonide ja füüsiliste pingutuste vahel, saate optimeerida jõudude annust tegevuse ajal.
Suurimat huvi pakub aga HR, eriti aga HR Variablity (HRV) uuring meditsiinilistel eesmärkidel. Erinevalt EKG rajast ei sisalda HR jälg otsest teavet südamelihase toimimise kohta. Kuid selle analüüs statistilisest vaatenurgast võimaldab saada muud kliiniliselt huvipakkuvat teavet.
Kõige põhjalikum teadmiste allikas HRV kohta on Soome ettevõte KUBIOS. Nende saidilt leiate palju teavet biomeditsiiniliste signaalide kohta ja saate alla laadida "KUBIOS HRV Standard", tasuta südame löögisageduse muutlikkuse analüüsi tarkvara mitteäriliseks uurimistööks ja isiklikuks kasutamiseks. See tööriist võimaldab mitte ainult graafikuid lihtsast tekstifailist joonistada (peate ajatemplid eemaldama), vaid ka statistilisi ja matemaatilisi hindamisi (sh FFT) ning koostada uskumatult üksikasjalikku ja väärtuslikku aruannet, nagu allpool.
Pidage meeles, et ainult spetsialiseerunud arst on võimeline otsustama, milliseid eksameid mis tahes tasemel spordipraktikaks vaja on, ja hindama nende tulemusi.
See juhend on kirjutatud ainsa eesmärgiga tekitada huvi ja lõbu elektroonika rakendamisel tervishoius.
Loodan, et teile meeldis, kommentaarid on teretulnud!
Soovitan:
GPS -i korpuse andmete logija: 7 sammu (piltidega)
GPS -i Cap Data Logger: Siin on suurepärane nädalavahetuse projekt, kui teete matkamist või võtate pikki jalgrattasõite ja vajate GPS -i andmesalvestit, et jälgida kõiki teie tehtud rännakuid/sõite … Kui olete ehituse lõpetanud ja laadis andmed alla seadme GPS -moodulist
Tehke oma elektriarvesti/logija: 5 sammu (piltidega)
Tehke oma voolumõõtur/logija: Selles projektis näitan teile, kuidas ühendasin Arduino, INA219 võimsusmonitori IC, OLED LCD ja Micro SD kaardi PCB, et luua võimsusmõõtur/logger, millel on rohkem funktsioone kui populaarne USB -voolumõõtur. Alustame
Vahelduvvoolu jälgimisandmete logija: 9 sammu (piltidega)
Vahelduvvoolu seireandmete logija: Tere kõigile, tere tulemast minu esimesse juhendamisse! Päeval olen katseinsener ettevõttes, mis tarnib tööstuslikke kütteseadmeid, öösel agar tehnikahuviline ja isetegija. Osa minu tööst hõlmab kütteseadmete jõudluse testimist
Avatud lähtekoodiga andmete logija (OPENSDL): 5 sammu (piltidega)
Avatud lähtekoodiga andmete logija (OPENSDL): Selle projekti eesmärk on projekteerida, ehitada ja katsetada odavat mõõtmissüsteemi hoonete toimivuse hindamise uuringute jaoks, mis hõlmavad vähemalt temperatuuri, suhtelist niiskust, valgustust ja on laiendatavad täiendavatele anduritele, ja arendada
Nesti termostaadi ajaloo andmete logija: 6 sammu (koos piltidega)
Nesti termostaadi ajaloo andmekoguja: Nesti termostaat jälgib temperatuuri, niiskust ja ahju/vahelduvvoolu kasutamist ning kasutajad näevad ajaloolisi andmeid ainult 10 päeva jooksul. Tahtsin koguda ajaloolisi andmeid (> 10 päeva) ja leidsin Google'i arvutustabelite skripti, mis pingutab iga määratud aja tagant