710 руб
|
Этот датчик Pololu, созданный на базе микросхемы ST LSM303D 3-осевой акселерометр и 3-осевой магнитометр. Шесть независимых показаний датчиков, чувствительность которых может быть установлена в диапазоне от ±2 до ±16 g и от ±2 до ±8.1 Гс доступны через I²C или SPI интерфейс. На плате установлен стабилизатор напряжения 3,3 В и преобразователи логического уровня от 2,5 до 5,5 В. Расстояние между выводами 2,54 мм делает плату простой в использовании со стандартными макетными и монтажными платами.
Эта компактная (10,2 х 22,9 мм) плата Pololu представляет собой устройство на основе микросхемы ST LSM303 сочетающую в одном корпусе 3-осевой акселерометр и 3-осевой магнитометр; поэтому мы настоятельно рекомендуем, перед использованием этого продукта, ознакомиться со спецификацией LSM303D (1MB pdf). LSM303 - это великолепная интегральная схема, но маленький корпус делает её использование затруднительным, особенно для обучения и хобби. Она также работает от напряжения ниже 3,6 В, что затрудняет её подключение к микроконтроллерам работающим от 5 В. Эти проблемы решены в этой плате Pololu, путём добавления дополнительных электронных компонентов, в том числе 3,3 В стабилизатора напряжения и схемы смещения логического уровня, сохраняя при этом компактный размер устройства. На плате полностью установлены SMD компоненты и в том числе LSM303, как это показано на фотографии продукта.
У LSM303 есть много настраиваемых параметров: динамический выбор чувствительности для акселерометра и магнитометра, выбор выходной скорости передачи данных, а также два независимо программируемых внешних инерциальных выводов прерывания. Магнитометр и акселерометр можно включать и выключать для экономии электроэнергии. Шесть независимых показаний (иногда называемых 6 степенями свободы) доступны через I²C (TWI) или SPI интерфейс. Они могут быть использованы для многих приложений, включая создания точного компаса, определяющего направления, независимо от наклона платы (Компания ST предоставляет справочный материал (1MB PDF), в котором раскрываются подробности создания такого устройства).
Плата включает в себя стабилизатор с низким падением напряжения, обеспечивающий 3,3 В необходимые для LSM303, и позволяет подключать датчик к внешнему источнику питания 2,5 - 5,5 В. Выход стабилизатора доступен на VDD ножке, и может служить источником питания внешних устройств с током потребления до 150 мА. Плата также включает в себя схему, смещающую (подтягивающую) шины синхронизации и данных интерфейса I²C к напряжению логического уровня вывода VIN, что делает её простой для взаимодействия с 5 В устройствами, а 2,54 мм расстояние между штырьками упрощает использование ее со стандартными макетными и монтажными платами.
Для приложений требующих несколько интегрированных датчиков, подойдет инерциальный измерительный блок IMU Pololu MinIMU-9 или AltIMU-10, который объединяет на одной печатной плате 3-осевые компас, акселерометр, гироскоп и обеспечивает девять независимых показаний, которые могут быть использованы для расчета абсолютной ориентации. AltIMU-10 также включает барометр, который может быть использован для расчета высоты.
СпецификацияВилка штыревая прямая 1x9 шаг 2,54 мм и вилка штыревая угловая 1x9 шаг 2,54 мм. Вы можете припаять разъёмы прямо к плате и использовать со стандартными макетными и монтажными платами с расстоянием между выводами 2,54 мм, либо припаять провода прямо на плату для более компактной конструкции.
Независимо от используемого интерфейса, для подключения платы Pololu необходимо соединить вывод VIN (питание) с источником 2,5 - 5,5 В, и разъём GND (земля) с 0 В. (Кроме того, если вы используете плату с питанием в 3,3 В, вы можете оставить разъём VIN отключенным и обойти встроенный стабилизатор, подключив 3,3 В непосредственно к VDD).
Для использования в I²C режиме (работает по умолчанию), необходимо как минимум два логических соединения: SCL и SDA. Эти выводы подключены к встроенному преобразователю уровней, который делает их безопасными для использования при напряжении более 3,3 В; они должны быть подключены к I²C шине, работающие на том же логическом уровне, что и VIN. Остальные контакты не подключены на плате к преобразователю уровней и не являются 5 В-толерантными, но внешний 4-канальный двунаправленный логический преобразователь уровней Pololu может быть использован с этими выводами для достижения того же эффекта.
Для использования в SPI режиме, требуется четыре соединения: SPC, SDI, SDO, и CS. Они должны быть подключены к SPI шине, работающей на том же логическом уровне, что и VIN. Интерфейс SPI работает по 4-проводному каналу по умолчанию, с разделёнными выводами SDI и SDO. Но вывод SDO можно совместно использовать и для SDI, получив, таким образом, 3-проводной режим передачи данных.
Вывод | Пояснение |
---|---|
VDD | Выход со стабилизатора 3,3 В. Почти 150 мА доступно для питания внешних компонентов. (Если вы хотите, обойти внутренний стабилизатор, вы можете использовать разъём как вход питания 3,3 В, предварительно отключив VIN.) |
VIN | Входное напряжение 2,5 - 5,5 В. Уровни SCL/SPC и SDA/SDI "подтягиваются" шиной I²C и SPI до этого уровня. (Напряжение питания соответствует высокому логическому уровню на выводах). |
GND | Земля (0 В) соединяется с нулевым потенциалом (землёй) вашего источника питания. Земля должна быть общей для источника питания и для интерфейса управления платой I²C или SPI. |
SCL/SPC | Уровень смещением шины синхронизации I²C/SPI: ВЫСОКИМ является уровень VIN, НИЗКИМ = 0 В. |
SDA/SDI | Уровень смещением шины данных I²C/SPI (также служит SDO в 3-проводном режиме): ВЫСОКИМ является уровень VIN, НИЗКИМ = 0 В. |
SDO/SA0 | Вывод данных SPI при 4-проводном режиме: ВЫСОКИЙ уровень соответствует VDD, НИЗКИЙ = 0 В. Этот вывод не "подтягивается" до 5 В. Также используется в качестве входа для определения I²C адреса ведомого устройства (см. ниже). |
CS | Вход разрешения SPI (выбор элемента памяти). "Подтягивается" до VDD для включения связи по I²C по умолчанию; Связь по SPI управляется низким логическим уровнем. |
INT2 | Вывод инерциального прерывания 2, с логическим уровнем 3,3 В. Этот вывод не "подтягивается" до 5 В. |
INT1 | Вывод инерциального прерывания 1, с логическим уровнем 3,3 В. Этот вывод не "подтягивается" до 5 В. |
На схеме продемонстрированы дополнительные компоненты платы, необходимые для упрощения использования LSM303. В их числе стабилизатор напряжения - он позволяет плате работать от питания 2,5 - 5,5 В и схема сдвига уровня, позволяющая I²C связываться на том же логическом уровне напряжения, что и VIN. Эта схема также доступна в виде загружаемого PDF: Схема Pololu LSM303 (162k pdf).
Коммуникация по I²CПри стандартном состоянии вывода CS (уровень VDD), данные об угловой скорости можно получить, настроив микросхему LSM303 на работу по I²C шине. Сдвиг уровня на I²C синхронизации (SCL) и линии передачи данных (SDA) позволяют I²C взаимодействовать с микроконтроллерами, работающими на таком же напряжении, как и VIN (2,5 - 5,5 В). Более полное описание I²C интерфейса для микросхемы LSM303 можно найти в спецификации LSM303D (1MB pdf), а также более подробную информацию о I²C в целом можно найти в спецификации NXP шины I²C (1MB pdf).
LSM303D имеет отдельный адрес ведомого на шине I²C. На плате контакт "адрес ведомого" SA0 этой микросхемы подтянут к VDD через резистор 4,7 кОм. Вы можете подать управляющий низкоуровневый сигнал на контакт SA0, чтобы изменить адрес ведомого. Это позволит подключить два однотипных датчика к одной шине I²C. В следующей таблице приведены адреса ведомых датчиков:
Датчик | Адрес ведомого (по умолчанию) | Адрес ведомого (SA0 управляющий низкий) |
---|---|---|
Акселерометр/Магнитометр | 0011101b | 0011110b |
При тестировании платы, была достигнута передача с чипа на тактовых частотах до 400 кГц; датчик способен работать и на более высоких частотах, но соответствующие испытания проведены не были. Сами чипы и платы не отвечают некоторым требованиям для создания I²C - совместимых устройств, работающих в быстром режиме. Они пропускают 50 нс импульс на шинах синхронизации и передачи данных, а также требуют дополнительную подтяжку на эти выводы для достижения совместимых характеристик сигнала синхронизации.
Коммуникация по SPIДля работы с микросхемой LSM303 в SPI режиме, разъём CS (соединяющийся с VDD через подтягивающий 4,7 кОм резистор) должен управляться низким уровнем перед SPI команды и возвращаться к высокому уровню после конца команды. Схема смещения логического уровня на выводах синхронизации SPI (SPC) и данных (SDI) доступны в SPI режиме с микроконтроллерами, работающими на таком же напряжении, как VIN (2,5 - 5,5 В).
По умолчанию включён 4-проводный режим передачи данных. Гироскоп передаёт данные по ведущему устройству SPI по выделенной выходной линии (SDO). Если SPI интерфейс настроен на использование 3-проводного режима, вывод SDI выступает в роли SDO и управляется микросхемой LSM303 при передаче данных ведущему устройству. Более детальное объяснение SPI интерфейса для микросхемы LSM303 можно найти в спецификации (1MB pdf).
Пример кодаНаписана основная библиотека для работы с Arduino - Библиотека LSM303 для Arduino, которая позволяет легко взаимодействовать датчику с Arduino. Эта библиотека сделали плату простой для настройки датчиков и считывания первоначально необработанных данных акселерометра и магнитометра. Также имеется функция компенсации данных датчика для тех, кто хочет использовать компас с наименьшими отклонениями.
РекомендацииСпецификации предоставляют всю необходимую информацию для использования датчиков, но поиск необходимой информации может занять некоторое время. Вот некоторые советы по соединению и настройке LSM303, которые, помогут вам разобраться немного быстрее:
Артикул | 04020203 |