COMANDO-GERAL DE TECNOLOGIA AEROESPACIAL
INSTITUTO TECNOLÓGICO DE AERONÁUTICA
DIVISÃO DE ENGENHARIA ELETRÔNICA
Medidor de Deslocamento utilizando sensores MEMS
Outubro de 2010
Disciplina:
EA-291 / 2010 – Pilotos automáticos para VANTs
Professores (a):
Profª. Neusa Maria F. de Oliveira
Assistente: Sergio Ronaldo B. S.
Alunos:
Alessandro Ferreira da Cunha
Tiago Henrique Medeiros Mercante
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
1. Introdução
Um dos tópicos importantes no trabalho com VANTs é a utilização de sensores inerciais que
possibilitem estimar com precisão sua posição, velocidade e aceleração. Isto pode ser utilizado no
controle do deslocamento do VANT, onde pode-se atuar nos parâmetros medidos alterando a atitude
do mesmo e fazendo o seu controle.
Neste trabalho abordaremos como é possível utilizar acelerômetros MEMS de baixo custo para
estimar o deslocamento de um móvel. Este deslocamento será feito em duas dimensões.
2. Configuração de hardware utilizado
Para implementar o algoritmo de controle proposto, foi montado um hardware composto de um
microcontrolador e um sensor acelerômetro MEMS, como pode ser visto na figura 01.
Figura 01: Hardware utilizado para fazer a medida de deslocamento
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 2 de 17
Medição de Deslocamentos com sensores MEMS
2.1.
ITA – Instituto Tecnológico de Aeronáutica
Microcontrolador ARM Cortex M3 LM3s6965
O mais recente conjunto de núcleos desenvolvidos pela ARM são as famílias Cortex, de onde
estudaremos microcontroladores da Texas Instruments que contem o núcleo Cortex M3,
mostrados na figura 02.
Figura 02: Famílias de microcontroladores ARM Cortex
A família Cortex foi dividida em três linhas de produtos: Cortex A, Cortex R e Cortex M. As
principais características de cada uma destas famílias são descritas a seguir e mostradas na figura
03:
•
•
•
Cortex A: Família de Aplicação. São processadores. Tem MMU (Memory Management Unit),
podendo rodar sistemas operacionais como o Linux, Windows CE, etc. Possuem uma alta
performance de processamento, mesmo mantendo o seu baixo consumo de energia.
Cortex R: Família de Tempo Real. São microcontroladores que tem máquina de ponto
flutuante, resultando em baixa latência e a predictibilidade que aplicações em tempo real
exigem. Possuem também uma MPU (Memory Protector Unit).
Cortex M: Família de Microcontroladores. Microcontroladores de 32 bits, com alta
velocidade de processamento, baixíssimo consumo. Dedicado a uso em sistemas
embarcados. Características determinísticas e preditivas são prioridade no desenvolvimento
destes núcleos.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 3 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Figura 03: Famílias de microcontroladores ARM Cortex
O microcontrolador ARM Cortex M3 LM3s6965, fabricado pela Texas Instruments, tem internamente
alguns periféricos que são utilizados para ler os dados dos sensores (conversor AD) e para gerar
saídas de dados para confirmar as medidas e os cálculos efetuados (display LCD e interface
RS232). Estes periféricos podem ser vistos na figura 04.
Figura 04: Periféricos existentes no microcontrolador ARM Cortex M3 LM3s6965
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 4 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Para aproveitar as características deste microcontrolador, utilizados um kit fornecido pela Texas
Instruments, mostrado na figura 05.
Figura 05: Kit do microcontrolador ARM Cortex M3 LM3s6965 fornecido pela Texas Instruments
Algumas das principais características do kit que utilizaremos neste treinamento são:
•
•
•
•
•
•
•
•
Utiliza o microcontrolador LM3s6965, que tem um controlador de Ethernet 10/100 integrado.
Configuração simples, com um cabo USB sendo utilizado para comunicação serial,
depuração, gravação, testes e alimentação da placa.
Display gráfico OLED com resolução de 128 x 96 pixels.
Botões e LEDs.
Alto falante do tipo magnetic speaker.
Conector JTAG de 20 pinos, com o padrão de conexão ARM
Slot para MicroSD Card.
Acesso aos principais pinos do microcontrolador.
Algumas características elétricas deste kit são:
•
•
•
A placa é alimentada através do conector USB, podendo receber tensões entre 4,37 e 5,25 V.
O LM3s6965 é alimentado com 3,3 V. Um LDO na placa regula a tensão correta para mo
microcontrolador, a partir do conector USB.
O consumo da placa, em atividade máxima, com a CPU a 50 Mhz, é de 250 mA.
A placa fornece duas tensões de saída, que podem ser utilizadas em periféricos externos: 3,3
V (corrente máxima de 60 mA) e 15 V (corrente máxima de 15 mA).
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 5 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Algumas características do Display OLED deste kit são:
•
•
•
•
•
•
•
É um display comercial, produzido em série, cujo código é RiT P14201 (www.ritekdisplay.com)
Alta taxa de contraste (500:1)
Excelente brilho (120 cd/m2)
Resposta ultra rápida (10 µs)
Vida útil em torno de 13.000 horas. É interessante pensar em aplicações com salva tela para
aumentar a vida útil do display.
Comunicação com o LM3s6965 via interface serial SSI (que é compartilhada com o leitor de
cartão MicroSD).
Necessita de uma alimentação de 15 V, o que é obtido no kit através de um conversor do tipo
Boost da Fairchild (FAN5331).
2.2.
Acelerômetro MEMS
Até pouco tempo o tamanho e o peso dos sensores inerciais mecânicos, sem contar seu custo,
tornava seu uso proibitivo em aplicações para o estudo de robótica. Este cenário começou a mudar
com o advento dos sensores do tipo MEMS (Micro-Machined Electromechanical Systems).
Estes sensores são muito mais leves e baratos do que suas versões mecânicas anteriores, como
pode ser visto na figura 06a (imagem de um acelerômetro da Analog Devices®). Criados diretamente
no substrato onde os circuitos integrados são montados, são facilmente encapsulados em formatos
que permitem alto grau de miniaturização dos produtos eletrônicos onde eles serão aplicados, como
é possível notar na figura 06b (encapsulamento de um acelerômetro da Freescale®).
Figura 06: (a) vista interna de um acelerômetro MEMS da Analog Device (b) acelerômetro encapsulado pela Freescale
O mesmo acontece com os giroscópios, montados em substratos MEMS e posteriormente
encapsulados, como o que pode ser visto na figura 07 também da Analog Devices®.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 6 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Figura 07: (a) vista interna de um acelerômetro MEMS da Analog Device (b) detalhe da célula de carga do gisroscópio
MEMS da Analog Device
3.2. Acelerômetro MMA7368L
Para a montagem da IMU, foi escolhido o acelerômetro MMA7368L, fabricado pela Freescale®.
Trata-se de um dispositivo com três eixos (x,y e z), cuja saída analógica é proporcional a aceleração,
dentro de uma escala de funcionamento de ± 1,5 g. A vantagem de utilizar este dispositivo esta no
KIT de testes que a empresa fabrica, mostrado na figura 08, já que fazer a soldagem do dispositivo
de dimensões extremamente reduzidas e com encapsulamento do tipo LGA-14 não é tarefa das
mais fáceis para quem não tem muitas habilidades mecânicas.
Figura 08: Kit de experimentos 336MMA7368L, da Freescale
A sua integração com a placa de controle será feita através dos pinos de saída de sinal analógico
em cada um dos três eixos, como pode ser visto na figura 09. A sua alimentação está dentro da faixa
de operação do microcontrolador que será utilizado (3,3 V) e os demais sinais de controle desta
placa não serão necessários.
Figura 9: Conexões do kit de experimentos 336MMA7368L com o microcontrolador ARM Cortex M3
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 7 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
3. Conceito e aplicação de IMU
Sensores inerciais, como é o caso do acelerômetro e do giroscópio, permitem, quanto operam em
conjunto, criar uma unidade de medida inercial – IMU (inercial measurement unit). Os sinais
provenientes deste tipo de unidade são amplamente utilizados em sistemas de navegação inercial –
INS (inertial navigation system), como mostra a figura 10. Um sistema como este será utilizado para
medir todo o deslocamento do nosso experimento, retornando informações sobre uma possível
queda, uma rotação em seu eixo ou um deslocamento que se deseje efetuar.
Figura 10: Uma IMU pode ser utilizada em um INS, fornecendo informações sobre a movimentação de um corpo
A movimentação em um INS pode retornar a informação de três graus de rotação: no eixo Y (ψ Æ
Yaw Æ guiagem), no eixo Y (θ Æ Pitch Æ Arfagem) e no eixo Z (φ Æ Roll Æ rolamento). São estas
três informações que são utilizadas em sistemas de navegação de aeronaves, auxiliando, por
exemplo, o sistema de piloto automático a fazer pousos, decolagens e principalmente, atuando
durante a parte de vôo em cruzeiro.
As taxas de aceleração e de rotação fornecidas pelos sensores devem compostas para obter as três
informações básicas (Yaw, Pitch e Roll), visto que elas não são obtidas diretamente.
Apenas utilizando os sinais de aceleração e rotação provenientes dos sensores, e trabalhando estas
informações adequadamente, teremos as informações de espaço percorrido, velocidade atingida e
aceleração empregada em qualquer objeto, desde uma aeronave a até um robô, como mostra a
figura 11.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 8 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Figura 11: Tratamento de dados dos sensores de aceleração e rotação, gerando informações de velocidade, posição e
aceleração
4. Ensaio prático
4.1.
Equipamentos utilizados
Como a ideia é medir o deslocamento através de sensores inerciais, nos eixos x e y, foi montado o
conjunto de equipamentos mostrado na figura 12. Foi utilizado um trem de ferromodelismo, cujos
trilhos estão ajustados para deslocamentos em x e y, com o sensor inercial fixado acima dele.
Figura 12: Locomotiva com o dispositivo de determinação de posição
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 9 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Para o inicio das coletas de dados, o algoritmo implementado zera a posição em x e y, de modo que
se possa saber que naquele ponto será o início das medições de deslocamento, como é mostrado
na figura 13.
Figura 13: Dispositivo indicando a locomotiva sem movimento
Após estes ajustes iniciais, foram feitas diversas passagens com o trem, fazendo medidas de
aceleração. Os valores calculados de deslocamento foram comparados com a trena instalada ao
lado dos trilhos, como mostra a figura 14, para aferição das medidas e ajuste do algoritmo.
Figura 14: Locomotiva em movimento
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 10 de 17
Medição de Deslocamentos com sensores MEMS
4.2.
ITA – Instituto Tecnológico de Aeronáutica
Algoritmo utilizado
Durante a coleta de dados foi desenvolvido um algoritmo que faça a leitura dos valores de
aceleração que entram no conversor AD do ARM Cortex M3 e, através da integração dupla, faça o
cálculo do deslocamento em cada um dos eixos. Este algoritmo está representado no fluxograma
mostrado na figura 15.
Início
Iniciar ADC
Não
Calibrado ?
Sim
Amostra AX
Parado (0g)
Amostrar
ADC
Salva
Offset AX
Aceleração = Amostra - Offset
Amostra AY
Parado (0g)
Salva
Offset AY
Velocidade =
Velocidade(passada)+Aceleração(atual)
Posição =
Posição(anterior)+Velocidade (atual)
Mostrar
Posição
Figura 15: Algoritmo desenvolvido para o cálculo da posição por meio das acelerações
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 11 de 17
Medição de Deslocamentos com sensores MEMS
4.3.
ITA – Instituto Tecnológico de Aeronáutica
Calibração dos sensores
Notou-se a necessidade de calibração e filtragem dos sinais provenientes dos sensores, antes de
realizar os cálculos a partir das medidas de aceleração, para obter o deslocamento. Isto se deve ao
ruído existente nestes sensores inerciais mesmo quando os elementos de medida estão parados.
Para comprovar isto, foi feito, inicialmente, um levantamento de 512 medidas nos eixos X e Y do
acelerômetros, com eles estando parados sobre o trem. Os resultados obtidos são mostrados em
forma dos gráficos abaixo.
Nota-se picos de medidas que ocorrem mesmo quando o deslocamento real dos sensores é nulo.
Análise sobre a saída X
Média = 1, 8862
Desvio Padrão = 0, 188
Valor Máximo = 2,04
Valor Mínimo = 1,73
Análise sobre a saída Y
Média = 1, 683
Desvio Padrão = 0, 0206
Valor Máximo = 1,77
Valor Mínimo = 1,52
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 12 de 17
Medição de Deslocamentos com sensores MEMS
4.4.
ITA – Instituto Tecnológico de Aeronáutica
Dados coletados
O primeiro experimento consistiu em medir o deslocamento efetuado pela locomotiva através do eixo
x, desconsiderando qualquer movimento no eixo y, obtendo-se o resultado mostrado na tabela e
gráfico abaixo:
Amostra 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Posição X em (cm) 0 0 2,438596491 12,21052632 29,31578947 31,77192982 41,59649123 58,80701754 61,28070175 71,21052632 91,07017544 118,3684211 120,8070175 128,1403509 130,5964912 140,4912281 157,8421053 157,8421053 157,8421053 160,2982456 Tabela 1. Resultados obtidos para um deslocamento unidimensional em x.
Deslocamento em X (cm)
Deslocamento TREM
200
150
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Amostras Gráfico 1. Deslocamento unidimensional em x.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 13 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Para o segundo experimento foram considerados ambos os eixos x e y, obtendo-se o resultado
abaixo:
X (cm)
Y (cm)
0
0
0
1
0
0
2
0
0
3
0
0
4
0
0
5
0
0
6
0,49122807
0,008618036
7
1,964912281
0,034472145
8
1,964912281
0,034472145
9
1,964912281
0,034472145
10
1,964912281
0,034472145
11
2,452631579
0,043028624
12
4,410526316
0,077377655
13
8,347368421
0,14644506
14
14,27017544
0,250353955
15
22,18596491
0,389227455
16
31,60701754
0,55450908
17
32,09122807
0,563004001
18
33,54736842
0,588550323
19
34,03508772
0,597106802
20
36,01052632
0,63176362
21
39,98947368
0,701569714
22
45,9754386
0,806586642
23
53,96491228
0,946752847
24
63,96491228
1,122191444
25
75,96842105
1,332779317
26
89,96491228
1,578331794
27
105,9508772
1,858787319
28
123,9298246
2,174207448
29
143,9052632
2,52465374
30
165,3789474
2,901385042
31
165,3789474
2,901385042
32
165,3789474
2,901385042
33
165,3789474
2,901385042
34
165,3789474
2,901385042
35
165,3789474
2,901385042
36
165,3789474
2,901385042
Tabela e Gráfico 2:Deslocamento em X, considerando o eixo Y.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 14 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
O próximo ensaio foi feito considerando-se apenas o eixo Y, cujos resultados são mostrados no
gráfico e tabela abaixo:
Y (cm)
0
144
1
724
2
1888
3
3639
4
5830
5
5974
6
6407
7
6551
8
7131
9
8295
10
10046
11
12384
12
15309
13
18674
14
18818
15
19398
16
20562
17
22313
18
24504
19
24648
20
25228
21
26392
22
27997
23
28141
24
28574
25
28718
26
29298
27
30315
28
30315
29
30315
30
30315
31
30315
32
30459
33
31039
34
32203
35
33808
36
33952
37
34532
38
35549
39
35693
40
36273
41
37437
42
39188
43
41526
44
44451
45
47963
46
52062
47
56748
48
61873
49
62017
Tabela e Gráfico 03: Deslocamento apenas do eixo Y
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 15 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
Por último foram feitas medidas considerando os deslocamentos em X e Y simultaneamente. Os
resultados obtidos são mostrados na tabela e gráfico abaixo.
0
X (cm)
Y (cm)
1
1,305263158
1,257894737
2
3,429824561
3,026315789
3
6,647368421
3,026315789
4
10,95263158
3,026315789
5
16,33508772
3,026315789
6
22,79649123
3,026315789
7
30,34035088
3,026315789
8
38,96842105
3,278947368
9
48,68070175
4,036842105
10
59,47719298
4,036842105
11
71,35789474
4,289473684
12
84,32631579
5,049122807
13
98,38245614
5,049122807
14
113,2561404
5,307017544
15
113,5157895
6,364912281
16
114,5631579
8,542105263
17
116,6684211
11,88070175
18
119,8385965
16,37368421
19
124,0736842
21,99649123
20
129,3754386
28,72631579
21
135,7473684
36,54561404
22
143,1894737
45,44736842
23
151,7
55,43157895
24
161,2736842
66,5
25
171,9087719
78,65438596
26
183,6035088
91,89298246
27
196,3596491
106,2105263
28
210,1877193
121,6157895
29
225,1017544
138,1245614
30
241,1105263
155,7491228
31
258,2105263
174,4982456
32
276,3912281
194,3719298
33
295,6491228
215,3596491
34
315,9807018
237,4526316
35
337,3842105
260,645614
36
359,8561404
284,9403509
37
383,3964912
310,3368421
38
408,0052632
336,8315789
39
433,6824561
364,4192982
40
460,4280702
393,1017544
41
488,2421053
422,8807018
42
517,1263158
453,7614035
43
547,0824561
485,7473684
44
578,1122807
518,8385965
45
610,2157895
553,0333333
46
643,3894737
588,3333333
47
677,6315789
624,7385965
48
712,9421053
662,2491228
49
749,3192982
700,8631579
Tabela e Gráfico 04: Medidas simultâneas nos eixos X e Y
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 16 de 17
Medição de Deslocamentos com sensores MEMS
ITA – Instituto Tecnológico de Aeronáutica
5. Conclusão
É possível utilizar sensores inerciais de baixo custo, do tipo MEMS, para obter informações de
deslocamento de objetos.
Porém uma série de cuidados deve ser tomados para que estes valores medidos sejam corretos e
compatíveis com a atitude real do objeto que se deseja medir.
Dentre estes cuidados podemos citar:
•
•
Erros inerentes dos sensores: os sensores inerciais, por causa de sua própria arquitetura
de construção, tem uma série de erros de medidas que devem ser filtrados antes de iniciar os
cálculos de velocidade e deslocamento. Diversas opções de filtro são disponíveis, mas obter
uma que realmente produza resultados efetivos é uma tarefa que requer grande estudo.
Neste trabalho foi utilizado uma grande taxa de amostragem (64 amostras) para ser realizada
uma média e considerado um valor. Este número de 64 amostras foi escolhido porque o
conversor AD do microcontrolador ARM Cortex M3 já tem este recurso de amostragem por
hardware, reduzindo a quantidade de código e agilizando o processamento de dados.
Capacidade de processamento de dados: o algoritmo que faz o cálculo da integração
dupla, de modo a obter o valor da posição a partir da aceleração, consome muito recurso de
processamento de dados. Caso a escolha de processamento fosse feita através de envio de
dados para um PC, que tem grande poder de processamento, o cálculo é feito
instantaneamente, sem perda de dados. Porém, o objetivo é fazer o processamento das
informações embarcadas em um microcontrolador. Neste caso a velocidade de
processamento é um fator importante a ser considerado. Testes realizados com o
microcontrolador MSP430, família 4, que tem 16 bits e velocidade máxima de 8 MHZ,
mostraram que ele é lento e insuficientes para um controle de tempo real. A alternativa foi
mudar o microcontrolador para um ARM Cortex M3 de 50 MHz, com 32 bits. Com esta
escolha, conseguiu-se velocidade de processamento adequado para um controle em tempo
real.
EA – 291 – 2010
Profª. Neusa Maria F. de Oliveira & Assistente Sergio Ronaldo B. S
Página 17 de 17
Download

Medidor de Deslocamento utilizando sensores MEMS