Gostaria de saber como funciona a calibração da bússola / por que, por exemplo, desenhar um 8 ou girar o telefone para todos os 3 eixos funciona (ou pelo menos deve funcionar) - quero dizer, eu entenderia o processo de calibração, se um aplicativo me disser: aponte para o norte, pressione esse botão lá em baixo, mas você pode começar com praticamente zero conhecimento para o aplicativo, apenas girando o telefone! Como isso é feito? Além disso, preciso entrar em um modo de calibração especial ou posso desenhar essas figuras (como as 8) diretamente no Google Maps? Como o Google Maps sabe que não estou apenas movendo o telefone, mas quero calibrar a bússola? Obrigado por qualquer dica!
compass
calibration
stefan.at.wpf
fonte
fonte
Respostas:
A calibração da bússola funciona detectando a intensidade do campo magnético da Terra. Mas, às vezes, devido à forte interferência de outros dispositivos eletrônicos, como transformadores, o sensor de bússola pode ter uma idéia errada sobre os pólos magnéticos da terra e pode apontar na direção errada.
Portanto, para garantir isso, ele solicita que os usuários recalibrem a bússola girando na direção da figura 8, para que possa julgar a intensidade magnética em todas as direções. A partir desses dados, deduz os polos reais da terra.
fonte
O objetivo da calibração é descobrir como compensar como os componentes do telefone (parafusos, ímãs dos alto-falantes, etc.) interferem no campo magnético medido.
O processo de calibração é baseado no fato de que você pode separar as contribuições internas e externas ao campo magnético, observando como o campo muda à medida que o telefone é girado. Por exemplo, em uma orientação, o campo magnético do ímã no alto-falante será adicionado ao campo da Terra; mas quando o telefone estiver orientado na direção oposta, os dois campos serão cancelados parcialmente.
À medida que você move o telefone, o magnetômetro registra como a magnitude do campo medido muda e o usa para calibrar os sensores de campo magnético x, ye z. Veja a resposta da geometrikal a uma pergunta semelhante para obter mais detalhes sobre esse processo. Observe que essa calibração não permite compensar a influência de outros objetos externos (por exemplo, sua geladeira) no campo magnético.
Em relação à implementação no Google Maps: acredito que o Google Maps não tem controle sobre a calibração da bússola, porque não existe essa funcionalidade na API do Android. O magnetômetro provavelmente está se calibrando continuamente e o Google Maps está apenas pedindo que você gire o telefone para que o magnetômetro possa coletar os dados necessários para obter uma calibração precisa.
Em outras palavras, você pode calibrar sua bússola a qualquer momento em que o sensor de campo magnético estiver sendo usado apenas acenando com o telefone - não há "modo de calibração".
fonte
Em qualquer ponto do espaço, a força e a direção do campo magnético é o efeito líquido de todas as fontes do campo magnético que afetam esse ponto. O campo magnético da Terra é um deles. Chaves de fenda magnetizadas, carros, imãs de geladeira etc. produzem campos. Os campos também são produzidos pela corrente que flui através dos fios. É como derramar água em um copo de várias fontes. Uma vez no copo, você não pode dizer de onde veio.
Não há instrumento que possa determinar os "pólos reais" da Terra medindo o campo magnético em um ponto. O que o telefone pode fazer, no entanto, é detectar o ponto em que o eixo do telefone está paralelo à linha de força magnética N / S e determinar qual extremidade do telefone está apontando para o norte. Se você dança longe de objetos que podem ser magnetizados, como carros e cercas de aço, o campo que o telefone está medindo pode ser principalmente o campo da Terra e, portanto, a bússola do telefone será calibrada adequadamente. Se você colocar o telefone em um carro magnetizado, ele apontará a direção errada para o norte. O aço em todos os carros é magnetizado em um grau ou outro.
As bússolas de alta precisão são usadas em aeronaves e embarcações marítimas sérias, na verdade, possuem pequenos ímãs de correção que são ajustáveis com parafusos para erros N / S e E / W. Eles são calibrados após a instalação, transformando o veículo em posições conhecidas (uma rosa dos ventos pintada por um inspetor em uma pista de táxi longe de prédios de metal, por exemplo) e mexendo nos ímãs até que o erro da bússola seja minimizado. Em seguida, os erros residuais são registrados em um "cartão de correção da bússola" para uso na correção das leituras indicadas. Pesquise "cartão de correção da bússola" para ver as imagens.
Em teoria, o GPS poderia ser usado para calibrar a bússola ao caminhar ou dirigir, já que a faixa instantânea do GPS é precisa. Eu nunca ouvi falar disso, apesar de possivelmente ser comum. Funcionaria mesmo em um carro magnetizado. No entanto, em um avião ou navio, isso não funcionaria, porque o rumo do veículo é, em um grau ou outro, geralmente arrastado levemente pelo vento e o GPS não tem conhecimento disso.
fonte
Testei as medições dos campos da bússola fornecidas pelo telefone Android e descobri que, se eu girar o telefone em 180 graus, o campo não muda exatamente para o oposto, o que deve ser o caso se os sensores estiverem corretos. Isso pode ser devido ao magnetismo interno dos detalhes do telefone ou à imprecisão da leitura do sensor.
Se você não compensar isso e apenas usar a leitura como está e tentar calcular a direção Norte, descobrirá que elas estão incorretas: girar o telefone em 90 graus em torno do eixo vertical não leva à rotação do campo magnético medido por o mesmo ângulo (que é verdadeiro para qualquer ângulo, é mais fácil verificá-lo em 90 graus).
Portanto, o objetivo da calibração é desenvolver uma fórmula de compensação que transformará leituras erradas do sensor magnético em valores mais realistas, a partir dos quais podemos calcular o rumo correto. Meu palpite é que ele está procurando uma mudança ideal de zero para cada eixo, o que dará ao resultado o comprimento do vetor magnético independente da orientação do telefone (esse deve ser o caso na situação ideal, mas não é o caso quando o zero é deslocado em qualquer eixo) )
fonte