All for Joomla All for Webmasters

Analisando o InvenSense MPU-6050: giroscópio, acelerômetro e termômetro

Neste texto, analisaremos o circuito integrado MPU-6050 da empresa InvenSense, que consiste em uma Unidade de Processamento de Movimento, um giroscópio e um acelerômetro, ambos de três eixos, com precisão consideráveis, além de um termômetro. Conforme respectiva aplicação, os dados apresentados foram obtidos por meio de software desenvolvido na plataforma de desenvolvimento National Instruments LabVIEW e o firmware para a plataforma embarcada Arduino, no Visual Studio com a extensão Visual Micro.

Considerações gerais

O chip MPU-6050 consiste praticamente em um processador combinado com um sensor giroscópio, um sensor acelerômetro e um sensor de temperatura, além de conversores analógico para digital (ADC) de 16 bits. A programação do dispositivo é realizada por meio da escrita de registradores de configuração e a comunicação é efetuada por meio de uma interface I²C até 400kHz ou SPI até 20MHz.

Por meio de seu Processador Digital de Movimentos (Digital Motion Processor - DMP), é possível desenvolver até mesmo algoritmos por meio da plataforma proprietária "MotionFusion" da InvenSense, que possui uma biblioteca específica para microcontroladores ARM e MSP430.

Nesta aplicação, demonstraremos apenas os resultados dos dados obtidos dos sensores desse interessante dispositivo e não nos aprofundaremos no driver Embedded MotionDriver neste artigo.

Giroscópio do MPU-6050

Um giroscópio consiste em um dispositivo capaz de detectar e mensurar rotações, importante para mensurar variações na orientação de um dispositivo e inclinação final em conjunto com acelerômetros e outros dispositivos para evitar erros inerentes conhecidos como "integration drift". O MPU-6050 é capaz de mensurar variações instantâneas nos três eixos separadamente de até 2000 graus por segundo (333,33 RPM) e possui quatro faixas de programação e precisão: +-250°/s, +-500°/s +-1000°/s e +-2000°/s.

Acelerômetro do MPU-6050

Acerca do acelerômetro, trata-se de sensor capaz de detectar e mensurar aceleração, tanto a aceleração gravitacional quanto qualquer outra aceleração de movimento. O MPU-6050 é capaz de mensurar acelerações nos três eixos separadamente de até 16g (156,896 m/s²) e possui quatro faixas de programação e precisão: +-2g, +-4g +-6g e +-16g, sendo a unidade não-SI G referente ao valor da aceleração gravitacional.

Oscilações aleatórias

Enfim, aplicamos oscilações e movimentos aleatórios ao sensor o MPU-6050 para testar o sistema de aquisição de dados. Os dados apresentados no gráfico se referem a movimentos moderados com um intervalo pequeno de repouso, resultando em uma aceleração de até 6 g's e rotações de até 1500 graus por segundo. Ressaltamos que caso você não seja um piloto de caça experiente, provavelmente perderia a consciência caso fosse acelerado até 6g m/s².

Perceba a aceleração no eixo Z é de cerca de 1 G (9,68 m/s²) em repouso, que equivale à aceleração gravitacional e houve detecção de uma pequena aceleração nos dois eixos X e Y mesmo em repouso pois o dispositivo MPU-6050 não estava totalmente plano:

oscilacoes fortes aleatorias

oscilacoes fortes aleatorias

Ainda, na imagem abaixo, os dados obtidos do MPU-6050 podem ser visualizados no LabVIEW por meio de gráficos distintos para os eixos X, Y e Z para melhor distinguir as variações em cada eixo cartesiano:

oscilacoes fortes aleatorias stacked

oscilacoes fortes aleatorias stacked

Rotações

Ao aplicarmos uma rotação no dispositivo, visualizamos claramente a variação nos dados obtidos do giroscópio e no eixo em que a aceleração gravitacional é aplicado. Perceba no gráfico abaixo, referente a uma rotação em torno do eixo X do dispositivo, que a aceleração gravitacional deixa de ser mensurada no eixo Z e passa a ser detectada no eixo X (azul) uma vez que esse eixo foi colocado de maneira colinear à força de gravitação e perpendicular ao plano do solo:

