Подборка АРДУИНО

Подключение 3-осевого акселерометра

Подключение 3-осевого акселерометра MMA7455L к платформе Arduino

     MMA7455L – это 3-осевой датчик ускорения (акселерометр) с цифровым выходом производства компании Freescale, который позволяет определять направление движения в пространстве. Микросхема выполнена в 14-выводном корпусе LGA, но в нашем проекте используется готовый миниатюрный модуль с установленной микросхемой и необходимыми внешними компонентами (Рисунок 1). Поддержка двух типов выходного цифрового интерфейса делает устройство простым совместное использование с микроконтроллерами. Дополнительно, микросхема имеет два программируемых выхода прерываний (INT1, INT2), которые могут использоваться для определения нулевого ускорения, свободного падения или импульсного воздействия на датчик.

 Внешний вид модуля с установленным акселерометром MMA7455L.
 Рис.1 Внешний вид модуля с установленным акселерометром MMA7455L. Доступен для заказа на сайте store.open-electronics.org.

     Основное применение датчика ускорения: мобильные телефоны, планшетные ПК, схемы стабилизации изображения, игровые консоли и аксессуары, охранные системы автомобилей, лабораторные инструменты и приборы, электрические машины и роботы. Чувствительность акселерометра (±2g, ±4g и ±8g) и тип выходного интерфейса (SPI, I2C) выбираются пользователем. Обратите внимание, в техническом описании на микросхему сказано, что она боится статического электричества (несмотря на то, что имеет встроенную ESD защиту 2 кВ), поэтому при работе с ней нужно быть осторожным. Готовый модуль доступен для заказа от различных производителей и дистрибьюторов, они имеют различный форм-фактор, но подключение и протокол обмена данными с акселерометром одинаковый. Модуль имеет очень компактные размеры (10×18×3.6 мм) и 7 штыревых выводов с шагом 2.54 мм, что позволяет подключить его к палате Arduino или установить на любую макетную или печатную плату (Рисунок 2). Напряжение питания для модуля должно быть в диапазоне 2.5 – 3.6 В.

 
 Рис.2 Модуль акселерометра MMA7455L с устанволенными компонентами.

 

Как было сказано выше микросхема MMA7455L поддерживает передачу данных по одному из двух доступных интерфейсов SPI или I2C. Если используется I2C, то вход CS (вывод 7) необходимо подключить к питанию. В нашем модуле по умолчанию используется интерфейс I2C.

 Принципиальная схема модуля акселерометра MMA7455L
 Рис.3 Принципиальная схема модуля акселерометра MMA7455L.

      Единственное, что необходимо сделать пользователю перед использованием модуля в своих приложениях – установить корректное напряжение питание интерфейса ввода/вывода микросхемы, чтобы обеспечить совместимость уровней сигналов с микроконтроллером. Для этого служит перемычка J1, включенная между плюсом питания и входом VIO (вывод 1) микросхемы. Если напряжение питания модуля и микроконтроллера одинаковое, то перемычку необходимо установить. Если же микроконтроллер, к примеру, имеет напряжение питания 5 В, то перемычку необходимо удалить, а на вывод VIO подать напряжение 5 В. Акселерометру на шине I2C присвоен адрес h1D (см. техническое описание на микросхему).

     Модуль подключается к плате Arduino, как показано на Рисунке 4 (6-контактный порт аналоговых входов). При этом на линии порта A0 устанавливается логическая «1» (5 В), чем мы задаем уровень сигналов ввода/вывода (VIO), а на линии порта A1 устанавливаем логический «0», этот порт используем в качестве минуса источника питания акселерометра. Питание 3.3 В также поступает с платы Arduino (Рисунок 5, отдельный провод). Линии порта A4 и A5 используются для обмена данными.

 Установка модуля акселерометра на плату Arduino. Используется порт аналоговых входов.
 Рис.4 Установка модуля акселерометра на плату Arduino. Используется порт аналоговых входов.
 
 Рис.5 Отдельный провод для подачи на модуль питания 3.3 В.

     Обмен данными акселерометра с микроконтроллером основывается на функциях программных библиотек Wire.h и MMA_7455.h, которые вместе с примерами доступны для скачивания в разделе загрузок. Для проверки корректного функционирования акселерометра и демонстрации была разработана программа для ПК в среде Processing. В окне программы отображается трехмерный куб, который повторяет движения сенсора. Данные для работы (прошивка + программа).