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