rotacao gravitacao X

rotacao gravitacao X

Ainda, para a rotação em torno do eixo Y, constatamos que a aceleração gravitacional passa a ser mensurada no eixo Y e visualizamos a respectiva rotação por meio do giroscópio:rotacao gravitacao Y

rotacao gravitacao Y

Para uma rotação de apenas 180° entorno do eixo X, obtemos os dados abaixo. Perceba que a rotação foi mais rápida, sendo possível constatar uma variação de maior intensidade: 

rotacao 180 entorno eixo X

rotacao 180 entorno eixo X

Vibrações mecânicas em uma ventoinha com motor brushless

Para analisarmos as vibrações no rotor de uma ventoinha com motor brushless 12V, colocamos o sensor em cima do rotor para mensurarmos a frequência das vibrações (sem precisão em relação à inclinação do dispositivo pois o mesmo não foi fixado no rotor e visou analisar a apenas a frequência das oscilações). Durante a energização e desenergização, constatamos as seguintes variações (cerca de 12 oscilações por segundo):

liga desliga ventoinha

liga desliga ventoinha

Em regime permanente, obtemos as seguintes oscilações de aceleração:

eixo ventoinha brushless

eixo ventoinha brushless

Os mesmos dados podem ser visualizados por meio de eixo distintos (X-Y-Z). No caso abaixo, representamos as variações durante o período de aceleração da ventoinha:

aceleracao ventoinha stacked

aceleracao ventoinha stacked

Vibrações mecânicas durante o impacto decorrente de queda sobre uma mesa com ou sem amortecimento

Ao deixarmos a placa PCB do MPU-6050 cair de uma altura aproximada de 25cm sobre uma mesa de madeira, constatamos pulsos de aceleração levemente superiores a 2 g's após o impacto:

queda sem amortecimento stacked

queda sem amortecimento stacked

Com o amortecimento prestado por um mouse pad emborrachado, conseguimos constatar a existência de um segundo ciclo vibratório de aceleração e menor desaceleração em relação ao caso supramencionado:

queda com amortecimento stacked

queda com amortecimento stacked

Vibrações mecânicas durante o toque sobre a superfície de repouso da PCB do MPU-6050

No gráfico abaixo, um pequeno impulso é detectado ao aplicarmos um toque sobre a mesa em que o dispositivo se encontrava em repouso. Perceba que ocorre um pulso negativo no eixo Z (perpendicular ao plano da terra) referente a uma redução da aceleração gravitacional em 0,2g, enquanto houve dois pulsos positivos de 0,1g nos outros dois eixos:

toque mesa com amortecimento stacked

toque mesa com amortecimento stacked

Vibrações mecânicas em um fone de ouvido

No gráfico abaixo, referente a um tempo de análise maior, repousamos o MPU-6050 sob um fone de ouvido externo e reproduzimos um vídeo do YouTube de teste de audição (disponível em https://www.youtube.com/watch?v=H-iCZElJ8m0), no qual variando-se a frequência do sinal de áudio ao longo do tempo com cerca de dois intervalos de variações mais rápidas:

frequencia som fone ouvido versus tempo

frequencia som fone ouvido versus tempo

A variação da frequência das vibrações é melhor percebida em um intervalo de tempo menor. Na imagem abaixo, visualizamos a elevação da frequência do sinal de áudio e das vibrações mecânicas, respectivamente, com o decorrer do tempo:

frequencia som fone ouvido

frequencia som fone ouvido

Vibrações mecânicas em um fluido (água)

Por fim, analisamos as vibrações mecânicas nos sensores do MPU-6050 com o mesmo repousando sob a água após a aplicação de ondas em um recinto pequeno fechado. Caso o experimento seja realizado em um reservatório maior, seria possível analisar o tempo de propagação de ondas na água:

objeto caindo recipiente agua retangular

objeto caindo recipiente agua retangular

ondas agua recipiente fechado 2

ondas agua recipiente fechado 2

Deixe um comentário

Certifique-se de preencher os campos indicados com (*). Não é permitido código HTML.