Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Engenharia
Departamento de Engenharia Eletrnica e de
Telecomunicaes
Projeto de Graduao
Agosto de 2013
Ficha Catalogrfica
Silva, Jonas Cardoso da
Indicador de Queda e Pedmetro com Monitoramento em Computador Pessoal
x, 89pp, 29,7cm (UERJ, Engenharia Eletrnica, 2013)
Projeto de Graduao Universidade do Estado do Rio de Janeiro.
1. Queda
2. Acelermetro
I. UERJ/FEN II. Ttulo (srie)
ii
AGRADECIMENTOS
iii
RESUMO
Este trabalho tem por objetivo desenvolver um prottipo de circuito que seja capaz
de verificar a condio de equilbrio da pessoa, ou seja, consiga determinar se a pessoa sofreu
uma queda ou no e possa tambm contar a quantidade de passos que a pessoa dar. Ser usado
nesse prottipo um acelermetro da Freescale MMA 7260 que far as medidas necessrias para
o funcionamento do projeto. Este circuito ser conectado a um computador pessoal, de forma a
permitir o monitoramento remoto. As medidas feitas pelo sensor acelermetro sero
interpretadas pelo microcontrolador da ATmega328 que responsvel por controlar e monitorar
todo o sistema. Esse microcontrolador faz parte do kit Arduino Duemilanove que contm todos
os componentes necessrios para suportar o microcontrolador. Esse projeto teve como base o
alto ndice de queda em pessoas idosas e as consequncias que essas por sua vez ocasionam.
Devido a isso esperamos que com esse prottipo caso uma queda venha a ocorrer as medidas
necessrias para o socorro do idoso possam ser acionadas o mais rpido possvel.
iv
ABSTRACT
This work aims to develop a prototype circuit that is able to check the equilibrium
condition of the person, or be able to determine if the person has been dropped or not, and can
also count the steps that the person will. This prototype will be used an accelerometer from
Freescale MMA 7260 that will make the arrangements for the operation of the project.
Measurements made by the accelerometer sensor will be interpreted by the ATmega328
microcontroller which is responsible for controlling and monitoring the entire system. This part
of the microcontroller Arduino Duemilanove kit that contains all components necessary to
support the microcontroller. This project was based on the high rate of falls in older people and
the consequences that these in turn cause. Because of this we hope that with this prototype case
a fall should occur the necessary measures to rescue the elderly can be triggered as soon as
possible.
Keywords: accelerometer, microcontroller, Arduino Duemilanove.
NDICE
Introduo e Objetivo ....................................................................................... 11
1. Motivao: As quedas e suas consequncias ............................................. 13
1.2 Envelhecimento Fisiolgico do Idoso .......................................................................... 14
1.3 Acuidade Visual ............................................................................................................ 14
1.4 Instabilidade Postural................................................................................................... 14
1.5 Alteraes Emocionais .................................................................................................. 15
1.6 Quedas no Idoso ............................................................................................................ 15
1.8 Nmero de Quedas que Resultam em Fraturas ......................................................... 16
1.9 Preveno de Quedas .................................................................................................... 17
2. Sedentarismo.................................................................................................. 17
3. Tecnologias Usadas: Matrias e Mtodos ................................................... 18
3.1 Acelermetro ............................................................................................... 18
3.1.1 Acelerao da gravidade ......................................................................................... 19
3.1.2 Construo de um Acelermetro ............................................................................ 19
3.1.3 Caractersticas de Acelermetros ............................................................................. 22
3.1.3.1 Sensibilidade de um acelermetro ......................................................................... 22
3.1.3.2 Eixos de um acelermetro ...................................................................................... 22
3.1.3.3 Sinais de sada de um acelermetro ...................................................................... 23
3.1.3.4 Frequncia de operao de um acelermetro....................................................... 24
3.1.3.5 Funcionamento do acelermetro ........................................................................... 24
3.1.4 Acelermetro MMA 7361 .......................................................................................... 27
3.1.4.1 Caractersticas de operao ............................................................................... 27
3.1.4.2 g-Select .................................................................................................................. 28
3.1.4.3 Self Test ................................................................................................................ 30
3.1.4.4 Sleep Mode............................................................................................................ 30
3.1.4.5 Filtragem .............................................................................................................. 30
3.1.4.6 Conexes bsicas ................................................................................................. 30
3.1.4.7 Acelerao esttica .............................................................................................. 31
5. Concluses ...................................................................................................... 68
Bibliografia ........................................................................................................ 69
ANEXO I ............................................................................................................ 71
Faixas de medida para algumas aplicaes do uso de acelermetro .............................. 71
Anexo II .............................................................................................................. 72
Cdigo implementado para o projeto ............................................................................... 72
vii
NDICE DE FIGURAS
31. Figura 4.12- Rotao de um vetor da posio (x,y) para a posio (x, y) segundo
um ngulo relativo origem do sistema de coordenadas......................................50
32. Figura 4.13- Rotao dos eixos y e z em torno do eixo x.......................................50
33. Figura 4.14- Rotao dos eixos x e z em torno do eixo y.......................................51
34. Figura 4.15 - Rotao dos eixos x e y em torno do eixo z......................................53
35. Figura 4.16- ngulo de Euler.................................................................................54
36. Figura 4.17- Fluxo de rotao para ngulos retos...................................................56
37. Figura 4.18- Curva formada com amostras de dados do acelermetro...................58
38. Figura 4.19- Erro acumulativo................................................................................59
39. Figura 4.20- Interpolao pelo mtodo do trapzio................................................59
40. Figura 4.21- Fluxo de Integrao............................................................................60
41. Figura 4.22- Diagrama de fluxo de deteco de queda...........................................61
42. Figura 4.23- Testes de queda mostrado no monitor seria.......................................62
43. Figura 4.24- Grfico de movimentos simples........................................................63
44. Figura 4.25- Queda frontal teste 1...........................................................................63
45. Figura 4.26- Queda frontal teste 2...........................................................................63
46. Figura 4.27 Queda de lado...................................................................................64
47. Figura 4.28 Queda sentado de costa.....................................................................64
48. Figura 4.29- Cinto e acelermetro com cabo flat de 5 vias.....................................65
49. Figura 4.30- Cinto e acelermetro com cabo flat de 5 vias e capinha para fixao
do acelermetro ao cinto..........................................................................................66
50. Figura 4.31- Desenho de fixao do acelermetro ao corpo da pessoa..................66
51. Figura 4.32- Ligao do acelermetro ao corpo......................................................67
52. Figura 4.33- Ligao do acelermetro ao corpo......................................................67
ix
NDICE DE TABELAS
Introduo e Objetivo
O bem estar fsico e a qualidade de vida dos idosos so de vital importncia. O
aumento da populao idosa em todo o mundo, chama por cuidados fsicos, suporte social,
higiene, alimentao adequada e atendimento sade, tanto para problemas crnicos quanto
para emergenciais. Estes fatos colocam em evidncia a necessidade de considerar uma viso
integral do paciente idoso e de estudos aprofundados com finalidade teraputica e de promoo
da sade visando melhora da qualidade de vida dessa populao [5].
O Ministrio da Sade relata que um dos problemas que mais afetam os idosos so as
quedas, que podem causar desde fraturas at a morte. de vital importncia identificar o incio
da ocorrncia de quedas, pois nas primeiras quedas comum a ausncia de fraturas ou caso
ocorra uma fratura no to grave como as que so ocasionadas depois de sucessivas quedas.
Portanto, se conseguirmos identificar a ocorrncia de quedas, mais fcil ser tomar medidas de
preveno para evitar futuras quedas, pois a medida que a pessoa envelhece o nmero de quedas
aumenta e as fraturas so inevitveis [5].
Com isso em mente teve-se a ideia de montar um equipamento que pudesse fazer o
monitoramento de uma pessoa idosa a fim de detectar uma possvel queda e caso isso ocorra
disparar as medidas necessrias para que o idoso seja socorrido de forma rpida e bem sucedida.
Existem muitas definies para quedas como veremos mais a frente, mas elas s
ocorrem devido a um fenmeno fsico chamado atrao gravitacional. responsvel por atrair
os corpos em direo ao centro da terra somando isso a um possvel desequilbrio teremos uma
queda.
As quedas podem ser identificadas de diversas maneiras. Neste projeto sugerido o uso
de um acelermetro que um sensor capaz de medir a acelerao sofrida por um corpo. A
escolha do acelermetro como sensor de deteco importante porque apesar do foco do projeto
ser na deteco de quedas esse mesmo dispositivo pode permitir contagem de passos do idoso,
a fim de monitorar sua atividade, porque caminhar de grande importncia para a manuteno
do bem estar fsico. Essa contagem de passos ser feita por meio de integraes da acelerao,
a integral da acelerao a velocidade; se integrarmos a velocidade teremos o deslocamento
11
que o idoso fez, com esses dados e uma estimativa do tamanho de um passo do idoso,
poderemos calcular a quantidade de passos que ele realizou.
Os valores de acelerao sero coletados por meio do sensor acelermetro, que ser
ligado a uma plataforma fsica de computao de cdigo aberto baseado numa simples placa
microcontroladora, essa placa conhecida como Arduino. Esse conjunto ser conectado a um
cinto que ficar preso na cintura do usurio. O dispositivo ser conectados a um computador a
fim de analisar remotamente as informaes que sero coletadas e tratadas pelo conjunto
acelermetro e Arduino.
O Arduino receber os dados analgicos dos sensores e converter os mesmos em
informaes digitais, atravs de seus conversores A/D, realizando o processamento das
informaes e enviando-os para um computador pessoal de monitoramento.
O digrama de blocos da Figura 1 Ilustra essa ideia mostra as etapas percorridas desde a
medio feita pelo acelermetro at a chegada ao computador pessoal.
Acelermetro
Arduino
ConversoresA/D
Computador
pessoal
12
EstudosfeitospeloMinistriodaSademostraqueasquedasesuasconsequncias
paraaspessoasidosasnoBrasiltmassumidodimensodeepidemia[5].Oscustosparaa
pessoa idosa que cai e sofre uma fratura so altssimos. E o pior, os problemas derivados
atingem toda a famlia, na medida em que a pessoa idosa que fratura um osso acaba
hospitalizadaefrequentementesubmetidaatratamentocirrgico.Oscustosparaosistema
desadetambmsoaltos[5].
Acadaano,oSistemanicodeSade(SUS)temgastoscrescentescomtratamentos
de fraturas em pessoas idosas. Em 2009, foram R$ 57,61 milhes com internaes (at
outubro)eR$24,77milhescommedicamentosparatratamentodaosteoporose.Em2006,
foramR$49milheseR$20milhesrespectivamente[5].
Aquantidadedeinternaesaumentaacadaanoeasmulheressoasmaisatingidas.
Entreasmulheresforam20.778milinternaesem2009eentreoshomens10.020mil(dados
at outubro). Por causa da osteoporose, as mulheres so mais vulnerveis s fraturas. Os
homenscaem,masnosofremtantasfraturasquantoasmulheres.Em2001,essesnmeros
erambemmenores,15milinternaesdosexofemininoe7mildosexomasculino[5].
Entreaslesesfsicas,asmaistemidassoasfraturas,sendoqueafraturadocolodo
fmur representa a principal causa de hospitalizao aguda por queda. Cerca de 50% dos
idosos que sofrem este tipo de fratura falecem dentro de um ano e a metade dos que
sobrevivem fica totalmente dependente dos cuidados de outras pessoas. Essas fraturas
ocorremmaisemmulheres,principalmente,devidoosteoporosesermaispronunciadano
sexofeminino[8].
A queda em idosos pode causar srios prejuzos qualidade de vida desse grupo
populacional,podendoacarretaremimobilidade,dependnciadosfamiliares,semfalarno
ndicedemortalidadepscirrgico[5],ouseja,oscasosmaisgravespodemacarretarmorte.
13
Considerandotodoopas,somenteem2005,foram1.304bitosporfraturasdefmur.Eem
2009essenmerosubiupara1.478[5].
A queda pode ser definida como evento descrito pela vtima ou pela testemunha, em
que uma pessoa inadvertidamente vai ter ao solo ou outro local em nvel mais baixo do que o
anteriormente ocupado, com ou sem perda de conscincia ou leso [1]; ou pode ser descrita
ainda como a falta de capacidade para corrigir o deslocamento do corpo durante o movimento
no espao. Determinados tipos de quedas como aquelas que esto associadas com perda de
conscincia ou um ataque convulsivo sbito, decorrentes de um evento cerebrovascular agudo,
de doena epiltica, de grave acidente automobilstico, de atividade recreacional exagerada ou
atos de violncia fsica, geralmente so excludos da definio de quedas nos indivduos idosos
[12].
Nos idosos as quedas recorrentes so sinais evidentes de uma situao clnica de
fragilidade, imobilidade, instabilidade e, muitas vezes, de doenas agudas, ou crnicas no
corretamente diagnosticadas. Alm disso, as quedas frequentemente contribuem para o declnio
funcional em decorrncia das leses sseas e musculares resultantes, da limitao da atividade
fsica diria, do receio que o indivduo tem de sofrer novas quedas e da perda de mobilidade e
independncia para a realizao das tarefas habituais e bsicas da vida diria [4].
15
2. Sedentarismo
18
19
20
21
O MMA 7361 pode ser alimentado com 2,2 at 3,6 volts. O pino de auto teste pode ser
utilizado para verificar as condies de operao do sensor. Cada eixo possui sua sada
analgica independente [6].
22
23
24
25
Se o acelermetro for posicionado num ngulo de, por exemplo, 45 graus, a acelerao
sofrida pelo eixo Z pode ser calculado por trigonometria, conforme mostra a Figura 3.9.
. cos
(1)
26
As duas barras fixas esto mesma distncia da barra mvel, essa distncia varia de um
lado na mesma proporo que a barra mvel se afasta da outra barra, indicando que houve
acelerao. Conforme a distncia entre as barras varia o valor da capacitncia muda [5],
podendo ser calculada pela equao.
(2)
Onde:
A = rea da barra
= Valor da constante do dieltrico
D = Distncia entre as barras
3.1.4.2 g-Select
A funo g-Select permite a seleo entre duas sensibilidades. Essa seleo pode ser
definida pelo usurio atravs da lgica de entrada no pino 10 do sensor conforme podemos ver
28
na Figura 3.12, que modifica sua configurao interna para uma sensibilidade de 1.5 g ou 6
g [3]. Conforme podemos ver na Tabela 3.1.
29
O sensor oferece a funo de self test, que verifica a integridade da parte mecnica e
eltrica do acelermetro antes e depois da instalao. Essa funo muito importante em
aplicaes como, por exemplo, para proteo de Discos Rgidos, onde a integridade do sistema
de proteo precisa ser garantida por toda vida til do produto. Os usurios tambm podem usar
o self test para verificar e confirmar se o sensor e demais dispositivos foram soldados e
montados corretamente [3].
Quando a funo inicializada, uma fora eletrosttica aplicada em todos os eixos
causando um desvio dos mesmos. Os eixos X e Y sofrem um desvio pequeno enquanto que Z
fica sujeito a 1g. Se isso acontecer tudo indica que o sensor est funcionando corretamente [3].
3.1.4.5 Filtragem
O MMA7341LC possui internamente um filtro capacitivo. Devido a esse filtro usar uma
tcnica de chaveamento de capacitores, no h a necessidade de serem usados componentes
externos (resistores e capacitores) para setar a frequncia de corte [3].
30
31
32
33
ATmega328
Tenso de operao
5v
7-12v
6-20v
40 mA
50 mA
Flash Memory
SRAM
2 KB
EEPROM
1 KB
Velocidade de Clock
16 MHz
34
3.2.1.2 Alimentao
O Arduino Duemilanove pode ser alimentado pela conexo USB ou por qualquer fonte
de alimentao externa. A fonte de alimentao selecionada automaticamente [7].
Alimentao externa (no-USB) pode ser tanto de uma fonte ou de uma bateria. A fonte pode
ser conectada com um plug de 2,1mm (centro positivo) no conector de alimentao. Cabos
vindos de uma bateria podem ser inseridos nos pinos Gnd (terra) e Vin (entrada de voltagem)
do conector de alimentao [7].
A placa pode operar com uma alimentao externa de 6 a 20 volts. Entretanto, se a
alimentao for inferior a 7 volts o pino 5V que fica do lado do pino de 3,3v e do Gnd pode
fornecer menos de 5 volts e a placa pode tornar-se instvel. Se a alimentao for superior a 12
volts o regulador de voltagem pode superaquecer e avariar a placa. Assim a alimentao
recomendada de 7 a 12 volts [7]. Os pinos de alimentao so:
VIN. Entrada de alimentao para a placa Arduino quando uma fonte externa for utilizada.
Pode-se fornecer alimentao por este pino ou usar o conector de alimentao.
5V. Fornece alimentao para o microcontrolador e para outros componentes da placa. Pode
ser proveniente do pino Vin atravs de um regulador on-board ou ser fornecida pelo USB
ou outra fonte de 5 volts.
3V3. Alimentao de 3,3 volts fornecida pelo chip FTDI (Future Technology Devices
International), que um controlador USB. A corrente mxima de 50 mA.
35
3.2.1.3 Memria
Cada um dos 14 pinos digitais do Duemilanove Figura 3.17 pode ser usado como
entrada ou sada usando as funes de pinMode(), digitalWrite(), e digitalRead(). Eles operam
com 5 volts. Cada pino pode fornecer ou receber um mximo de 40 mA e tem um resistor pullup interno de 20-50 kohms que servem para evitar flutuao em pinos configurados como
entrada [7].
Pinos 0 (RX) e 1 (TX) Serial: Usados para receber (RX) e transmitir (TX) dados seriais
TTL. Estes pinos so conectados aos pinos correspondentes do chip serial FTDI que um
Controlador USB. Esse chip faz a converso de USB para Serial.
36
Pinos 2 e 3: Estes pinos podem ser configurados para chama uma ISR (Interrupt Service
Routine) para tratar uma interrupo com a funo attachInterrupt( ) nesses pinos.
Pinos 3, 5, 6, 9, 10, e 11 (PWM): Fornecem uma sada analgica PWM de 8-bit com a
funo analogWrite ( ) utilizando a tcnica de Modulao por Largura de Pulso (PWM).
Pinos AREF e GND: O pina AREF a entrada de tenso de referncia para o conversor
A/D do Arduino; o pino GND o terra comum a todos os outros pinos.
pinMode ( pino, modo ) Serve para estabelecer a direo do fluxo de informao em qualquer
dos 14 pinos digitais. Dois parmetros devem ser passados funo: o primeiro indica qual
pino vai ser usado; o segundo indica se esse pino vai ser entrada ou sada de informaes.
digitalRead (pino) uma funo de leitura, ou seja, serve para ler as informaes presentes
em um determinado pino.
digitalWrite (pino, valor) Essa funo serve para enviar um nvel logico para qualquer pino
digital do Arduino. Dois parmetros devem ser passados a funo: o nmero do pino; e o nvel
lgico (HIGH/LOW) em que esse pino deve permanecer.
attachInterrupt (pino, funo, modo) Essa funo uma rotina de servio de interrupo. Toda
vez que ocorre uma interrupo por hardware no pino digital 2 ou 3 do Arduino uma outra
funo vai ser chamada. O terceiro parmetro, modo, informa como a interrupo vai disparar
se por nvel lgico baixo ou nvel lgico alto ou na mudana de um nvel para o outro.
Os pinos analgicos so 6 localizados numa barra com o nome analog in Figura 3.18,
localizada no lado oposto s barras dos pinos digitais. So numeradas de 0 at 5 da esquerda
para a direita. Esses pinos so usados para leitura de sinais analgicos proveniente de sensores
37
conectados ao Arduino, e podem ser de qualquer valor entre 0 e 5v. Os pinos de entrada
analgica no precisam ser configurados previamente com a funo pinMode( ).
Funes analgicas:
analogRead (pino) Essa funo permite ler o nvel analgico presente no pino indicado.
3.2.1.5 Comunicao
38
3.2.1.6 Programao
O ambiente de programao mais indicado o do software do Arduino o IDE
(Integrated Development Envionment). O IDE escrito em java e se baseia no ambiente de
desenvolvimento Processing que uma linguagem de programao de cdigo aberto para criar
imagens, animaes e interaes.
4. Montagem e implementao
39
A Figura 4.2 mostra o esquema eltrico da ligao do acelermetro MMA 7361 com
o Arduino.
Duemilanove e a porta serial a COM3 (a escolha dessa porta pode mudar de um computador
para outro). A Figura 4.4 ilustra as configuraes.
Contamos tambm com uma ferramenta muito til, utilizada no desenvolvimento desse
trabalho. Trata-se do Monitor Serial atravs do qual se visualiza a transmisso e recepo de
42
43
Com esses valores obtidos, pegamos um mdia deles e dividimos pelo valor ao qual
queremos calibrar. Para converter esses valores para tenso, basta multiplicarmos o resultado
da diviso pelo valor lido no eixo do acelermetro.
A mdia dos valores pode ser calculada conforme as equaes abaixo.
(3)
(4)
(5)
Onde:
Os valores de X,Y e Z obtidos da leitura dos eixos do acelermetro de maneira esttica,
ou seja, parado.
44
.
.
.
(6)
(7)
(8)
Onde X,Y e Z so os valores lidos dos eixos do acelermetro. Com isso passamos a ter
os valores dos eixos do acelermetro calibrador e convertidos para valores de tenso.
O fluxo grama da Figura 4.7 mostra as etapa do processo de calibrao.
Na Figura 4.8 podemos ver os valores de sada convertidos para valores de tenso e
calibrados para valores bem prximos aos que o Datasheet indica como desejados. Esses valores
correspondem a 1.65v que corresponde a 0g e 2.45v que corresponde a 1g.
45
0
1
(9)
0.8
(10)
Onde:
Vcc = Tenso de alimentao do acelermetro que corresponde a 3.3v
0.8 = Sensibilidade do acelermetro a cada 1g.
(11)
Onde:
= Sinal filtrado.
= Conjunto dos valores a serem somados.
N = Nmero de amostras utilizadas para a filtragem.
n = ndice que representa cada amostra.
Na Figura 4.9 e Figura 4.10 veremos os grficos dos eixos X, Y e Z antes e depois da
passagem pelo filtro de mdia.
47
Aps a filtragem o resultado obtido foi satisfatrio, porm o rudo no parou. Como a
deteco de queda vai trabalhar com grandes variaes de acelerao, este pequeno rudo no
atrapalhara na deteco de queda.
Com essas etapas ficamos com o acelermetro calibrado de maneira correta e com os
valores bem prximos aos determinados no Datasheet que so 1.65v para os eixos do
acelermetro que estaro em 0g, esses eixos do acelermetro so os que esto perpendicular ao
sentido da gravidade, e 2.45v para o eixo do acelermetro que est no sentido da gravidade.
Foi
proposto
para
projeto
possibilidade
do
acelermetro
funcionar
independentemente de que maneira ele esteja posicionado na pessoa. Porm os clculos sero
feitos a partir de uma referncia de eixos adotados. Por exemplo, se os eixos adotados como
referncia para os clculos forem eixo Z orientado para cima, na direo da gravidade, ou seja,
48
A ideia que qualquer posio que esteja diferente dessa venha ser reajustada por meio
de uma rotao de vetores, de maneira que possamos ter os valores de referncia estipulados
inicialmente. Uma breve explicao sobre matriz de rotao de vetores ser feita a seguir.
Rotacionar um vetor significa mudar sua direo segundo algum eixo de rotao. Para
um vetor bidimensional, ou seja, paralelo ao plano xy, significa reposicion-lo sobre um
caminho circular, como ocorre com o movimento dos ponteiros de um relgio. O eixo de
rotao um vetor perpendicular ao plano xy e passa pelo centro de rotao. A rotao
especificada por um ngulo . Valores positivos de geram uma rotao no sentido anti-horrio.
Neste exemplo, considera-se que o centro de rotao a origem do sistema de coordenadas. As
relaes angulares e de coordenadas do ponto original e do ponto transformado so mostrados
na Figura 4.12.
49
Figura 4.12 - Rotao de um vetor da posio (x,y) para a posio (x, y) segundo
um ngulo relativo origem do sistema de coordenadas.
50
0
j cos x
sin x
1
i 0
0
0
k sin x
cos x
(12)
Como a rotao ocorre em torno do eixo x, o vetor unitrio no sofre variao tendo
somente componente no eixo x, ou seja, suas componentes no eixo y e z so nulas. J o vetor
unitrio possui componente nula no eixo x, no eixo y sua componente varia em funo de
cos
. O vetor unitrio
possui
sin
e sua
em torno do eixo x.
0
x 1
y 0 cos
x
z 0 sin x
0
1 0
0
sin x
cos x
0
0 x
0 y
0 z
1 1
(13)
cos y
i 0
sin y
sin y
k 0
cos y
0
j 1
0
(14)
Como a rotao ocorre em torno do eixo y, o vetor unitrio no sofre variao tendo
somente componente no eixo y, ou seja, suas componentes no eixo x e z so nulas. J o vetor
unitrio possui componente nula no eixo y, no eixo x sua componente varia em funo de
cos
sin
. O vetor unitrio
possui
e sua
em torno do eixo y.
x cos y
y 0
z sin y
1 0
0 sin y
1
0 cos y
0
0
0 x
0 y
0 z
1 1
(15)
52
cos z
i sin z
0
sin z
j cos z
0
k 0
1
(16)
sin
e sua
em torno do eixo z.
53
x' cos z
y ' sin
z
z' 0
1 0
sin z
cos z
0
0
0 0 x
0 0 y
1 0 z
0 1 1
(17)
Como as rotaes no comutam devemos adotar uma ordem especifica, a ordem que foi
adotada foi, rotao em x, rotao em y e por fim rotao em z. Essa maneira de representar
orientaes denominada ngulo de Euler conforme mostra a Figura 4.16.
cos( y ) cos( z )
cos( y ) sin( z )
sin( y )
sin( ) sin( ) cos( ) cos( ) sin( ) sin( ) sin( ) sin( ) cos( ) cos( ) sin( ) cos( )
x
y
z
x
z
x
y
z
x
z
x
y
R ( x , y , z )
cos( x ) sin( y ) cos( z ) sin( x ) sin( z ) cos( x ) sin( y ) sin( z ) sin( x ) cos( z ) cos( x ) cos( y )
0
0
0
0
0
0
(18)
54
cos( y ) cos( z )
cos( y ) sin( z )
sin( y )
x'
'
x ) cos( y )
sin(
)
sin(
)
cos(
)
cos(
)
sin(
)
sin(
)
sin(
)
sin(
)
cos(
)
cos(
)
sin(
x
y
z
x
z
x
y
z
x
z
y
'
z cos( x ) sin( y ) cos( z ) sin( x ) sin( z ) cos( x ) sin( y ) sin( z ) sin( x ) cos( z ) cos( x ) cos( y )
0
0
0
1
0 x
0 y
0 z
1 1
(19)
cos
cos
cos
sin
sin
cos
sin
cos
sin
cos
cos
cos
cos
cos
sin
cos
cos
sin
cos
sin
sin
(20)
sin
sin
sin
(21)
sin
sin
cos
sin
sin
(22)
usarmos esse ngulo nas equaes de rotao que foram obtidas atravs da matriz de rotao.
Esse ngulo que desejamos foi obtido a partir da seguinte equao.
1 sin
(23)
Onde:
= Sensibilidade do acelermetro.
1g
= Acelerao da gravidade.
= ngulo de inclinao.
sin
sin
.
.
(24)
(25)
(26)
(27)
Neste caso, a integrao pode ser vista como o clculo da rea da curva, criada a partir
da amostragem dos dados do acelermetro conforme podemos ver na Figura 4.18.
58
lim
(28)
A amostragem pode criar intervalos em pequenas reas. Para que a coerncia entre os
dados seja adequada, a taxa de amostragem deve ser a mesma. O tempo da amostragem a base
de cada rea enquanto o valor do acelermetro a altura. Contudo, devido a amostragem
discreta, existe um erro acumulativo no clculo da integral conforme mostra a Figura 4.19.
Esse erro devido a amostragem, como mostrado na Figura 4.19. Uma maneira de lidar
com ele usando o mtodo de aproximao de primeira ordem. Considerando que o resultado
da integrao composto de duas reas, rea 1 e rea 2 conforme mostra a Figura 4.20.
59
(29)
60
Na figura 4.23 vemos alguns testes de queda feito, e com seus resultados mostrados no
monitor serial.
62
A figura 4.27 mostra o resultado da captao de acelerao para uma queda de lado.
64
Para a ligao do sistema ao corpo da pessoa, algumas mudanas foram feitas, como a
elaborao de um cinto onde o acelermetro possa ser fixado e o cabo flat de 5 vias que
possibilita a fixao somente do acelermetro ao corpo da pessoa, mantendo o Arduino a uma
distncia razovel. Na figura 4.29 e figura 4.30 veremos essas mudanas.
65
Figura 4.30 Cinto e acelermetro com cabo flat de 5 vias e capinha para fixao do
acelermetro ao cinto.
66
A figura 4.32 e figura 4.33 mostra como ficou a ligao ao corpo por meio do cinto.
5. Concluses
A proposta para este projeto foi a realizao de um sistema capaz de detectar quedas e
estimar a quantidade de passos dado atuando como um pedmetro, usando um acelermetro
modelo MMA 7361 da freescale, Arduino Duemilanove e um computador pessoal para a
visualizao dos resultados. A deteco de queda que a parte principal do projeto foi realizada
com sucesso, porm melhorias futuras tero que ser feitas no sistema de rotao, visto que uma
das ideias era que o acelermetro independente de como estivesse ligado na pessoa, seus eixos
sofreriam uma rotao at a referncia de eixos adotados. S conseguimos fazer o acelermetro
rotacionar em ngulos de 90 ou mltiplos do mesmo. Para uma inclinao qualquer em relao
aos eixos de referncia o clculo de rotao apresenta erros que precisaro ser revistos
futuramente. Uma maneira de se evitar isso prender o acelermetro no corpo na posio dos
eixos de referncia adotados ou em posies que ele s precisa ser rotacionado em ngulos
retos. Para o uso do acelermetro como pedmetro no tivemos xito mas isso devido ao MMA
7361 ter uma sensibilidade muito baixa apenas de 1.5g - 6g para o uso de um acelermetro
como pedmetro necessrio se ter uma alta sensibilidade conforme mostra a tabela no anexo
III. Os clculos necessrios para se determinar a posio foram feitas de maneira correta por
meio de integrao, sendo assim para termos o sistema funcionando tambm como um
pedmetro basta trocarmos o MMA 7361 para outro acelermetro com a sensibilidade adequada
para isso.
O tempo de implementao do projeto teve seu tempo se estendido mais do que o
previsto inicialmente, isso devido a problemas encontrados no dia a dia pessoal, como tambm
com a implementao do projeto, citando um caso especifico a rotao dos eixos do
acelermetro que por fim no ficou funcionando totalmente de maneira correta.
Apesar da proposta do projeto ter sido parcialmente alcanada, ele pode servir de base
para futuros projetos que tenham como objetivo o que foi abordado por esse projeto. Melhorias
futuras tero que ser feitas principalmente na parte de rotao dos eixos do acelermetro.
68
Bibliografia
[1] - BRITO, F.C, COSTA, S.M.N. Quedas. In: PAPALU NETTO, M., BRITO, F.C.
Urgncias em geriatria: epidemiologia, fisiopatologia, quadro clnico. Controle teraputico. So
Paulo, Rio de Janeiro, Belo Horizonte. Editora Atheneu, cap.26, p. 323, 2001.
[2] - BARROS, Marcos Braga. Desenvolvimento de Um Estabilmetro para estudo do
Equilbrio Humano. Dissertao de mestrado, Pontifcia Universidade Catlica do Rio Grande
do Sul. Porto Alegre, 2008.
[3] - FREESCALE, Semiconductors. Datasheet MMA7361. EUA, 2010. 11p. Disponvel em:
<http://www.freescale.com>. Acessado em: maio/2012.
[4] - GUIMARES, R.M; CUNHA, U.G.V. Sinais e Sintomas em Geriatria. 2a. Ed. So Paulo,
Rio de Janeiro, Ribeiro Preto, Belo Horizonte. Editora Atheneu, cap. 27, p. 278-285, 2004.
[5] - http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=33674&janela=1
Acessado em: julho /2012
[6] - http://multilogica-shop.com/placa-com-acelerometro-triaxial-mma7361 Acessado em:
Outubro /212
[7] - http://projeto39.wordpress.com/o-arduino-duemilanove/ Acessado em: setembro/2013
[8] - JUNIOR, C.M.P & HECKMAN, M.F. Distrbios da postura, marcha e quedas. In:
JUDGE J, OUNPUU S et al. Effects of age on the biomechanics and physiology of gait.
Clinics In Geriatric Med,;cap. 4, p. 659-678, 2006.
[9] - MCARDLE, W.D.; KATCH, F.I.; KATCH, V. Fisiologia do Exerccio, Energia , Nutrio
e Desempenho Humano. 3 edio. Guanabara Koogan, 1998.
[10] - MLLER, Brbara Dal-Ri. Nvel de atividade fsica e ocorrncia de quedas em idosos.
2010. 62 f. Monografia (Concluso do Curso de Fisioterapia) - Feevale, Novo Hamburgo-RS,
2010
Disponvel
http://ged.feevale.br/bibvirtual/Monografia/MonografiaBarbaraMuller.pdf
em:
Acessado
em:
06/2012.
69
[11] - NETO, T.L.B. Exerccio, Sade e Desempenho Fsico. 1 edio. Editora Atheneu, So
Paulo, Brasil, 1997.
[12] - PASCHOAL, S.M.P. Epidemiologia do envelhecimento. In: M.P. Netto (Ed.),
Gerontologia: A velhice e o envelhecimento em viso globalizada. So Paulo, Rio de Janeiro,
Belo Horizonte: Atheneu. p.26-43, 1999.
[13] - PATSKO, Lus Fernando. Tutorial. Aplicaes, Funcionamento e utilizao de sensores.
83p. 2006. Disponvel em: <http://www.pictronics.com.br>, Acesso em: 20/08/2011.
[14] - PUSSI, F.A.; ZINNI, J. V. S. O papel da fisioterapia na preveno da instabilidade e
quedas em idosos. Revista Virtual Fisioweb Wgate, abr. 2004. Disponvel em:
http://www.fisioweb.com.br. Acesso em: 09/2013.
[15] - QUADROS, Daniel. Microcontrolador Atmel ATmega328, Configuraes, Partes 1, 2,3
e 4. Blog DQSoft. 2011. Disponvel em: <http://dqsoft.blogspot.com> Acessado em: 07/2012.
[16] - SPIRDUSO, Dimenses fsicas do envelhecimento. Barueri, SP. Editora Manole, 2005.
[17] - TAHARA, T. & VIEIRA, D.A.G. Fisioterapia. In: NETTO, M.P. & BRITO, F.C.
Urgncias em Geriatria. So Paulo: Editora Atheneu, cap. 6, p. 69-79, 2001.
[18] - THOMPSON, L.V. Alteraes fisiolgicas associadas ao envelhecimento. In:
GUCCIONE, A.A. Fisioterapia geritrica. 2a. Ed. Rio de Janeiro. Editora Guanabara Koogan,
cap. 3, p. 27-52, 2002.
70
ANEXO I
Faixas de medida para algumas aplicaes do uso de acelermetro
71
Anexo II
void setup()
{
Serial.begin(9600);
pinMode(12,OUTPUT); // Define que o pino 12 sada.
acelex[1]=0;
73
aceley[1]=0;
acelez[1]=0; // Variaveis inicados com zero a fim de facilitar
velox[1]=0;
veloy[1]=0;
veloz[1]=0;
moduloaceleracao[1]=0;
moduloVelocidade[1]=0;
}
void loop()
{
acelex[0]=acelex[1]; // A cada novo loop essas variaveis so atualizads a fim de
aceley[0]=aceley[1]; // possibilitar o clculo das integrais por aproximao trapezoidal.
acelez[0]=acelez[1];
velox[0]=velox[1];
veloy[0]=veloy[1];
veloz[0]=veloz[1];
moduloaceleracao[0]=moduloaceleracao[1];
moduloVelocidade[0]=moduloVelocidade[1];
eixox = analogRead(0);
eixoy = analogRead(1);
eixoz = analogRead(2);
// Filtro de mdia.
ax=0;
ay=0;
az=0;
for(int i=0;i<=n1;i++){
x[i] = eixox;
y[i] = eixoy;
z[i] = eixoz;
ax = ax + x[i];
ay = ay + y[i];
az = az + z[i];
}
ax1=(ax/m1);
ay1=(ay/m1);
az1=(az/m1);
tetazrad = asin((az1-1.65)/0.8);
Modx=sqrt(tetaxrad*tetaxrad);
Mody=sqrt(tetayrad*tetayrad);
Modz=sqrt(tetazrad*tetazrad);
Ux=ax1-1.65;
Uy=ay1-1.65;
Uz=az1-1.65;
Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(0)-(cos(0)*sin(0))))+
(Uy*((sin(0)*sin(0)*sin(0))+(cos(0)*cos(0))))+(Uz*(sin(0)*cos(0))))+1.65;
76
Mz = ((Ux*((cos(0)*sin(0)*cos(0))+(sin(0)*sin(0))))+(Uy*((cos(0)*sin(0)*sin(0))(sin(0)*cos(0))))+(Uz*(cos(0)*cos(0))))+1.65;
if(ax1>=2.30){
Mx = (((Ux*cos(0)*cos(3*pi/2))+(Uy*cos(0)*sin(3*pi/2))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(3*pi/2)-(cos(0)*sin(3*pi/2))))+
(Uy*((sin(0)*sin(0)*sin(3*pi/2))+(cos(0)*cos(3*pi/2))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(3*pi/2))+(sin(0)*sin(3*pi/2))))+
(Uy*((cos(0)*sin(0)*sin(3*pi/2))-(sin(0)*cos(3*pi/2))))+(Uz*(cos(0)*cos(0))))+1.65;
}
if(ax1<=0.9){
Mx = (((Ux*cos(0)*cos(pi/2))+(Uy*cos(0)*sin(pi/2))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(pi/2)-(cos(0)*sin(pi/2))))+
(Uy*((sin(0)*sin(0)*sin(pi/2))+(cos(0)*cos(pi/2))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(pi/2))+(sin(0)*sin(pi/2))))+
(Uy*((cos(0)*sin(0)*sin(pi/2))-(sin(0)*cos(pi/2))))+(Uz*(cos(0)*cos(0))))+1.65;
}
if(ay1<=0.9){
77
Mx = (((Ux*cos(0)*cos(pi))+(Uy*cos(0)*sin(pi))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(0)*sin(0)*cos(pi)-(cos(0)*sin(pi))))+
(Uy*((sin(0)*sin(0)*sin(pi))+(cos(0)*cos(pi))))+(Uz*(sin(0)*cos(0))))+1.65;
Mz = ((Ux*((cos(0)*sin(0)*cos(pi))+(sin(0)*sin(pi))))+(Uy*((cos(0)*sin(0)*sin(pi))(sin(0)*cos(pi))))+(Uz*(cos(0)*cos(0))))+1.65;
}
if(az1>=2.30){
Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(3*pi/2)*sin(0)*cos(0)-(cos(0)*sin(0))))+
(Uy*((sin(3*pi/2)*sin(0)*sin(0))+(cos(3*pi/2)*cos(0))))+(Uz*(sin(3*pi/2)*cos(0))))+1.65;
Mz = ((Ux*((cos(3*pi/2)*sin(0)*cos(0))+(sin(3*pi/2)*sin(0))))
+(Uy*((cos(3*pi/2)*sin(0)*sin(0))-(sin(3*pi/2)*cos(0))))+(Uz*(cos(3*pi/2)*cos(0))))+1.65;
}
if(az1<=0.9){
Mx = (((Ux*cos(0)*cos(0))+(Uy*cos(0)*sin(0))-(Uz*sin(0))))+1.65;
My = ((Ux*(sin(pi/2)*sin(0)*cos(0)-(cos(pi/2)*sin(0))))+
(Uy*((sin(pi/2)*sin(0)*sin(0))+(cos(pi/2)*cos(0))))+(Uz*(sin(pi/2)*cos(0))))+1.65;
Mz = ((Ux*((cos(pi/2)*sin(0)*cos(0))+(sin(pi/2)*sin(0))))+
(Uy*((cos(pi/2)*sin(0)*sin(0))-(sin(pi/2)*cos(0))))+(Uz*(cos(pi/2)*cos(0))))+1.65;
78
if((ay1>1.65)&&(ay1<2.39)){
Mx = (((Ux*cos(Mody)*cos(0))+(Uy*cos(Mody)*sin(0))-(Uz*sin(Mody))))+1.65;
My = ((Ux*(sin(Mody)*sin(Modx)*cos(0)(cos(Modx)*sin(0))))+(Uy*((sin(Mody)*sin(Modx)*sin(0))+(cos(Mody)*cos(0))))+(Uz*(sin(
Mody)*cos(Modx))))+1.65;
Mz = ((Ux*((cos(Mody)*sin(Modx)*cos(0))+(sin(Mody)*sin(0))))+
(Uy*((cos(Mody)*sin(Modx)*sin(0))-(sin(Mody)*cos(0))))+
(Uz*(cos(Modx)*cos(Mody))))+1.65;
}
// Converte os valores de tenso lidos em valores de acelerao em m/s
acelex[1]=acex;
aceley[1]=acey;
acelez[1]=acez;
79
velx = 0;
velx = velx + ( acelex[0] + sqrt((acelex[1] - acelex[0])*(acelex[1] - acelex[0]))/2)*0.3;
vely = 0;
vely = vely + ( aceley[0] + sqrt((aceley[1] - aceley[0])*(aceley[1] - aceley[0]))/2)*0.3;
velz = 0;
velz = velz + ( acelez[0] + sqrt((acelez[1] - acelez[0])*(acelez[1] - acelez[0]))/2)*0.3;
velox[1]=velx;
veloy[1]=vely;
veloz[1]=velz;
posx = 0;
posx = posx + ( velox[0] + sqrt((velox[1] - velox[0])*(velox[1] - velox[0]))/2)*0.3;
posy = 0;
posy = posy + ( veloy[0] + sqrt((veloy[1] - veloy[0])*(veloy[1] - veloy[1]))/2)*0.3;
posz = 0;
posz = posz + ( veloz[0] + sqrt((veloz[1] - veloz[0])*(veloz[1] - veloz[1]))/2)*0.3;
Modacex=sqrt(acex*acex);
Modacey=sqrt(acey*acey);
80
Modacez=sqrt(acez*acez);
modulovelocidade=0;
modulovelocidade = modulovelocidade + (moduloaceleracao[0] +
sqrt((moduloaceleracao[1] - moduloaceleracao[0])*(moduloaceleracao[1] moduloaceleracao[0]))/2)* 0.3;
moduloVelocidade[1]=modulovelocidade;
moduloposicao=0;
moduloposicao = moduloposicao + ( moduloVelocidade[0] + sqrt((moduloVelocidade[1] moduloVelocidade[0])*(moduloVelocidade[1] - moduloVelocidade[0]))/2)*0.3;