UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO
Mihael Meklav
IZVEDBA BREZŽIČNEGA ELEKTROKARDIOGRAFA S SENZORJEM
EPIC Diplomsko delo
Maribor, avgust 2014
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
ii
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
iii
IZVEDBA BREZŽIČNEGA ELEKTROKARDIOGRAFA S SENZORJEM
EPIC Diplomsko delo
Študent(ka): Mihael Meklav
Študijski program: Univerzitetni študijski program 1. stopnje
Računalništvo in informacijske tehnologije
Mentor(ica): Doc. Dr. Boris Cigale
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
iv
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
v
ZAHVALA
Zahvaljujem se mentorju doc. dr. Borisu Cigaletu za sprejeto mentorstvo in strokovno pomoč pri izdelavi diplomskega dela. Posebna zahvala gre tudi staršema, ki sta mi omogočila in stala ob strani v času študija. Zahvala gre tudi Amadeji Gorjup, ki me je podpirala in bila potrpežljiva med časom študija.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
vi
Izvedba brezžičnega elektrokardiografa s
senzorjem EPIC
Ključne besede: elektrokardiograf, brezžično, mikrokrmilnik, mobilna aplikacija, bluetooth
UDK: 004.414.23:616.12-089(043.2)
Povzetek:
V diplomskem delu, smo se ukvarjali z implementacijo brezžičnega
elektrokardiografa s senzorji EPIC. Sama naprava je sestavljena iz treh ločenih delov. Prvi
del predstavlja mikrokrmilnik dsPIC33, krmiljenje za baterijo in bluetooth modul. Drugi del
predstavlja vezje za filtriranje EKG signala, ki na vhod mikrokrmilnika da signal za
analogno-digitalno (AD) obdelavo. Vsebuje pa razne filtre, ojačevalnike in druge čipe
potrebne za merjenje. Tretji del so kapacitivni senzorji EPIC s katerimi merimo. Vsi deli se
na koncu združijo v celoto in predstavljajo EKG merilnik.
Filtrirane meritve se pošljejo preko bluetooth povezave na mobilno napravo z
nameščenim Android operacijskim sistemom. Preko nameščene aplikacije se nam
izmerjene vrednosti izrisujejo v obliki grafa. Vse skupaj pa si lahko tudi shranimo na
napravo in si kasneje ponovno ogledamo.
Našo EKG napravo smo testirali na različnih prostovoljcih, pri različnih aktivnostih
(mirovanje, hoja in tek). Z opisano rešitvijo nam je uspešno uspelo izmeriti EKG signal.
Prav tako pa smo lahko uspešno določili faze utripa pri mirovanju in hoji.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
vii
Implementation of wireless electrocardiograph
with EPIC sensor
Key words: electrocardiograph, wireless, microcontroller, mobile application, bluetooth
UDC: 004.414.23:616.12-089(043.2)
Abstract:
In the thesis, we have dealt with the implementation of a wireless
electrocardiograph with EPIC sensors. The device itself consists of three separate parts.
The first part represents the dsPIC33 microcontroller, the control of the battery and
Bluetooth module. The second part presents a circuit for filtering of the ECG signal, which,
to the input of a microcontroller, sends the signal for the analog-to-digital (AD) processing.
It contains various filters, amplifiers and other chips needed for the measurement. The
third part is the EPIC capacitive sensor, used for measuring. All parts are finally combined
into a whole and represent the EKG meter.
Filtered measurements are transmitted via Bluetooth to a mobile device with a
running Android operating system.
The application shows the measurements in form of a graph-chart. We can also
save the data on the device and then later re-visit.
Our ECG device was tested on a variety of volunteers in various activities (resting,
walking and running). We have successfully managed to measure the ECG signal with
the described solution. Also, we can successfully determine the pulse rate at resting and
walking.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
viii
KAZALO
1 Uvod .............................................................................................................................. 1
2 Pregled področja ......................................................................................................... 2 2.1 Zgodovina elektrokardiografov .................................................................................................................. 2 2.2 Naprave danes .................................................................................................................................................... 3 2.2.1 Elektrode .................................................................................................................................................. 3 2.2.2 Ojačevalec ................................................................................................................................................ 4 2.2.3 Naprava za izpis .................................................................................................................................... 4
3 Načrtovanje in izvedba elektronskega vezja ............................................................. 6 3.1 Prototip vezja in testiranje senzorjev ....................................................................................................... 6 3.2 Komponente porabljene na vezju ............................................................................................................... 7 3.2.1 Senzor EPIC ............................................................................................................................................ 7 3.2.2 Instrumentacijski ojačevalec INA122 .......................................................................................... 9 3.2.3 Nizko prepustni filter 5. reda LTC 1062 .................................................................................. 10 3.2.4 Operacijski ojačevalec ..................................................................................................................... 11 3.2.5 Napetostni pretvornik LMC7660 ............................................................................................... 13 3.2.6 Bluetooth modul HC-‐06 .................................................................................................................. 15 3.2.7 Mikrokrmilnik dsPIC33EP512MU814 ..................................................................................... 16
3.3 Načrtovanje vezja ............................................................................................................................................ 18 3.3.1 Digitalni del .......................................................................................................................................... 18 3.3.2 Del za filtriranje EKG signala ........................................................................................................ 20 3.3.3 EKG senzorji ........................................................................................................................................ 22
3.4 Izdelava vezja .................................................................................................................................................... 23
4 Program za mikrokrmilnik ........................................................................................ 25 4.1 Programsko orodje MPLAB X IDE ............................................................................................................ 25 4.2 Delovanje programa ...................................................................................................................................... 25 4.2.1 Nastavljanje časovnikov in UART vmesnika ......................................................................... 25 4.2.2 Filtriranje na mikrokrmilniku ..................................................................................................... 27 4.2.3 Oblikovanje paketa za pošiljanje ................................................................................................ 28 4.2.4 Izbira podatkovnega tipa na mikrokrmilniku ....................................................................... 28 4.2.5 Shematski potek programa ........................................................................................................... 30
5 Mobilna aplikacija ...................................................................................................... 31
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
ix
5.1 Android operacijski sistem .......................................................................................................................... 31 5.2 Eclipse razvojno okolje .................................................................................................................................. 32 5.3 Android SDK ....................................................................................................................................................... 32 5.4 Izdelava aplikacije .......................................................................................................................................... 32
6 Meritve ........................................................................................................................ 37 6.1 Mirovanje ............................................................................................................................................................ 37 6.2 Hoja ........................................................................................................................................................................ 38 6.3 Tek .......................................................................................................................................................................... 39
7 Sklep ........................................................................................................................... 40
8 Viri, literatura .............................................................................................................. 41
KAZALO SLIK
Slika 2.1: Willem Einthoven in njegova verzija EKG ............................................................ 2 Slika 2.2: Faze pri utripu srca .............................................................................................. 3 Slika 2.3: Samolepilne elektrode ......................................................................................... 4 Slika 2.4: Primer EKG izpisa ............................................................................................... 4 Slika 2.5: Prenosna EKG naprava ....................................................................................... 5 Slika 3.1: Prikaz EKG signala na osciloskopu ..................................................................... 6 Slika 3.2: EKG merilnik na prototipni plošči ......................................................................... 7 Slika 3.3: Senzor EPIC PS25255 [12] ................................................................................. 8 Slika 3.4: Instrumentacijski ojačevalec INA122 ................................................................... 9 Slika 3.5: Shema instrumentacijskega ojačevalca INA122 .................................................. 9 Slika 3.6: LTC 1062 ........................................................................................................... 10 Slika 3.7: Vezava zareznega filtra v našem vezju ............................................................. 11 Slika 3.8: Operacijski ojačevalec LM358 ........................................................................... 12 Slika 3.9: Vezava ojačevalca ............................................................................................. 12 Slika 3.10: Operacijski ojačevalec MCP602 ...................................................................... 13 Slika 3.11: Vezava sledilnika napetosti ............................................................................. 13 Slika 3.12: Napetostni pretvornik LMC7660 ...................................................................... 14 Slika 3.13: Vezava napetostnega pretvornika ................................................................... 14 Slika 3.14: Graf padca napetosti pod obremenitvijo .......................................................... 15
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
x
Slika 3.15: Bluetooth modul HC-06 ................................................................................... 15 Slika 3.16: Mikrokrmilnik dsPIC33EP512MU814 ............................................................... 17 Slika 3.17: Digitalni del ...................................................................................................... 18 Slika 3.18: Shema digitalnega dela ................................................................................... 19 Slika 3.19: Končna verzija filtrirnega dela .......................................................................... 20 Slika 3.20: Shema filtrirnega dela ...................................................................................... 21 Slika 3.21: Povezave za tiskano vezje .............................................................................. 21 Slika 3.22: Shema senzorskega dela ................................................................................ 22 Slika 3.23: Povezave za tiskano vezje senzorjev .............................................................. 22 Slika 3.24: Sestavljeni merilec EKG .................................................................................. 23 Slika 3.25: Pripravljena tiskana vezja ................................................................................ 24 Slika 4.1: Frekvenčni odzib našega filtra ........................................................................... 27 Slika 4.2: Shematski potek programa ................................................................................ 30 Slika 5.1: Ikona mobilne aplikacije ..................................................................................... 33 Slika 5.2: Grafični urejevalnik ............................................................................................ 33 Slika 5.3: Okno - "v živo" ................................................................................................... 34 Slika 5.4: Okno - "zgodovina" ............................................................................................ 34 Slika 5.5: Izbira bluetooth naprave .................................................................................... 35 Slika 5.6: Izbira posnetka .................................................................................................. 35 Slika 6.1 Izmerjen utrip ...................................................................................................... 37 Slika 6.2: Primerjava EKG signala pri mirovanju (X os predstavlja zaporedno številko
vzorca, Y pa vrednost AD pretovrbe) ......................................................................... 37 Slika 6.3: Primerjava EKG signala pri hoji (X os predstavlja zaporedno številko vzorca, Y
pa vrednost AD pretovrbe) ......................................................................................... 38 Slika 6.4: Primerjava EKG signala pri teku (X os predstavlja zaporedno številko vzorca, Y
pa vrednost AD pretovrbe) ......................................................................................... 39
KAZALO TABEL
Tabela 3.1: Ukazi za komuniciranje z modulom ................................................................ 16 Tabela 5.1: Verzije Android operacijskega sistema ........................................................... 31
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
xi
UPORABLJENE KRATICE
EKG – elektrokardiograf
EPIC – integrirano vezje z električnim potencialom (ang. Electric Potential Integrated
Circuit)
UART – univerzalni asinhroni sprejemnik/oddajnik (ang. Universal asynchronous
receiver/transmitter)
USB – univerzalno serijsko vodilo (ang. Universal Serial Bus)
ADC – analogno / digitalni pretvornik
IDE – integrirano razvijalno okolje (ang. Integrated Development Evironment)
ICD – razhroščevalnik za vezja (ang. In-Circuit Debugger)
ICS – verzija Android operacijskega sistema (ang. Ice Cream Sandwich)
SDK – komplet programskih orodij za razvijanje programske opreme (ang. Software
Development Kit)
UV – ultravijolično valovanje
PIN – osebna identifikacijska številka (ang. Personal Identification Number)
SPI – serijsko vodilo (ang. Serial Peripheral Interface Bus)
1-Wire – vodilo za komunikacijo
I2C – serijsko vodilo (ang. Inter-Integrated Circuit)
UPORABLJENI SIMBOLI
V – volt (enota za električno napetost)
A – amper (enota za električni tok)
Hz – herc (enota za frekvenco)
Ω – ohm (enota za upornost)
F – farad (enota za kapacitivnost)
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
1
1 Uvod Elektrokardiografija je ena izmed najstarejših kliničnih metod za preučevanje delovanja
srca. Kljub novejšim metodam velja EKG še vedno kot dobro sprejet standard pri
odkrivanju različnih srčnih obolenj in je zato danes še vedno ena izmed najpogostejših
naprav v kardiologiji. [6]
Namen diplomskega dela je izvedba brezžičnega elektrokardiografa s senzorji EPIC, ki jih
izdeluje podjetje »Plessey semiconductors ltd« . Senzorji spadajo v družino kapacitivnih.
Omogočali bi naj nizko porabo energije, imajo veliko upornost in lahko imajo t.i. suh
kontakt s kožo. V okviru diplome bomo izdelali elektronsko vezje z mikrokrmilnikom, na
katerega bomo priključili senzorje. Izmerjene podatke bomo preko bluetooth povezave
pošiljali na mobilno napravo, kjer bomo lahko v živo spremljali bitje srca. Podatke se bo
dalo na napravi tudi shraniti in si jih kasneje ogledati.
V drugem poglavju diplomskega dela smo raziskali in opisali zgodovino
elektrokardiografov. Spoznali smo različne tipe naprav ter opisali različne pristope za
merjenje in določanja srčnega utripa.
V tretjem poglavju smo se lotili izdelave elektronskega vezja. Najprej smo izdelali
elektronsko shemo s programom Eagle, nato pa smo na podlagi le-te izdelali tiskano
vezje z vsemi elektronskimi elementi, ki smo jih tudi podrobneje predstavili.
Izdelavi programa, ki teče na mikrokrmilniku, smo namenili četrto poglavje. Programsko
kodo na njem smo napisali v programskem jeziku C. Za brezžično povezavo na mobilno
napravo pa smo uporabili že izdelan bluetooth modul. Po povezavi se pošiljajo podatki v
surovi (raw) obliki. Poleg načina filtriranja signala pa smo opisali, kako se nastavljajo razni
registri za pravilno delovanje mikrokrmilnika.
V petem poglavju smo opisali, kako smo se lotili izdelave mobilne aplikacije, ki je
namenjena za Android operacijski sistem. Naša aplikacija se preko bluetooth povezave
poveže na napravo in nam vizualizira srčni utrip na zaslonu.
Na koncu smo napravo še testirali na različnih prostovoljcih. Rezultate smo nato
predstavili v obliki grafa v šestem poglavju.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
2
2 Pregled področja Na začetku tega poglavja si bomo pogledali, kaj elektrokardiograf sploh je, kakšne tipe
poznamo in katere tehnologije lahko uporabimo za izdelavo le-tega.
2.1 Zgodovina elektrokardiografov Beseda elektrokardiograf prihaja iz grških besed »electro« (elektrika), »kardio« (srce) in
»graph« (pisati). [10]
Alexander Muirhead je leta 1872, v času svojega doktorskega študija (smer elektrika) v
bolnici St. Bartholomew's Hospital priklopil več žic na bolnega pacienta. S pomočjo
Lippmannovega elektrometra je to aktivnost srca prikazal. Augustos Walter je nato
kasneje združil Lippmannov elektrometer s projektorjem. To mu je omogočalo, da je lahko
aktivnost srca spremljal v živo. [10]
Nov preskok je leta 1901 uspel Nizozemcu Willemu Einthovenu, ki je s pomočjo naprave,
imenovane strunski galvanometer, veliko bolj natančno izmeril aktivnost srca. Ta je bila
namreč dovolj natančna, da je bila uporabna tudi za medicino. Namesto elektrod je
uporabil slano tekočino, v katero so pacienti namočili roke in noge. [10]
Slika 2.1: Willem Einthoven in njegova verzija EKG
Vir slike: http://en.wikipedia.org/wiki/Electrocardiography#mediaviewer/File:Willem_Einthoven_ECG.jpg
Einthoven je tudi določil črke, ki jih še danes uporabljamo pri opisu utripa srca. Uporabil
je črke P, Q, R, S in T in te opisujejo različne faze pri enem utripu srca. [9]
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
3
Slika 2.2: Faze pri utripu srca
Leta 1924 je za svoje delo prejel tudi Nobelovo nagrado v medicini.
2.2 Naprave danes Skozi čas je osnovni princip merjenja aktivnosti srca ostal enak. Naprave pa so se skozi
čas in s prihodom novejših tehnologij seveda manjšale in postajale vse bolj kompaktne in
zanesljive. Postale so celo tako dobre, da ne služijo več le kot samo pripomoček za
prikazovanje srčne aktivnost, ampak znajo na osnovi podatkov najti celo napako na srcu.
Obstajajo različni tipi naprav, ki se ločijo po velikosti, številu elektrod, prenosljivosti in
namenu uporabe. Večino takih naprav sestavljajo tri osnovne komponente. To so
elektrode, ojačevalci in naprava za izpis.
2.2.1 Elektrode
Elektrode so najpomembnejši del EKG naprave. Odvisno od naprave, morajo biti
nameščene na pravilno mesto na telesu. Najenostavnejše naprave uporabljajo dve
elektrodi.
Elektrode se namestijo na kožo človeka in prenašajo električne signale iz kože na
napravo. Najpogostejše so samolepilne elektrode, ki se nalepijo na kožo pacienta.
Obstajajo pa tudi takšne za večkratno uporabo (vakuumske). [7]
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
4
Slika 2.3: Samolepilne elektrode
Vir slike: http://admed.in/images/popup%20img/ecg11.jpg
2.2.2 Ojačevalec
Ojačevalec poskrbi za to, da se zelo šibek signal iz telesa ojača (le nekaj mV). Ponavadi
je faktor ojačanja od 5x pa do 10x. Komaj takrat je napetost signala dovolj visoka, da ga
lahko prenesemo na napravo za izpis. [7]
2.2.3 Naprava za izpis
Najpogosteje se za izpis uporablja poseben EKG papir. Tega lahko vidimo na sliki 2.4..
Takšen papir ima v pravilnih razmerjih narisane kvadratke, ki pomagajo pri diagnozi.
10mm na papirju pomeni spremembo napetosti za 1mV. Zelo pomembna je tudi hitrost
izpisa, ta je ponavadi 50mm/s. [7]
Slika 2.4: Primer EKG izpisa
Zadnja leta se veliko uporabljajo tudi računalniki, na katerih lahko natančneje pogledamo
EKG, prav tako pa si lahko podatke shranimo in jih pogledamo kasneje.
Obstajajo tudi naprave, ki jih nosimo s seboj. Nekatere napake na srcu namreč niso vidne
v času merjenja, ampak pride do njih popolno naključno. V takih primerih nosimo napravo,
ki sproti beleži aktivnosti. Ena izmed takšnih naprav je tudi na sliki 2.5.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
5
Slika 2.5: Prenosna EKG naprava
Vir slike:
http://www.spiddalmedicalcentre.com/wpcontent/uploads/2013/01/HoltorMonitorWearing.jpg
Kot vidimo, so elektrode nameščene po telesu. Naprava EKG signal shranjuje v enoto, ki
ga bo kasneje ocenil in pregledal zdravnik.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
6
3 Načrtovanje in izvedba elektronskega vezja V tem poglavju bomo predstavili celotno načrtovanje in izvedbo elektronskega vezja. Na
začetku smo opisali, kako smo se lotili testiranja EPIC senzorja. Vse elemente, ki so na
koncu ostali na prototipni ploščici smo tudi podrobenje opisali v nadaljnih podpoglavjih.
Celotno napravo smo si zamislili na treh fizičnih nivojih (tiskanih vezij). Za glavni digitalni
del smo vzeli že obstoječo tiskano vezje. Vsi trije nivoji se na koncu združijo v končno
napravo.
Sami smo izdelali tudi dve tiskani vezji (drugi in tretji nivo). Za njuno izdelavo smo napisali
natančen postopek. Vsak nivo naprave smo nato tudi ločeno opisali.
3.1 Prototip vezja in testiranje senzorjev Preden smo se lotili izdelave tiskanega vezja, smo želeli preizkusiti senzorje. Naredili smo
preprosto vezje na prototipni ploščici. Vezje smo gradili postopno in ga sproti testirali. Na
začetku je vsebovalo samo EPIC senzorja in instrumentacijski ojačevalec. Po vsaki
stopnji smo nato s pomočjo osciloskopa iskali EKG signal. Na njem se je videlo, katere
frekvence prevladujejo in jih je potrebno odstraniti.
Po znanih frekvencah smo začeli iskati ustrezne metode in rešitve za odstranitev. Z
uporabo ustraznega 50Hz filtra nam je uspelo videti EKG signal iz senzorja. Seveda je ta
vseboval še kar nekaj šuma. Na sliki 3.1 vidimo na zgornjem signalu filtriran in ojačan
EKG signal. Stopnja ojačanja je bila 7-kratna, do nje pa smo prišli s poskušanjem. Spodnji
signal prikazuje čisti izhod iz EKG senzorja.
Slika 3.1: Prikaz EKG signala na osciloskopu
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
7
Ko smo rezultat videli na osciloskupu, smo se lotili vzorčenja signala na mikrokrmilniku.
Najprej je bilo potrebno premakniti napetostne nivoje v ustrezno območje AD pretovrnika.
Po tem pa smo začeli vzorčiti naš signal. Ugotovili smo, da nam ustreza vzorčenje s
10kHZ. Ker je toliko vzorcev na sekundo preveč za pošiljanje na mobilno napravo, smo pri
programskem filtriranju signal še podvzorčili s faktorjem 100. Na koncu smo imeli hitrost
100 vzorcev na sekundo (100Hz).
Delo na prototipni ploščici se je izkazalo za dobro izbiro, saj je bilo enostavno najti napake
in po potrebi kakšen element zamenjati. Na sliki 3.2 vidimo naš prototip EKG merilnika.
Slika 3.2: EKG merilnik na prototipni plošči
3.2 Komponente porabljene na vezju
3.2.1 Senzor EPIC
Kratica EPIC predstavlja »Electric Potential Integrated Circuit«. Ker ne potrebujejo
neposrednega stika s kožo, je celotno ohišje senzorjev popolnoma odrezano od napetosti
na senzorju. Delujejo torej na kapacitivni način.
Senzor proizvaja podjetje »Plessey semiconductors ltd«, ki je nastalo že leta 1917 v
Angliji. Senzor lahko uporabljamo na različne načine. Poleg EKG signalov so senzorji
zmožni delovati tudi v brezkontaktnem načinu, to pomeni, da lahko zaznamo bližino in
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
8
gibanje med objektom in senzorjem. Za svoj produkt so dobili tudi nagrado na »IET
Innovation Awards«.
V naši napravi bomo uporabili EPIC senzor z oznako »PS25255«. Gre za kontaktni
senzor, ki je namenjen za naprave, ki se uporabljajo v športu in splošnem življenju.
Proizvajalec prav tako trdi, da so namenjeni dolgoročnemu merjenju.
Za ta senzor smo se odločili, ker niso tako občutljivi na šum in za merjenje ne potrebujejo
direktnega stika s kožo.
Slika 3.3: Senzor EPIC PS25255 [12]
Na sliki 3.3 vidimo, da ima senzor 4 pine.
• Vdd – pozitivna napetost
• Vss – negativna napetost
• Gnd – masa
• Ouput Pin 1 – izhodni signal
Senzor moramo napajati z bipolarno napetostjo med +-2,4V in +-5,5V. Za svoje delovanje
porabi zelo malo električnega toka, ta namreč znaša okoli 1,4 mA.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
9
3.2.2 Instrumentacijski ojačevalec INA122
Kot vhod na ojačevalec pripeljemo signala iz dveh EPIC senzorjev. Ta dva signala se
najprej odštejeta, nato se ojačata in pošljeta na izhod kot en signal.
Instrumentacijski ojačevalec INA122 je primeren za naše vezje, saj prav tako porabi zelo
malo električnega toka (60 µA) in ima velik razpon napajalne napetosti (2,2 do 36V).
Slika 3.4: Instrumentacijski ojačevalec INA122
Za nastavljanje stopnje ojačenja uporabimo upor (Rg), ki ga vežemo na pina 1 in 8.
Slika 3.5: Shema instrumentacijskega ojačevalca INA122
S testiranjem na prototipni ploščici smo ugotovili, da je najboljše 7-kratno ojačenje. Tega
izračunamo po naslednji formuli:
𝐺 = 5 + 200𝑘𝑅𝑔
( 3.1 )
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
10
Tu je:
G – stopnja ojačenja
Rg – vrednost upora
Za vrednost upora Rg smo torej izbrali 100kΩ, kar nam da 7-kratno ojačenje.
Na pin 3 in 2 vežemo izhoda iz EPIC senzorja. Na pin 4, 5 in 7 vežemo napajanje. Pin 6
pa nam da na izhod ojačen signal.
3.2.3 Nizko prepustni filter 5. reda LTC 1062
Za filtriranje 50Hz šuma smo uporabili filter »LTC 1062« podjetja »Linear Technology«. V
izmerjenem signalu je namreč amplituda šuma mnogo večja kot amplituda signala. Gre za
večnamenski filter, ki ga lahko uporabimo za različne namene. Pri nas ga bomo uporabili
kot filter z zarezo. Filtri takšnega tipa so zelo uporabni, kadar želimo filtrirati točno
določeno frekvenco, ostale pa želimo pustiti nespremenjene. V našem primeru filtriramo
samo 50Hz šum, ki je v signalu.
Na sliki 3.6 je vidna razporeditev pinov.
Slika 3.6: LTC 1062
Na filtru lahko nastavljamo frekvenco zareze s pomočjo oscilatorja na pinu 5. Sam čip
ima že v sebi svoj oscilator, ki je privzeto nastavljen na 32kHz. Slednjega nismo uporabili
v našem vezju, saj smo frekvenco pripeljali iz mikrokrmilnika.
Za naš primer smo morali izračunati frekvenco ure po naslednji formuli:
𝑓!"# = 79,3 ∗ 𝑓!"#$% ( 3.2 )
Tu je:
fCLK - izhodna frekvenca ure
fNOTCH – željena frekvenca zareze
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
11
Ko v enačbo vstavimo podatke, dobimo, da mora biti frekvenca ure 3965Hz. To frekvenco
ustvarimo s pomočjo mikrokrmilnika.
Slika 3.7: Vezava zareznega filtra v našem vezju
Na sliki 3.7 imamo vezavo za naš zarezni filter, ki smo jo povzeli iz uradne dokumentacije.
[16] Za upore R3, R4 in R5 smo izbrali 10kΩ. Upora R1 in R2 pa morata biti v naslednjem
razmerju:
𝑅1𝑅2
= 1,234 ( 3.3 )
Glede na zgornjo enačbo smo izbrali R1 = 27kΩ in R2 = 22kΩ.
Za operacijski ojačevalec, ki je še potreben pri zgoraj opisani vezavi, smo uporabili
LM358, ki je opisan v poglavju 3.2.4.
3.2.4 Operacijski ojačevalec
V našem vezju smo uporabili dva različna operacijska ojačevalca.
Operacijski ojačevalec LM358
Integrirano vezje LM358 vsebuje pravzaprav dva operacijska ojačevalca. Za napajanje
potrebuje unipolarno napetost med 3V in 32V ali pa bipolarno napetost med +-1,5V in +-
16V.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
12
Slika 3.8: Operacijski ojačevalec LM358
Na pin 8 in 4 povežemo napajanje. Nato imamo na voljo pine 1, 2 in 3 za prvi operacijski
ojačevalec in 5, 6 ter 7 za drugega.
Na našem vezju smo enega uporabili pri filtriranju za čip LTC1062, drugega pa smo
uporabili pri ojačenju signala po izhodu iz 50Hz filtra z zarezo.
Za ojačenje smo uporabili naslednjo vezavo:
Slika 3.9: Vezava ojačevalca
Koeficient ojačenja nastavimo z uporoma Rin in Rf po enačbi 3.4. Ker gre za vezavo
invertiranega ojačevalca, bomo na izhodu imeli invertiran signal.
𝑉!"# = −𝑅!𝑅!"
𝑉!" ( 3.4 )
Tu je:
Vout – izhodna napetost
Rf – velikost upora
Rg – velikost upora
Vin – vhodna napetost
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
13
Z raznimi poizkusi na prototipni ploščici smo ugotovili, da nam zadostuje 47-kratno
ojačenje. Zato smo izbrali Rin = 1kΩ in Rf = 47kΩ. Vsa ojačanja nad to vrednostjo so nas
pripeljala v nasičenje.
Operacijski ojačevalec MCP602
Tudi ta operacijski ojačevalec ima enako razporeditev pinov kot LM358. Razlikuje se le v
tem, da sprejme napetosti med 2,7V in 6V. Vsebuje dva operacijska ojačevalca. Prvi
operacijski ojačevalec bomo v našem vezju uporabili kot sledilnik napetosti (voltage
follower). Stopnja ojačenja je v takšnem primeru 1. Vhodna upornost je zelo velika,
izhodna pa zelo majhna.
Na sliki 3.10 vidimo razporeditev pinov za ta ojačevalec.
Slika 3.10: Operacijski ojačevalec MCP602
Primer sledilnika napetosti za našo vezje prikazuje slika 3.11.
Slika 3.11: Vezava sledilnika napetosti
3.2.5 Napetostni pretvornik LMC7660
Naše vezje napaja baterija, tako imamo poleg mase le še +3,3V napetosti. Naši elementi
potrebujejo tudi negativno napetost. To smo dobili s pomočjo omenjenega pretvornika
napetosti, ki smo ga uporabili kot napetostni inverter.
Sam čip lahko sprejme napajalne napetosti od 1,5V do 10V. Porabi malo električnega
toka, to je 200uA. Ima tudi 97% izkoristek pri napetostni pretvorbi in 95% izkoristek moči.
Vsebuje oscilator preko katerega se napajata dva zunanja elektrolitska kondenzatorja. Na
sliki 3.12 vidimo razporeditev pinov za omenjeni čip.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
14
Slika 3.12: Napetostni pretvornik LMC7660
Kot dodatek za delovanje potrebujemo torej še 2 dodatna kondenzatorja, na sliki 3.13 sta
označena kod C1 in C2. Enako vezavo smo uporabili tudi v našem vezju.
Slika 3.13: Vezava napetostnega pretvornika
Potrebno je še omeniti tudi karakteristiko, ki opisuje padec izhodne napetosti glede na tok,
ki ga zahteva vezje. Na spodnjem grafu vidimo, da je padec napetosti pri 50mA tolikšen,
da pade napetost na 0V.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
15
Slika 3.14: Graf padca napetosti pod obremenitvijo
Glede na našo porabo toka (izmerili smo 15mA), vidimo, da imamo 0,6V padec napetosti.
Tako smo dobili okrog -2,7V napetosti.
3.2.6 Bluetooth modul HC-06
Gre za zelo preprost bluetooth modul, ki za svoje napajanje potrebuje 3,3V. Podpira
bluetooth standard 2.0. Porabi okrog 8mA (ko je naprava povezana). Celotni modul
komunicira preko UART vmesnika. Na sliki 3.15 je viden modul in pini, ki smo jih uporabili.
Slika 3.15: Bluetooth modul HC-06
Z modulom komuniciramo preko AT ukazov. Nastavljamo lahko ime naprave, PIN in
hitrost prenosa podatkov. Vsi ukazi so zbrani v spodnji tabeli.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
16
Tabela 3.1: Ukazi za komuniciranje z modulom
Ukaz Vrnjen niz Opis AT OK Uporablja se za testiranje komunikacije AT+VERSION OKlinvorV1.8 Vrne opis verzije, ki teče na modulu AT+NAMExyz OKsetname Nastavi ime modula na “xyz” AT+PIN1234 OKsetPIN Nastavi PIN modula na 1234 AT+BAUD1 OK1200 Nastavi hitrost pošiljanja na 1200 AT+BAUD2 OK2400 Nastavi hitrost pošiljanja na 2400 AT+BAUD3 OK4800 Nastavi hitrost pošiljanja na 4800 AT+BAUD4 OK9600 Nastavi hitrost pošiljanja na 9600 AT+BAUD5 OK19200 Nastavi hitrost pošiljanja na 19200 AT+BAUD6 OK38400 Nastavi hitrost pošiljanja na 38400 AT+BAUD7 OK57600 Nastavi hitrost pošiljanja na 57600 AT+BAUD8 OK115200 Nastavi hitrost pošiljanja na 115200 AT+BAUD9 OK230400 Nastavi hitrost pošiljanja na 230400 AT+BAUDA OK460800 Nastavi hitrost pošiljanja na 460800 AT+BAUDB OK921600 Nastavi hitrost pošiljanja na 921600 AT+BAUDC OK1382400 Nastavi hitrost pošiljanja na 1382400
Mi smo uporabili ukaz »AT+PIN0000«, ki je nastavila PIN na 0000 in ukaz za spremembo
hitrosti »AT+BAUDB«.
3.2.7 Mikrokrmilnik dsPIC33EP512MU814
Za naš mikrokrmilnik smo uporabili čip z oznako dsPIC33EP512MU814 podjetja
Microchip. Slednji je vodilno podjetje pri izdelovanju mikrokrmilnikov in drugih elektronskih
komponent.
Gre za 16-bitni mikrokrmilnik, ki za svoje delovanje potrebuje napetost med 3,0 in 3,6V.
Ima vgrajen oscilator, s katerim nastavimo dejanski takt mikrokrmilnika preko posebnih
registrov. Mi smo uporabili zunanji oscilator, predvsem zaradi natančnosti. Notranja ura
namreč zelo niha z napetostjo in temperaturo. Krmilnik ima 27 splošno namenskih
časovnikov (16 in 32 bitne). Omogoča celotno paleto komunikacijskih vmesnikov kot so
SPI, UART, 1- Wire, I2C in druge. Za naše potrebe je pomemben tudi AD pretvornik. Za to
imamo na voljo 10 in 12 bitne AD pretvornike. V primeru, ko uporabljamo le 10-bitno
ločljivost, lahko vzorčimo največ 1,1Msps (vzorcev na sekundo), sicer pa 500ksps.
Mikrokrmilnik ima oznako »ds« kar pomeni, da je namenjen digitalni obdelavi signalov,
zato je več poudarka na AD pretvornikih in hitrosti pri delu s števili s plavajočo vejico.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
17
Slika 3.16: Mikrokrmilnik dsPIC33EP512MU814
Kot vidimo na sliki 3.16 imamo na voljo 100 pinov. Nekateri od teh so tudi tolerantni na
5V. Te na sliki 3.16 prepoznamo s sivo oznako na pinu . Na vsak vhodni/izhodni pin lahko
vežemo tudi prekinitev. 32 pinov je lahko analognih vhodov, ostali so digitalni ali pa niso
vhodno/izhodni. Pod slednje spadajo napajanje, zunanji oscilator, ipd...
Za komunikacijo z bluetooth modulom smo uporabili strojni UART vmesnik, ki sam poskrbi
za pravilno pošiljanje podatkov. Za to smo uporabili UART2 vmesnik. S pomočjo posebne
tabele iz dokumentacije, smo preko registrov določili, na katerih pinih naj UART2 vmesnik
krmili z bluetooth napravo.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
18
3.3 Načrtovanje vezja Celotno EKG napravo smo si fizično zamislili v treh nivojih. To pomeni, da imamo tri
tiskana vezja, ki so enake dimenzije in se nataknejo ena na drugo.
3.3.1 Digitalni del
Za prvi oz. »digitalni del« smo vzeli kar obstoječo ploščico, ki so jo razvili v laboratoriju za
sistemsko programsko opremo. Uporabili smo samo stvari, ki smo jih potrebovali za naš
primer. Ploščica vsebuje:
• mikroprocesor,
• vmesnik za povezavo z USB,
• regulator napetosti,
• vmesnik za polnjenje baterije.
Na to tiskano vezje smo nato dodali še bluetooth modul, ki smo ga priklopili na proste pine
mikroprocesorja in baterijo na ustrezen priključek. Na sliki 3.17 je viden prvi del ploščice.
Slika 3.17: Digitalni del
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
19
Slika 3.18: Shema digitalnega dela
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
20
3.3.2 Del za filtriranje EKG signala
Drugi oz. »del za filtriranje EKG signala« vsebuje vse komponente za zajem signala. Kot
vhod na ta nivo tiskanega vezja se pripelje:
• pozitivna napetost,
• masa,
• vhod v AD pretvornik in
• frekvenca za 50Hz filter.
Najprej je potrebno v vezju generirati negativno napetost za ostale komponente. Večina
komponent namreč potrebuje bipolarno napetost. Šele nato se signala, ki prideta iz 3.
dela vezja pripeljeta v instrumentacijski ojačevalec. Ta poskrbi, da imamo na izhodu
ojačen skupen signal (7-kratno ojačenje), ki se nato pelje na 50Hz filter z zarezo in
operacijski ojačevalec. Po filtraciji celotni signal še ojačamo za 47-krat s pomočjo
operacijskega ojačevalca. Sledi elektrolitski kondenzator, ki nam izloči enosmerno
komponento. Sedaj je še potrebno vrednosti premakniti v pravilno napetostno območje (0
in 3,3V). V tem delu vezja uporabimo še nizkoprepustni filter s lomno frekvenco 780Hz, ki
nam odreže vse frekvence večje od 780Hz. Na koncu se signal pripelje na vhod AD
pretvornika.
Slika 3.19: Končna verzija filtrirnega dela
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
21
Shema dela za filtriranje je vidna na sliki 3.20.
Slika 3.20: Shema filtrirnega dela
Povezave, ki smo jih kasneje uporabili pri procesu jedkanja so vidne na sliki 3.21.
Slika 3.21: Povezave za tiskano vezje
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
22
3.3.3 EKG senzorji
Tretji oz. »senzorski del« vsebuje EKG senzorje. Na to tiskano vezje smo prav tako
pripeljali pozitivno in negativno napetost, ter maso. Izhodna signala iz dveh EPIC
senzorjev se peljeta nazaj na drugi del naprave. Na ta del smo tudi vpeli gumijaste
pasove, ki se uporabijo, ko si želimo napravo dati na telo.
Tiskano vezje tretjega dela je bilo enostavnejše za izdelavo. Prav tako smo imeli veliko
prostega prostora, ki smo ga porabili za maso. Ta je pomembna, saj se je moramo
dotakniti, ko želimo pravilno meritev.
Slika 3.22: Shema senzorskega dela
Slika 3.23: Povezave za tiskano vezje senzorjev
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
23
Celotno sestavljeno vezje zgleda kot na sliki 3.24. Zaradi udobnosti in zaščite senzorjev,
smo na vrh vezja dodali kartonasto zaščito. Ozemljitev smo dosegli s prevodnim
samolepilnim aluminijastim trakom.
Slika 3.24: Sestavljeni merilec EKG
3.4 Izdelava vezja Po izdelanih shemah in načrti s povezavami smo se lotili fizične izdelave vezja. Odločili
smo se za klasičen foto postopek. Plošče, ki že vsebujejo UV občutljiv fotolak smo
razrezali na pravilne velikosti (10 x 3,8 cm). Nato smo vezje natisnili na folijo in jo dali
osvetljevati pod UV svetlobo. Po končanem osvetljevanju smo vezje potopili v razvijalec,
ki smo ga kupili v prašku in smo ga samo raztopili v topli vodi. Po nekaj sekundnem
razvijanju so na vezju ostale samo še naše povezave. Ves fotolak, ki je bil izpostavljen
UV svetlobi, se je raztopil.
Sledil je postopek jedkanja. V mešanico vode, solne kisline in vodikovega peroksida smo
potopili ploščico. Razmerje mešanice je bilo 2:1:1. Po kratkem času smo že videli, kako so
se povezave začele izoblikovati v naše vezje.
Po postopku jedkanja smo vezje umili s posebnim sprejem, ki odstranjuje ostanke fotolaka
in oksidiranega bakra. Zjedkani ploščici prikazuje slika 3.25.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
24
Slika 3.25: Pripravljena tiskana vezja
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
25
4 Program za mikrokrmilnik Pri pisanju programa za mikrokrmilnik smo se odločili za orodje MPLAB X IDE podjetja
Microchip, ki je tudi proizvajalec našega mikrokrmilnika. Program je napisan v
programskem jeziku C. Za prevajanje smo uporabili XC16 prevajalnik verzije 1.21. Da je
bilo delo s prenašanjem programa in iskanjem napak enostavnejše, smo uporabili ICD3
programator in razhroščevalnik, ki je mnogokrat prišel prav, ko je bilo potrebno najti
napako.
4.1 Programsko orodje MPLAB X IDE MPLAB X IDE je brezplačno orodje za pisanje programov za mikrokrmilnike podjetja
Microchip družine PIC in dsPIC. Program je namenjen za vse večje operacijske sisteme
(Windows, OsX in Linux). Nasplošno nam program ponuja tudi veliko podpornih knjižnic in
pomoči pri razvijanju. Enostavno se da namestiti tudi druge prevajalnike. Povezava z
programatorjem prav tako ni zapletena in je v našem primeru delovala kar ob prvem
zagonu. V primeru, ko še nimamo fizičnega vezja nam omogoča tudi delo na simulatorju.
Ob kreiranju projekta si namreč izberemo točno določen tip mikrokrmilnika, ki ga imamo.
Enostavno je tudi delo z prekinitvenimi točkami (breakpointi). V programu si enostavno
izberemo vrstico pri kateri se želimo ustaviti. ICD3 vmesnik poskrbi, da vse skupaj deluje
na fizični napravi. Tako je možno videti realno stanje na mikrokrmilniku v danem trenutku
4.2 Delovanje programa
4.2.1 Nastavljanje časovnikov in UART vmesnika
Na samem začetku programa je potrebno nastaviti registre za delo z raznimi vmesniki.
Med pomembnejšimi je nastavitev oscilatorja na pravilno frekvenco. Mi smo našega
nastavili na maksimalno frekvenco, pri kateri še deluje razhroščevalnik. S pomočjo
registrov smo nastavili frekvenco 60MHz.
Po nastavitvi frekvence smo se lotili inicializacije UART vmesnika. Ta nam služi za
komunikacijo z bluetooth vmesnikom. Najprej smo morali izbrati pin na katerem želimo
imeti povezavo. Za UART vmesnik potrebujemo Rx in Tx povezavo. Po določanju pinov
smo nastavili njihovo polariteto. Na našem mikrokrmilniku lahko nastavimo katerikoli
vhodno/izhodni pin za določeno nalogo strojnih vmesnikov. V našem primeru smo določili
pin RE6 in RE7 (Rx in Tx) preko posebne tabele, ki povezuje pine z vmesniki. Potrebno je
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
26
bilo nastaviti tudi hitrost pošiljanja podatkov za vodilo. To smo nastavili v registru U2BRG,
ki mora biti celoštevilčna vrednost. Izračuna se po naslednji formuli:
𝑈𝑥𝐵𝑅𝐺 = 𝐹𝑝
16 ∗ 𝐵𝑎𝑢𝑑𝑅𝑎𝑡𝑒 – 1 ( 4.1 )
Tu je:
Fp - frekvenca
BaudRate - željena hitrost
UxBRG – vrednost za register
Želimo pošiljati podatke s hitrostjo 921600 bitov na sekundo. Naša frekvenca
mikrokrmilnika je 60MHz. Ko vstavimo podatke v zgornjo enačbo dobimo vrednost 3,07.
Zaokrožena vrednost je torej 3. Če izračunamo hitrost pri zaokroženi vrednosti dobimo
937500. Napako izračunamo po naslednji formuli:
𝑁𝑎𝑝𝑎𝑘𝑎 = 𝑖𝑧𝑟𝑎č𝑢𝑛𝑎𝑛𝑎 ℎ𝑖𝑡𝑟𝑜𝑠𝑡 – ž𝑒𝑙𝑗𝑒𝑛𝑎 ℎ𝑖𝑡𝑟𝑜𝑠𝑡
ž𝑒𝑙𝑗𝑒𝑛𝑎 ℎ𝑖𝑡𝑟𝑜𝑠𝑡 ( 4.2 )
Ko vstavimo podatke v zgornjo enačbo dobimo 1,72% napako, kar še ni problem pri
pošiljanju podatkov.
Nato smo nastavili AD pretvornik. Za to se pokliče funkcija, ki nastavi vse potrebne
registre. Za nas je bila pomembna nastavitev o tem ali želimo imeti 10 oz. 12-bitno
resolucijo. Zaradi boljše kvalitete smo izbrali 12-bitno resolucijo. Pomembna nastavitev je
tudi nastavitev referenčne napetosti. Mi smo nastavili kar osnovno napetost, ki napaja
mikrokrmilnik.
S pomočjo časovnikov smo rešili dve nalogi. En časovnik je dajal frekvenco za naš 50Hz
filter. Drugega pa smo uporabili za pravilno vzorčenje EKG signala.
Za filter smo potrebovali natančno 3965Hz. Do tega smo prišli z »Timer3« časovnikom, za
katerega smo nastavili »prescaler« 1:8 in števec na 944. Pri časovnikih tega tipa smo
morali upoštevati, da se frekvenca razpolovi (Fosc/2). Če torej v enačbo vstavimo podatke
pridemo do naslednje frekvence:
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
27
𝑓!"# =60000000 𝐻𝑧
2 ∗ 8 ∗ (944 + 1) = 3968,25 𝐻𝑧 ( 4.3 )
Ko časovnik poteče v našem primeru sproži prekinitveno funkcijo. S to funkcijo nato
krmilimo izhodni pin, ki je povezan na čip.
Pri vzorčenju signala je zelo pomembno, da se vzorči v enakih časovnih rezinah. Samo v
takšnem primeru bomo zmožni dobro filtrirati signal. V ta namen smo uporabili časovnik
»Timer5«. Pri tem veljajo enaka pravila kot za časovnik zgoraj. Želimo vzorčiti s hitrostjo
10000 Hz. Zato smo nastavili preddeljitelj na 1:8, števec pa na 374.
𝑓!"# =60000000 𝐻𝑧
2 ∗ 8 ∗ (374 + 1) = 10000 𝐻𝑧 ( 4.4 )
4.2.2 Filtriranje na mikrokrmilniku
Po samem filtriranju na tiskanem vezju želimo iz zajetega signala odstraniti še harmonike
50 Hz šuma. Sam filter smo zasnovali v orodju Matlab R2013. EKG signal smo si shranili
v datoteko, ki smo jo nato odprli v omenjenem orodju. S pomočjo ukaza »fir1 (599, 0.01)«
smo dobili filter, kot ga vidimo na sliki 4.1. Stopnja filtra je 600, z lomno frekvenco 100Hz.
Slika 4.1: Frekvenčni odzib našega filtra
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
28
Iz filtra smo torej dobili 600 koeficientov. Te koeficiente smo si shranili v polje in jih dodali
kar v izvorno kodo programa. Poleg filtriranja smo naš signal tudi podvzorčili s faktorjem
100. Tako smo na koncu dobili vzorčevalno frekvenco 100Hz. To pomeni, da pošiljamo
preko bluetooth vmesnika 100 vzorcev na sekundo.
Celotno filtriranje je potekalo tako, da smo hkrati polnili 6 tabel z vzorci, ki so prihajali.
Vsak prejeti vzorec se je pomnožil z ustreznim koeficientom v tabeli. Ta vrednost se je
prištela k skupni filtrirani vrednosti. Ko je ena od teh 6-ih tabel dosegla maksimalno število
vzorcev (600), se je filtrirana vrednost poslala na mobilno napravo.
4.2.3 Oblikovanje paketa za pošiljanje
Pošiljali smo pakete z velikostjo 62 zlogov. Od tega sta prva dva zloga predstavljala glavo,
ki je pomagala pri sinhronizaciji na mobilni napravi. Vrednost za glavo smo izbrali 0x55 in
0xAA. Ker smo pošiljali števila s plavajočo vejico (float), ki so velika 32 bitov, smo vsako
število razdelili na 4 zloge. Tako smo na koncu v enem paketu poslali 15 prejetih vzorcev.
Oblika paketa je vidna na spodnji sliki.
4.2.4 Izbira podatkovnega tipa na mikrokrmilniku
Na samem mikrokrmilniku imamo veliko izbiro različnih tipov. Dandanes nam v bistvu
ponujajo enako velikost kot na pravih računalnikih. Seveda je treba poudariti, da gre to
vse na račun hitrosti, ki pa je manjša, če potrebujemo večje zaloge vrednosti.
V našem primeru smo potrebovali števila s plavajočo vejico. Vrednosti iz AD pretvornika
so sicer cela števila (int). Koeficienti za filtriranje pa so decimalni in na intervalu med -1 in
1. Mikrokrmilniki z oznako »ds« imajo še posebej tip »fractional«, kateremu lahko
nastavimo število mest za decimalni del. Slednjega nismo uporabili, saj bi se povečalo
število deljenj. Vrednosti, ki jih premore so lahko namreč samo med -1 in 1.
Odločali smo se tako med tipoma float (32bit) in double (64bit). V orodju Matlab smo
naredili analizo napake, ki bi se lahko zgodila, če bi uporabljali float. Test je potekal tako,
da smo generirali milijon naključnih števil in jih shranili v polje. Za generiranje teh števil
Glava (0x55 in 0xAA) f1 f2 ... f15
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
29
smo uporabili ukaz »rand (1000000,1)«, ki nam je vrnil polje naključih števil med 0 in 1. Mi
smo nato ta števila spravili na interval med 0 in 4096. To so tudi mejne vrednosti našega
AD pretvornika.
Nato smo ta naključna števila filtrirali s koeficienti, ki so bili v podatkovnem tipu float in
drugič v tipu double. Vsakega posebej smo shranili v novo polje, ki smo ju nato odšteli
med seboj. Dobili smo tabelo razlik za posamezne filtrirane vrednosti.
Ugotovitve so zbrane spodaj:
• Največja vrednost: 0,00503057
• Najmanjša vrednost: -0,00645659
• Standardni odklon: 0,00095299
• Povprečna vrednost: -0,00000783
Kot vidimo, za nas ni razlike v primeru, ko se odločamo med float in double. Glede na to
smo izbrali float podatkovni tip.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
30
4.2.5 Shematski potek programa
Na spodnji sliki je viden potek programa. Vzporedno se izvaja še časovnik, ki ga
uporabljamo pri filtriranju.
Slika 4.2: Shematski potek programa
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
31
5 Mobilna aplikacija Za pregled signala bomo torej preko bluetooth modula pošiljali na mobilno napravo
podatke za izris. Za mobilno platformo smo se odločili za Android operacijski sistem.
Podprli bomo vse naprave od verzije 4.0.3 (ICS) dalje.
5.1 Android operacijski sistem Android mobilna platforma je odprtokodni operacijski sistem, ki temelji na Linux jedru.
Začetki segajo v 23. september leta 2008, takrat je bil tudi predstavljen širšemu svetu s
strani Googla. Ta je namreč pod okrilje vzel takratno podjetje Android inc.. Prva verzija, ki
se je pojavila na telefonih je bila verzija 1.0 (9. februar 2009). Slednja je vsebovala vse
osnovne funkcionalnosti telefona, a je bila različica zelo okrnjena. [4]
Od prvega izida in vse do danes tako funkcionalnost kot priljubljenost zelo raste. Tako
imamo danes 81% vseh mobilnih naprav na katerih teče omenjen operacijski sistem. [19]
Do sedaj je bilo skupaj predstavljenih 10 različic. Zadnja različica ima številko 4.4 in kodno
ime »Kit Kat«. Predstavljena je bila 14. oktobra 2013 na Google I/O konferenci. V tabeli
5.1 so prikazane še ostale verzije.
Tabela 5.1: Verzije Android operacijskega sistema
Različica Kodno ime Datum izida Številka API
4.4 Kit Kat 31. Oktober, 2013 19
4.3
Jelly Bean
24. Julij 2013 18
4.2.x 13. November 2012 17
4.1.x 9. Julij 2012 16
4.0.3 – 4.0.4 Ice Cream Sandwich 16. December, 2011 15
2.3.3 – 2.3.7 Gingerbread 9. Februar, 2011 10
2.2 Froyo 20. Maj 2010 8
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
32
5.2 Eclipse razvojno okolje Za razvoj naše aplikacije bomo uporabili prosto dostopno razvijalno okolje Eclipse IDE.
Okolje nam omogoča delo v mnogih programskih jezikih. V našem primeru bomo uporabili
Java programski jezik. Samo okolje je nastalo leta 2001 pod konzorcijem raznih
računalniških podjetij. Trenutno je najaktualnejša verzija 4.4 z imenom »Luna«.
Eclipse razvijalno okolje je podprto tudi z nameščanjem raznih vtičnikov. To je tudi
najpomembnejši del Eclipsa, saj omogoča, da lahko funkcionalnosti, ki jih v osnovi
omogča Eclipse, nadgradimo s svojimi. Vtičnike bomo tudi sami uporabili, ko bomo hoteli
delati s knjižnicami in uporabljati razne pripomočke za Android.
5.3 Android SDK Android SDK je brezplačni skupek dodatkov k razvijalnemu okolju, ki zajema:
• knjižnice,
• emulatorje naprav,
• veliko dokumentacije,
• testni primeri,
• razhroščevalnik
Sam Android SDK se razvija vzporedno s prihodom novih verzij. Za kompatibilnost je
poskrbljeno tudi s podporo za prejšnje verzije Android operacijskega sistema.
5.4 Izdelava aplikacije Najprej je bilo na računalnik potrebno namestiti vse potrebne programe in dodatke. Za
dosego tega smo sledili navodilom na uradnih straneh za Android razvijalce, kjer ni bilo
večjih problemov. Najprej je bilo potrebno namestiti Javo za razvijalce (JDK), nato
razvojno okolje Eclipse. Na koncu pa še Android SDK. S pomočjo vtičnika AVD smo
povezali Eclipse in Andorid SDK.
Po uspešni namestitvi smo ustvarili projekt. Najprej je bilo potrebno vpisati osnovne
podatke o aplikaciji, nato pa še obliko aplikacije. Za potrebe naše aplikacije smo izdelali
tudi preprosto ikono vidno na sliki 5.1.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
33
Slika 5.1: Ikona mobilne aplikacije
Nato smo se lotili grafičnega izgleda aplikacije. Tega smo lahko naredili kar v Eclipse
razvojnem okolju. Ta nam omogoča, da lahko razvijamo okno vizualno ali pa ga gradimo
kar v XML datoteki. Oba načina se dopolnjujeta in vedno imamo na voljo predogled. Na
sliki 5.2 lahko vidimo razvoj grafičnega vmesnika.
Slika 5.2: Grafični urejevalnik
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
34
Izdelali smo 2 okna. Prvo okno je za pregled v živo. Ta je na sliki 5.3.
Slika 5.3: Okno - "v živo"
1. Gumb za povezavo in začetek spremljanja
EKG.
2. Gumb za prekinitev povezave.
3. Gumb za začetek in konec snemanja.
4. Tukaj lahko preklapljamo med oknoma. Prvi
gumb je namenjen za »živo sliko« drugi pa za
zgodovino.
Drugo okno je za pregled posnetih meritev (slika 5.4).
Slika 5.4: Okno - "zgodovina"
1. Znotraj tega okna se nam prikaže EKG
meritev.
2. Gumb, ki nam odpre seznam vseh posnetih
meritev.
3. Gumb ustavi predvajanje.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
35
V primeru, ko je potrebno izbrati bluetooth napravo oz. posneto meritev se nam odpreta
seznama kot na sliki 5.5 in 5.6.
Slika 5.5: Izbira bluetooth naprave
Slika 5.6: Izbira posnetka
Celotno ozadje programa v osnovi za oba načina deluje enako. V prvem primeru se
podatki pridobivajo preko bluetooth naprave, v drugem pa se bere iz datoteke.
Branje poteka v ločeni niti. Ta cel čas sprejema pakete iz naprave in jih sinhronizira glede
na glavo paketa. Vrednosti nato sestavlja v števila s plavajočo vejico. Ko je vrednost
pripravljena, se pošlje signal drugi niti, ki skrbi za izris. Ta vpiše vrednost v krožno vrsto.
Nato se celotna vrsta izriše na zaslon. Podobna stvar se zgodi tudi, ko gledamo
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
36
zgodovino meritve, takrat se vrednosti berejo iz datoteke in se direktno vpisujejo v vrsto.
Program to ponavlja, dokler ne prekinemo povezave ali ustavimo program.
Med povezovanjem na bluetooth napravo smo naleteli na nekaj težav. Potrebno je bilo
dodati pravico za dostop v manifest datoteki. Enako smo naredili tudi za pisanje v spomin
telefona.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
37
6 Meritve Meritve so se izvajale na treh različnih prostovoljcih. Merjenje je potekalo v treh fazah in
sicer je vsak z napravo najprej miroval, nato hodil in na koncu še tekel. Pri vsaki meritvi
smo želeli ugotoviti, ali se da razbrati celoten utrip srca z vsemi fazami. Na spodnji sliki je
viden EKG signal, ki smo ga pridobili z našo napravo. Kot vidimo, lahko enostavno
določimo faze enega utripa.
Slika 6.1 Izmerjen utrip
Testirane osebe so si napravo namestile na prsni koš z gumijasto-elastičnim trakom.
6.1 Mirovanje Pri mirovanju vidimo, da je signal brez velikih šumov. V večini primerov bi se dalo določiti
faze bitja. Iz slike 6.1 je tudi razločno vidno, kdaj se je zgodil utrip.
Slika 6.2: Primerjava EKG signala pri mirovanju (X os predstavlja zaporedno številko vzorca, Y pa
vrednost AD pretovrbe)
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
38
6.2 Hoja Pri hoji se še ne opazi velike razlike. Še vedno se da določiti faze. Utripi so jasno vidni.
Slika 6.3: Primerjava EKG signala pri hoji (X os predstavlja zaporedno številko vzorca, Y pa
vrednost AD pretovrbe)
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
39
6.3 Tek Pri teku vidimo, da so motnje kar izrazite. Predvsem pri tretji osebi, pri kateri je že težje
razločiti tudi R fazo. Menimo, da se to zgodi zato, ker se je spreminjal položaj senzorja na
telesu. Med tekom so vertikalne sile večje in se lahko naprava nekoliko premakne iz
osnovnega položaja.
Slika 6.4: Primerjava EKG signala pri teku (X os predstavlja zaporedno številko vzorca, Y pa
vrednost AD pretovrbe)
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
40
7 Sklep V diplomskem delu smo izdelali prenosen in brezžičen elektrokardiograf s senzorjem
EPIC. Predstavili smo vsak korak do končnega produkta. To zajema celotno načrtovanje
in izdelavo vezja, kot tudi programski del za mikrokrmilnik in mobilno napravo. Opisali smo
vse pomembnejše elektronske komponente, ki smo jih uporabili v končnem vezju.
Ugotovili smo, da so senzorji EPIC odlična izbira za različne aplikacije, pri katerih je
potrebno meriti električni potencial. V našem primeru so se izkazali kot odlična izbira, saj
je bil graf (izris) meritve zelo dober in kvaliteten.
Med samim izdelovanjem prototipa smo se večkrat srečali z raznimi težavami. Z uporabo
pripomočkov kot so osciloskop, logični analizator in razhroščevalnik smo te težave zelo
hitro rešili.
Celotno vezje smo na koncu sestavili v končen produkt. Opremili smo ga tudi s pasom, da
ga je mogoče pripeti na telo. Meritve so pokazale, da naprava pri mirnejših aktivnostih, kot
so mirovanje in hoja, deluje odlično. Tako so senzorji in celotna naprava izpolnili naša
pričakovanja.
Na kratko smo spoznali tudi Android operacijski sistem in samo programsko opremo za
razvijanje v njem. Izdelali smo aplikacijo, ki je zmožna v realnem času prikazovati EKG
meritve iz naprave. Meritve si je možno tudi shraniti. Bluetooth se je kot brezžični vmesnik
izkazal kot izjemno dobra izbira, saj je praktično dostopen na vsaki napravi. To pomeni,
da se lahko naša naprava povezuje na mnoge mobilne naprave.
Samo napravo bi se dalo izboljšati s tem, da bi vsa naša vezja združili v eno manjše,
kompaktnejše vezje. To vezje bi morali načrtovati še bolj previdno in postaviti elektronske
elemente čim bolj skupaj s krajšimi povezavami. Prav tako bi morali uporabiti več
kondenzatorjev, ki bi izničevali vpliv šuma v signalu. Ti bi morali biti čim bližje
posameznim elektronskim elementom.
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
41
8 Viri, literatura [1] Microchip Technology Inc.: MPLAB® C18 C COMPILER GETTING STARTED, 2004.
http://ww1.microchip.com/downloads/en/devicedoc/mplab_c18_getting_started_51295d.p
df [10.3.2014]
[2] Mikrokrmilnik dsPIC33EP512MU814 Data Sheet
http://ww1.microchip.com/downloads/en/DeviceDoc/70616g.pdf [10.3.2014]
[3] Mesojedec Uroš, Fabjan Borut: Java 2 : temelji programiranja, Ljubljana Pasadena,
2004
[4] Matej Podlesnik: Kaj je android?, http://slo-android.si/prispevki/kaj-je-android.html
[10.3.2014]
[5] Eclipse (software), http://en.wikipedia.org/wiki/Eclipse_(software) [10.3.2014]
[6] Elektrokardiografija, http://fizika.fnm.uni-mb.si/files/seminarji/04/ekg.doc [10.3.2014]
[7] Different Types of ECG Machines, http://www.favoriteplus.com/blog/types-ecg-
machines/ [10.3.2014]
[8] PS25255 EPIC Ultra High Impedance ECG Sensor,
http://www.mouser.com/ds/2/613/PS25255-256881.pdf [10.3.2014]
[9] Lipmanov elektrometer, http://en.wikipedia.org/wiki/Lippmann_electrometer [10.7.2014]
[10] Elektrokardiografija, http://en.wikipedia.org/wiki/Electrocardiography [10.7.2014]
[11] Deli EK naprave, http://www.ehow.com/list_7636620_parts-ecg-machine.html
[10.7.2014]
[12] Senzor EPIC, http://www.plesseysemiconductors.com/doc/?id=291766 [13.7.2014]
[13] INA122 Data Sheet, http://www.ti.com/lit/ds/symlink/ina122.pdf [13.7.2014]
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
42
[14] LMC7660 Data Sheet, http://www.ti.com/lit/ds/symlink/lmc7660.pdf [13.7.2014]
[15] Negativni napetostni pretvornik,
http://www.illuwatar.se/project_pages/short_projects/negative.htm [13.7.2014]
[16] LTC1062 Data Sheet, http://cds.linear.com/docs/en/datasheet/1062fd.pdf [23.7.2014]
[17] LM358, http://www.ti.com/lit/ds/symlink/lm158-n.pdf [23.7.2014]
[18] Operacijski ojačevalci, http://en.wikipedia.org/wiki/Operational_amplifier_applications
[23.7.2014]
[19] Android operacijski sistem, http://sl.wikipedia.org/wiki/Android_(operacijski_sistem)
[1.8.2014]
[19] Priljubljenost operacijskih sistemov http://www.idc.com/prodserv/smartphone-os-
market-share.jsp [1.8.2014]
[20] Bluetooth modul, http://mcuoneclipse.com/2013/06/19/using-the-hc-06-bluetooth-
module/ [3.8.2014]
[21] Bluetooth modul HC – 06, http://www.mikrokopter.de/ucwiki/en/HC-06 [3.8.2014]
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
43
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
44
Izvedba brezžičnega elektrokardiografa s senzorjem EPIC
45
Top Related