Питание от использования (виртуальных) датчиков Android
Просматривая возможности моего Nexus 4, я заметил, что датчики, кажется, сообщаются несколько раз.
Я раньше не работал с датчиками (или смартфонами в целом), поэтому я использовал несколько приложений, чтобы получить обзор: Device Analyzer с http://www.androidfragmentation.com/ и Sensors Explorer, в которых было 15 датчиков. Вы можете увидеть результаты здесь.
И хотя согласно iFixIt.com есть Invensense MPU-6050, встроенный как (только) гироскоп и акселерометр, Android сообщает:
- 2 датчика LGE
- "Датчик ускорения LGE"
- "Датчик гироскопа LGE"
- 2 от Qualcomm
- "Линейное ускорение"
- "Вектор вращения"
- 4 от Google
- "Датчик вектора вращения"
- "Датчик линейного ускорения"
- "Датчик ориентации"
- "Исправленный датчик гироскопа"
Согласно списку датчиков в Samsung GT-I9300, некоторые из этих датчиков будут "виртуальными". Однако, что на самом деле мне интересно на данный момент, так это энергопотребление датчиков. И это тот момент, когда я действительно запутался.
В качестве примера возьмем акселерометр: "Датчик акселерометра LGE" выдает 0,5 мА, а "Линейное ускорение" (Qualcomm) - 4,1 мА, а "Датчик линейного ускорения" (Google) - 9,1 мА. Все три имеют одинаковое разрешение (0.0011901855 SU), LGE и Qualcomm имеют одинаковую максимальную дальность (39.226593 SU), а Google сообщает 19.6133 SU.
Сначала я подумал, что это может дать доступ к различным режимам работы, что объясняет разные значения, но с другой стороны, зачем это объяснять другим поставщикам.
Теперь: сколько акселераторов на самом деле присутствует? Они действительно избыточны или это просто пути виртуального доступа к одному и тому же устройству? Если да, то почему потребление энергии так сильно отличается? А почему ассортимент?
Обновление в соответствии со спецификациями Гироскоп будет потреблять ток 3,6 мА (соответствует "Датчик гироскопа LGE", все остальные отчеты 9,1 мА), а акселерометр может варьироваться от 500 мкА в нормальном режиме работы и от 10 мкА при 1,25 Гц до 110 мкА при 40 Гц при низких режим питания.
При напряжении 3 В (типично в соответствии со спецификациями) это дает 10,8 мВт для гироскопа и от 10 до 1,5 мВт для акселерометра.
Датчики, которые сообщают "Google Inc." Похоже, что они виртуальные, которые выполняют объединение датчиков, чтобы обеспечить более высокую точность и удобство использования. Смотрите этот Google Tech Talk.
1 ответ
Обычно на устройстве присутствует только один датчик физического ускорения.
Этот сигнал затем можно разделить на линейное ускорение и гравитацию. Это может быть достигнуто с помощью фильтра нижних частот, подобного состояниям документации Android. Результат может быть улучшен гироскопом и магнитометром. Это часто делается на стороне программного обеспечения - таким образом, линейное ускорение, ориентация и гравитационное потребление энергии обычно являются суммой потребления акселерометра, гироскопа и, вероятно, также величиной потребления магнитометра.
Очевидно, датчик линейного ускорения qualcomm использует акселерометр и гироскоп для вычисления значения, в то время как версия Google также учитывает магнитометр.
Разрешение привязано к физическому датчику. Для диапазона я не могу сказать наверняка, но, вероятно, это как-то связано с отношением:
Ускорение = линейное ускорение + гравитация
Физические датчики:
- акселерометр
- гироскоп
- магнитометр
Датчик Fusion:
- Линейное ускорение
- Сила тяжести
- Ориентация /Rotation
- Исправленный гироскоп
Однако вы не можете точно сказать, присутствует ли датчик физически или просто является результатом слияния датчика.