Как стать автором
Обновить

Акселерометр = полунавигатор

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров5.5K

Нам очень повезло, что Земля вращается вокруг своей оси. Вращение создает центробежное ускорение, которое возрастает от полюсов к экватору.

Это наводит на мысли, что если измерить абсолютное ускорение свободного падения чувствительным акселерометром, то можно вычислить свою широту. Насколько реально сделать такой электронный прибор?

Из физики вращательного движения известно, что при вращении по окружности образуется центробежное ускорение. Его модуль определяется формулой (1)

a = \omega^2 r  \;\;\;\;   (1)

Тут омега - это угловая скорость вращения Земли. T= 24 часа = 86400 секунд

\omega = \frac{2\pi}{T}    \;\;\; (2)

из (1) и (2) получается (3)

a = \frac{4\pi^2}{T^2}R cos\varphi   \;\;\;\;\;         (3)

схема вычислений

Угол между вектором центробежной силы и силой гравитации равен (2)

\psi= 2\pi-\varphi \;\;\; (4)

Для вычисления модуля вектора суммарного ускорения g можно прибегнуть к формуле модуля суммы векторов. Это можно сделать по теореме косинусов.

Квадрат модуля силы тяжести примем равным

|g|^2 = |g_{G}|^{2}+ |a|^{2}-2|g_{G}||a|cos(2\pi-\varphi)\;\;\;\;\;\;\;\;\; (5)

именно результат формулы (6) покажет акселерометр

 g=\sqrt{|g_{G}|^{2}+ |a|^{2}-2|g_{G}||a|cos(2\pi-\varphi)}\;\;\;\;\;\;\;\;\; (6)

или

 g=\sqrt{g_{G}^{2}+ [\frac{4\pi^2}{T^2}R cos\varphi  ]^{2}-2g_{G}\frac{4\pi^2}{T^2}R cos(\varphi) cos(2\pi-\varphi)}\;\;\;\;\;\;\;\;\; (7)

упростив получается формула (8). Предположим что R и T константы.

 g=\sqrt{g_{G}^{2}+ \frac{16\pi^4R^2}{T^4}cos^2\varphi  -\frac{8g_{G}R\pi^2}{T^2} cos^2(\varphi)  }\;\;\;\;\;\;\;\;\; (8)


Получается вот такой график зависимости полного ускорения свободного падения от широты

Эту формул (8) можно вообще даже не вычислять, а раcсчитать на фазе компиляции прошивки для каждого градуса и хранить Look Up таблицу в ROM памяти микроконтроллера (секция .rodata).

import math
import matplotlib.pyplot as plt
import numpy as np

T=86400 ;
Gg=9.82;
pi = math.pi
print(pi)
R=6356863

phi_deg = np.arange(0,90,1)

phi_rad=np.deg2rad(phi_deg)

r=R*np.cos(phi_rad)
omera = (2*pi/T)
a = r*(omera**2) 

sqrt_arg = Gg**2 +(a**2) - 2*a*Gg*np.cos(2*pi-phi_rad)
g1 = np.sqrt(sqrt_arg) 

#plt.axis([0,90,-0.1,10.1])
plt.title('gravity at different latitudes')
plt.grid(True)
plt.xlabel('latitude (phi) [deg]')
plt.ylabel('Total G [m/c^2]')

plt.plot(phi_deg,g1,'r')
#plt.plot(phi_deg,a,'b')

plt.legend(['g','a'], loc=2)
plt.show()

Задача определения широты сводится к тому, что надо научиться измерять ускорение свободного падания с точностью (9.82-9.78)/90.0 = 0.0004444444444444547 m/c^2. То есть интерес представляют четверные цифры после запятой! Где бы мы не ходили по Земле с акселерометром наши показания в теории будут отличаться только на +/-0.040 m/c^2

Существуют ли такие MEMS акселерометры, которые показывают ускорение с точностью 4 цифры после запятой?

Вот например реальный дешевый MEMS акселерометр LIS3DH за 300 RUR обладает максимальной чувствительностью +/- 0.001g = 0.00982 m/c^2 на разряд. Это значит, что акселерометром LIS3DH можно вычислить широту с точностью +/- 22 градуса. Маловато.
Вот обзор еще нескольких MEMS акселерометров


https://docs.google.com/spreadsheets/d/1fdQT1M2ptGPf8z9bGbsvIadOyoKVGr3zhjSLuwBl80s/edit#gid=0

Глядя на формулу (3) можно, кстати, заметить что, если бы Земля вращалась с периодом 1.4 часа, то на экваторе бы наступила невесомость. Это позволило бы пользоваться для определения широты простыми акселерометрами. Однако это бы вызвало на экваторе область пониженного давления, подули бы сильные ветры от полюсов к экватору и весь воздух от полюсов улетучился бы в космос через экватор и всем бы наступил конец.

К счастью Земля вращается достаточно медленно. Более того Земля еще и замедляется в своем вращении вокруг своей оси. Это вызвано тем, что Луна вызывает приливы и океаны тем самым тормозят Землю.

Поэтому эффектом неоднородности притяжения вдоль меридианов можно пользоваться пока не поздно.

Достоинства навигации по акселерометру:

++1 Измерение широты происходит мгновенно. Это если измерять g MEMS акселерометром.

Недостатки навигации по акселерометру:

--1 измерительный прибор должен быть статичным

--2 акселерометр должен быть точным и чувствительным.

--3 невозможно измерять координаты акселерометром в море из-за волн.

Стоит отметить что в этих расчетах не учитываются гравитационные аномалии. Не учитываются вклад абсолютной гравитационной составляющей, которая тоже зависит от широты из-за того, что Земля это не шар а эллипсоид сплюснутый на 20 км в полюсах.

Вывод

Чтобы говорить о измерении широты акселерометром надо акселерометр с точностью 4 цифры после запятой и такие акселерометры есть (IIS2ICLX).

Links

Вектор(геометрия)

Online LaTeX Equation Editor - create, integrate and download

Ускорение свободного падения

Гравиметр

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы программировали MEMS акселерометры?
28.95% да11
71.05% нет27
Проголосовали 38 пользователей. Воздержались 3 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы программировали акселерометр IIS2ICLX?
0% да0
100% нет34
Проголосовали 34 пользователя. Воздержались 6 пользователей.
Теги:
Хабы:
Всего голосов 9: ↑5 и ↓4+3
Комментарии31

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн