Indholdsfortegnelse:
- Trin 1: Kort beskrivelse
- Trin 2: LiPo strømforsyning - skemaer, dele og samling
- Trin 3: HR -modtager og datalogger - skemaer, dele og samling
- Trin 4: HR -modtager - Spice Simulation
- Trin 5: Software
- Trin 6: Indledende opsætning og test
- Trin 7: Anvendelse - Medicinsk signalanalyse
Video: Cardio datalogger: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Selvom der i dag er mange bærbare enheder (smartbands, smartwatches, smartphones,…) til rådighed, der kan registrere puls (HR) og udføre sporanalyse, er seler baseret på brystbælter (som det i den øverste del af billedet) stadig udbredt og brugt, men mangler mulighed for at registrere og eksportere sporene af målingerne.
I min tidligere Instructable Cardiosim har jeg præsenteret en simulator til brystbælte (Cardio), der forklarer, at et af mine næste trin var at udvikle en pulsdatalogger. Jeg er nu klar til at præsentere det i denne Instructable. Funktionen af denne bærbare enhed er at modtage HR -signalet, der sendes af et brystbæltebælte (eller Cardiosim -simulatoren) under en træningssession (træning/cykling/løb, …) og registrere sporet på et SD -kort for at udføre en efter træning præstationsanalyse (se detaljer i det sidste kapitel).
Enheden drives af et genopladeligt batterisystem, inklusive opladningskredsløb og DC boost -regulator.
Fra mit "lager" af ubrugt materiale fiskede jeg en passende plastkasse (135 mm x 45 mm x 20 mm) og tilpassede til det kredsløbets layout, så det passede sammen, hvilket lavede en fungerende prototype, der opfylder mine behov (men hvis erkendelse efterlader plads til forbedring:-))
Trin 1: Kort beskrivelse
Se venligst trin 1 i Cardiosim Instructable for en hurtig introduktion om LFMC (lavfrekvent magnetisk kommunikation) teknologi, der bruges af denne slags enheder.
Min første intention var at bruge Sparkfun RMCM01 -modulet som modtagerinterface, men dette produkt er ikke længere tilgængeligt (endsige at det alligevel var ret dyrt).
Men da jeg kiggede på WEB, fandt jeg denne interessante vejledning, som viser nogle alternative løsninger til udskiftning af RMCM01. Jeg valgte den tredje mulighed ("Peter Borst Design", tak Peter!), Og opnåede et fremragende resultat ved hjælp af de samme L/C -komponenter i Cardiosim, dog forbundet her som parallel resonant tank. Det detekterede signal forstærkes, "renses", dekodes og videresendes til en Arduino Pro Mini mikrokontroller. Programmet validerer de modtagne pulser, måler pulsen (eller bedre intervallet mellem to på hinanden følgende pulser) og gemmer alle målte intervaller i en ASCII -tekstfil (en linje pr. Gyldig puls, hver 16 tegn inklusive interval, tidsstempel og LF/CR) i microSD -kortet. Under forudsætning af en gennemsnitlig HR på 80 bpm kræver en time -optagelse kun (4800 tekstlinjer x 16 tegn) = 76800 /1024 = 75 kBytes, derfor tilbyder selv et billigt 1 GB SD -kort masser af optagelseskapacitet.
Under optagelsen kan du indsætte markørlinjer for at opdele sporet og evaluere forskellige sessionsfaser separat.
Trin 2: LiPo strømforsyning - skemaer, dele og samling
Strømforsyningen indtager bunden af sagen. Bortset fra trimpotten overstiger ingen komponent 7 mm højde, hvilket giver plads til at montere HR -modtageren og mikrokontroller kredsløbet over strømforsyningen.
Jeg brugte følgende dele:
- 3.7V LiPo batteri (ethvert telefonbatteri kan genbruges, reduceret kapacitet er ikke et problem her)
- USB TP4056 opladningsmodul, jeg købte det her
- SX1308 DC boost converter, jeg købte den her
- Lille prototypebord 40 x 30 mm
- Kabel med JST -stik 2, 54 mm 2 ben, som denne
- (valgfri) JST -stik 2 mm 2 ben, som denne
-
(valgfrit) Kabel med JST -stik 2 mm 2 ben, som denne
Brugen af de sidste to emner afhænger af det batteri, du vil bruge, og den måde, du agter at tilslutte det til opladermodulet. Jeg foreslår 2 mm JST -stikket, fordi mange batterier leveres med allerede tilsluttet kabel og 2 mm stik, enhver anden løsning er tilstrækkelig, så længe det muliggør en let udskiftning af batteriet, hvis det er nødvendigt. Under alle omstændigheder skal du være forsigtig med at undgå kortslutninger mellem batteripolerne under samlingen.
TP4056-modulet drives af en mikro-USB-port og er designet til opladning af genopladelige litiumbatterier ved hjælp af opladningsmetoden med konstant strøm / konstant spænding (CC / CV). Ud over at oplade et litiumbatteri sikkert giver modulet også den nødvendige beskyttelse, der kræves af lithiumbatterier.
SX1308 er en højeffektiv DC/DC Step Up justerbar omformer, der holder udgangsspændingen konstant på +5V med en minimum indgangsspænding på 3V, hvilket muliggør fuldstændig udnyttelse af batterikapaciteten. Justér udgangsspændingen med trimpotten på +5V, før du tilslutter mikrokontroller kredsløbet!
Det samlede forbrug af dataloggeren er omkring 20mA, så selv et brugt batteri med en restkapacitet på 200mAh (<20% af den oprindelige kapacitet på et nyt telefonbatteri) tillader 10 timers optagelse. Den eneste ulempe er, at hvilestrømmen SX1308 er omkring 2mA, så du må hellere afbryde batteriet, hvis du ikke bruger dataloggeren i lang tid.
På grund af den lille størrelse skal begge moduler fastgøres ved hjælp af forbindelseshullerne både til elektrisk og mekanisk forbindelse med prototypebordet gennem korte stykker kobbertråd. Til gengæld er kortet fastgjort til bunden af kabinettet med en 3 mm x 15 mm skrue (længden er nok til at fastgøre mikrokontroller kredsløbet ovenfor med den samme skrue). Brættet er vært for JST 2 mm -stikket til batteriet (fås kun i SMD -version, men ved at folde stifterne lodret kan du "dreje" det i en PTH -version) og alle ledninger i henhold til skemaet. Bare for at være sikker, limede jeg stikkets krop til brættet for at opnå en god mekanisk tætning.
Batteriet er placeret fladt i det resterende område af bunden af kabinettet, og bag det er der en anden 3 mm x 15 mm skrue med en 8 mm lodret afstandsstykke for at undgå kontakt mellem toppen af batteriet (som alligevel er isoleret) og bunden af batteriet øvre kredsløb.
Trin 3: HR -modtager og datalogger - skemaer, dele og samling
Hovedbestyrelsen består af:
- Prototypebord 40mm x 120mm
- Induktans 39mH, jeg brugte BOURNS RLB0913-393K
- 2 x kondensator 22nF
- Kondensator 4.7nF
- Kondensator 47nF
- Kondensator 39pF
- Elektolytisk kondensator 10uF/25V
- Elektrolytisk kondensator 1uF/50V
- 3 x modstand 10K
- 2 x modstand 100K
- 3 x modstand 1K
- 4 x Modstand 220R
- Modstand 1M
- Modstand 47K
- Modstand 22K
- Trimpot 50K
- Diode 1N4148
- LED 3 mm blå
- 2 x LED 3 mm Grøn
- LED 3 mm gul
- LED 3 mm Rød
- Dobbelt støjsvag JFET-input operationsforstærkere TL072P
- Hex Inverting Schmitt Trrigger 74HC14
- JST -stik 2,54 mm 2 ben, som denne
- 2 x mikrokontakter, type Alcoswitch
- Mikrokontroller Arduino Pro Mini, 16MHz 5V
- Micro SD -kortmodul SPI 5V fra DFRobots
Resonansfrekvensen for den parallelle resonanttank komponeret af L1 og C1 er omkring 5,4 kHz, hvilket matcher tæt nok 5,3 kHz af magnetfeltbæreren for det transmitterede signal til at konvertere det til en spænding. Husk, at i de fleste tilfælde er bæreren moduleret på basis af et simpelt OOK (On-OFF Keying) -format, hvor hver hjertepuls skifter bæreren "ON" i cirka 10 ms. Det detekterede signal er meget svagt (tipisk en 1mV sinusbølge i en afstand på 60-80cm fra kilden, forudsat at induktansens akse er korrekt justeret med magnetfeltet), derfor skal det forstærkes omhyggeligt for at undgå forstyrrelser og falske opdagelser. Det foreslåede kredsløb er resultatet af min bedste indsats og af timers test under forskellige forhold. Hvis du er interesseret i at uddybe dette aspekt - og måske forbedre det - tag et kig på det næste trin, ellers kan du springe det over.
De følgende Schmitt Trigger -porte udfører digitaliseringen og en spidsdetekteringsfunktion og gendanner det originale modulerende signal, som videresendes til Arduino Pro Mini.
Pro Mini -mikrokontrolkortet er perfekt til dette projekt, fordi krystallen om bord tillader en høj præcision af målingerne (som er afgørende under det "medicinske" synspunkt, se sidste trin), og samtidig er det fri for andre ikke nødvendig enhed, hvilket resulterer i et lavt strømforbrug. Den eneste ulempe er, at for at indlæse koden skal du bruge et FTDI -interface for at forbinde Pro Mini til USB -porten på din computer. Pro Mini er forbundet til:
- Switch S1: start optagelse
- Switch S2: indsæt markør
- Blå LED: blinker, når der registreres en gyldig puls
- Grøn LED: Optagelse startet
- Gul LED: Markør indsat (kort blink) / Timeout (fast)
- MicroSD -kortmodul (via SPI -bus)
Anderledes end mange SD -kortmoduler, der fungerer ved 3,3V, fungerer DFRobot -modulet ved 5V, så der er ikke behov for niveauskift.
Hvad angår samlingen, kan du bemærke, at jeg har delt prototypebordet i to stykker, forbundet med to små "broer" af stiv 1 mm kobbertråd. Dette har været nødvendigt for at hæve MicroSD -kortmodulet til et tredje "konstruktionsniveau" og justere det med den fordybning, jeg har skåret på sagen, lige over slidsen til USB -porten. Desuden skårede jeg tre fordybninger på selve brættet, en for at få adgang til potentiometeret i DC/DC -omformeren, en anden for at få adgang til stikket på den serielle bus på Arduino Pro Mini (monteret "med forsiden nedad") og den tredje til induktans.
Trin 4: HR -modtager - Spice Simulation
Ud fra Peter Borsts design, jeg har nævnt før, var mit mål at forsøge at udvide detekteringsområdet så meget som muligt, samtidig med at begrænse følsomheden over for forstyrrelser og generering af falske pulser.
Jeg besluttede mig for at ændre den originale single Op-Amp-løsning, fordi den har vist sig at være for følsom over for forstyrrelser, sandsynligvis fordi værdien af 10M feedbackmodstanden er for høj, og for at opdele den samlede gevinst i to faser.
Begge trin har en DC -forstærkning G = 100, der falder omkring 70 @5,4KHz, men med forskellig inputimpedans for at optimere følsomheden.
Så lad os antage, at spændingen for det svageste signal, der genereres af LC -tanken, er 1mV.
Hvis vi transponerer hele modtagerkredsløbet i et kryddermiljø (jeg bruger ADIsimPE) og erstatter LC -parallelkredsløbet med en sinusgenerator med samme spænding og frekvens (5,4KHz) og kører simuleringen, bemærker vi, at udgangsspændingen V1 fra den 1. forstærker er stadig en sinusbølge (på grund af skalafaktor er input -sinusbølgen ikke mærkbar), da forstærkeren arbejder i den lineære zone. Men efter det andet trin viser udgangsspændingen V2, at vi nu når mætningen (Vhigh = Vcc-1.5V / Vlow = 1.5V). Faktisk er TL07x -familien ikke designet til rækkevidde fra jernbane til skinne, men dette er nok til med en sikker margin at overskride både grænseværdierne for Schmitt Trigger -porten og generere en ren firkantbølge (V3).
Trin 5: Software
På grund af modtagertrinets høje forstærkning og på trods af at detektortrinnet hovedsageligt fungerer som et lavpasfilter, kan indgangssignalet på pin D3 på Arduino Pro Mini stadig blive stærkt forstyrret og skal forbehandles digitalt gennem en validitetskontrol mod falske påvisninger. Koden sikrer, at to betingelser er opfyldt for at betragte en puls som gyldig:
- Pulsen skal vare mindst 5 ms
- Det mindste acceptable interval mellem to på hinanden følgende impulser er 100 ms (svarende til 600 bpm, langt over grænsen for alvorlig takykardi!)
Når pulsen er valideret, måles intervallet (i ms) fra den forrige og gemmes på SD -kortet i en fil "datalog.txt", sammen med et tidsstempel i hh: mm: ss -format, hvor 00:00: 00 repræsenterer tidspunktet for den sidste nulstilling af mikrokontrolleren. Hvis SD -kortet mangler, lyser den røde LED, hvilket angiver fejl.
Et nyt optagelsesspor kan startes/stoppes med Start/Stop -kontakten S1 og identificeres med henholdsvis en "; Start" og "; Stop" markørlinje i begyndelsen og i slutningen af tekstfilen.
Hvis der ikke registreres en puls i længere tid end 2400 ms (25 bpm), placeres en markørlinje "; Timeout" i filen, og den gule LED D4 tændes.
Hvis der trykkes på markørkontakten S2 under optagelse, skrives en ekstra markørlinje i formatet "; MarkerNumber", med automatisk stigning af markørnummeret fra 0, i filen, og den gule LED blinker kort.
Vedhæftet den komplette Arduino -kode.
Trin 6: Indledende opsætning og test
Trin 7: Anvendelse - Medicinsk signalanalyse
Formen på kabinettet, jeg brugte, er tæt nok på en af en smartphone, så du kan finde masser af tilbehør på markedet til at bære det eller montere det på et træningsudstyr. Især til cyklen kan jeg foreslå den universelle smartphone -holder, der hedder "Finn", produceret af det østrigske cykelborgerselskab. Billig (€ 15, 00) og let at montere, den er virkelig universel og som du kan se på billedet perfekt også til Cardio Data Logger
Den enkleste måde at bruge rådataene registreret af dataloggeren er at plotte dem i en graf ved hjælp af standard PC -programmer (f.eks. Excel). Ved at sammenligne grafer opnået ved at gentage den samme øvelse eller analysere sammenhængen mellem HR -variationer og fysiske indsatser, kan du optimere doseringen af kræfter under aktiviteten.
Men af størst interesse er studiet af HR, og især HR Variablity (HRV), til medicinske formål. I modsætning til et EKG -spor indeholder HR -sporet ikke direkte information om hjertemusklens funktion. Imidlertid giver dens analyse fra et statisk synspunkt mulighed for at indhente andre oplysninger af klinisk interesse.
Den mest omfattende videnskilde om HRV er det finske KUBIOS -selskab. På deres websted kan du finde en masse oplysninger om biomedicinske signaler, og du kan downloade "KUBIOS HRV Standard", en gratis pulsvariabilitetsanalysesoftware til ikke-kommerciel forskning og til personlig brug. Dette værktøj giver dig ikke kun mulighed for at plotte grafer fra en simpel tekstfil (du skal fjerne tidsstemplerne), men også til at udføre statistiske og matematiske evalueringer (herunder FFT) og producere en utrolig detaljeret og værdifuld rapport, som den der er vedhæftet nedenfor.
Husk på, at kun en specialiseret læge er i stand til at beslutte, hvilke eksamener der er nødvendige for sportstræning på ethvert niveau, og til at vurdere deres resultater.
Denne instruks er blevet skrevet med den ene hensigt at skabe interesse og sjov for at anvende elektronik til sundhedspleje.
Jeg håber du nød det, kommentarer er velkomne!
Anbefalede:
DIY GPS -datalogger til dig næste kørsel/vandresti: 11 trin (med billeder)
DIY GPS -datalogger til dig næste kørsel/vandresti: Dette er en GPS -datalogger, som du kan bruge til flere formål, f.eks. Hvis du vil logge din lange køretur, du tog i weekenden for at tjekke efterårets farver. eller du har et yndlingsspor, du besøger i løbet af efteråret hvert år, og du vil
Alaska Datalogger: 5 trin (med billeder)
Alaska Datalogger: Alaska er på kanten til at fremme klimaforandringer. Dens unikke position at have et temmelig uberørt landskab befolket med en række kulminekanarier muliggør mange forskningsmuligheder. Vores ven Monty er en arkæolog, der hjælper med at
Arduino Datalogger: 8 trin (med billeder)
Arduino Datalogger: I denne vejledning skal vi lave en simpel datalogger ved hjælp af Arduino. Pointen er at lære det grundlæggende ved at bruge Arduino til at indsamle information og udskrive til terminalen. Vi kan bruge denne grundlæggende opsætning til at fuldføre en række opgaver. For at komme i gang
Sådan laver du en datalogger for temperatur, PH og opløst ilt: 11 trin (med billeder)
Sådan laver du en datalogger til temperatur, PH og opløst ilt: Mål: Lav en datalogger til ≤ $ 500. Det gemmer data for temperatur, pH og DO med et tidsstempel og ved hjælp af I2C -kommunikation. Hvorfor I2C (interintegreret kredsløb)? Man kan stable så mange sensorer i samme linje, da hver af dem har
Lav en datalogger med Raspberry Pi: 3 trin (med billeder)
Lav en datalogger med Raspberry Pi: Denne enkle datalogger tager regelmæssige lysmålinger med en analog LDR (fotoresistor) og gemmer dem i en tekstfil på din Raspberry Pi. Denne datalogger måler og registrerer lysniveauet hvert 60. sekund, så du kan overvåge ho