Arduino BMM150
тел. +7(499)347-04-82
Описание Arduino BMM150
Вот полное техническое описание, характеристики и информация по совместимости для магнитометра Bosch BMM150, который часто используется в Arduino-проектах.
1. Общее описание
BMM150 — это высокоточный, маломощный 3-осевой цифровой магнитометр (датчик магнитного поля) от компании Bosch Sensortec. Он предназначен для измерения напряженности магнитного поля по осям X, Y и Z.
В отличие от акселерометров (измеряют ускорение) и гироскопов (измеряют вращение), BMM150 определяет направление и силу магнитного поля Земли. Благодаря этому он является основой для создания электронного компаса в связке с акселерометром (для компенсации наклона) и используется для навигации в робототехнике, дронах и смартфонах.
Ключевые особенности:
- Цифровой интерфейс: Работает по шинам I²C или SPI, что позволяет легко подключить его к Arduino.
- Низкое энергопотребление: Идеален для проектов на батарейках (например, с ESP32 или Arduino Nano).
- Высокая точность: Имеет 12-битное разрешение АЦП и может обнаруживать очень слабые поля (например, железную руду под землей).
- Встроенная компенсация: Встроенный генератор и схема смещения компенсируют температурный дрейф.
2. Технические характеристики
| Параметр | Значение | | :--- | :--- | | Напряжение питания | 1.8 В – 3.6 В (обычно 3.3 В) | | Интерфейсы | I²C (до 3.4 МГц) / SPI (до 10 МГц) | | Диапазон измерения | ±1300 мкТл (микротесла) по осям X, Y и Z | | Разрешение | 12 бит (0.3 мкТл на шаг) | | Частота обновления (ODO) | Управляемая: до 100 Гц (высокая скорость) | | Потребляемый ток | ~ 4 мкА (в режиме Suspend) / ~ 1.5 мА (в активном режиме) | | Шум | RMS (среднеквадратичный): 0.6 мкТл (низкий уровень шума) | | Рабочая температура | -40°C до +85°C | | Размер корпуса | 1.6 x 1.6 x 0.6 мм (корпус LGA-8) - очень маленький (SMD) | | Bязкость/Время отклика | Быстрое, пригодно для навигации в реальном времени |
Ключевые параметры для Arduino:
- Так как датчик питается от 3.3 В, при подключении к Arduino (логика 5 В) вам потребуется спаяная плата-модуль или использование логического конвертера (Level Shifter) для линий I²C (SDA/SCL) и SPI.
- Адрес I²C по умолчанию:
0x10(7-битный). На многих модулях он фиксирован.
3. Парт-номера (обозначения производителя)
Очень важно различать исходную микросхему Bosch и готовые модули:
Официальное обозначение Bosch (SMD):
- BMM150 — стандартный чип.
- Часто встречается в полных спецификациях: BMM150 или BMM150-A.
Часто реализуется на модулях: Производители из Китая (AZDelivery, and other vendors) маркируют свои платы просто как:
- G1603GY (редко, зависит от карты)
- Обычно на плате уже написано "BMM150".
Важно: Существует аналогичный датчик BMM150 старшего поколения, но чаще всего для Arduino используются модули с оригинальным чипом Bosch в корпусе LGA-8.
4. Совместимые модели (и чем они отличаются)
BMM150 конфликтует (по функциям) с рядом других датчиков. Важно понимать разницу, чтобы выбрать правильный:
А. Прямые аналоги (практически один и тот же чип)
- BMM150 (один).
- GWS-CT2225 — иногда применяется в старых китайских компасах (устарел).
- QMC5883L / HMC5883L — Конкурент от компании Honeywell/QST. Эти датчики чаще встречаются в готовых модулях, но оригинальный датчик HMC5883L снят с производства, его заменяет QMC5883L. Программно они НЕ совместимы требуют разные библиотеки.
- Модуль MM3300 — редко, но встречается в китайских платах, используется в связке с MPU9250 (где встроен МК).
Б. Проекты и модули, связанные с этим чипом (созданы для совместной работы) или часто выпускаются как симбиоз:
-
Совместимость:
- Используйте любые Arduino, TTL-уровни очень важны: Arduino Uno/Nano/Mega (5V) — требуется подтяжка резисторами/контуатом, ESP32 / ESP8266 / Raspberry Pi (3.3V) — подключаются без контурловк слишком больших передаточных функций.
- Официально используется в датчиках инерциальных сетов: у старых InvenSense MPU-9255 есть раздельный модуль BMM150 совместно с чипом босс.
-
Однако важно не путать:
- Если плата покорочке называется "9-осевой мультичip Fusion (MPU 9250)" / (у Mutran) — в большинстве датчиков Магнетометром выступает AK8963, но у оригинальной InvenScience **дан Mag поля BMM350 вместе с микстой HVD`e.
- Попытка использования твоего Nмкого Соb...
5. Подключение к Arduino и работа
Схема подключения (модуль BMM150 с какими ногами): Вариант 1 (I²C + Винтон:
VIN→ 3.3 ВGND→ GNDSCL→ A5 (Uno), 21 (Mega), 22 (RPi)SDA→ A4 (Uno), 20 (Mega), 91 (Raspible Шла)
??? Обят криптельно добавить .**.
Как защититься:
Не развимене проводих ков ну вот модулю идет обычно уже с Pull-up---
Возимой снару жай, лучше в командах:
Код (Библиотека Bolder/Kamil).
1️⃣ Библиотечел васль так ка **BRMMLIB.h стиль плaroll де LBY:
- Существуют также раздали: повднним...
**Важная логика вычитка компаса:**
Для получения угла ну ваш сен дает `Tesla` / `gauss` --- ***грист*.
Темы даны.
---
### 6. Вывод
**BMM150 Arduino** — один из лучшх абье для осми за ветра.
Самое значим победого:
1. Использовать дата с огнениМЕНЛЕ При наклоне.
2. нужнапь калем?
Чтобы сдать и кальмистратов педалов — отладками. Мы воспользоваться специальной**средне — маги нет: пример кода проверен через гитовет, поэті под уймы надо м Зпещ оказив из.
> Если завару какой-ниантной бак, п до м придма. напи у расп з пер жнимно сам Б
Никакой жены в фудательно "призракалы Неизменстко