ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL

Система регистрации данных акселерометра на базе Arduino Pro mini

Arduino Arduino Pro mini

Eric Ayars

В статье рассматривается конструкция системы регистрации данных, получаемых от 3-х осевого акселерометра MMA7260. Все данные сохраняются на карте памяти µ-SD.

Система сбора данных акселерометра на базе Arduino

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Основой конструкции является платформа Arduino Pro mini. Arduino Pro Mini построена на микроконтроллере Atmel ATmega168 и имеет 14 цифровых входов и выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, резонатор, кнопку перезагрузки и отверстия для монтажа выводов. Блок из шести выводов может подключаться к кабелю FTDI или к конвертеру USB-RS232 для обеспечения питания и связи через USB.

Arduino Pro mini

Платформа предназначена для непостоянной установки в объекты или экспонаты. Существует две версии платформы Pro Mini. Одна версия работает при напряжении 3.3 В и частоте 8 МГц, другая при напряжения 5 В и частоте 16 МГц. В данной конструкции применена версия с напряжением питания 3.3 В.

Микроконтроллер ATmega168 имеет 16 КБайт флеш-памяти для хранения кода программы (2 кБ используется для хранения загрузчика), 1 кБ ОЗУ и 512 байт EEPROM.

Принципиальная схема Arduino Pro mini

Принципиальная схема Arduino Pro mini
Кликните для увеличения

В схеме имеется регулятор напряжения 3.3 В, поэтому для питания платы можно использовать источник напряжения 3.5 В – 12 В. Питание акселерометра и карты памяти осуществляется от регулятора напряжения на плате Arduino.

Установленный светодиод является индикатором статуса и ошибок, описание которых можно найти в тексте исходного кода программы микроконтроллера.

Принципиальная схема системы регистрации данных.

Принципиальная схема системы сбора данных от акселерометра

Модуль с установленным акселерометром MMA7260 и модуль слота карты памяти SD выполнены в виде отдельной платы, все сигнальные линии выведены на контактные площадки для установки коннекторов.

Принцип действия акселерометра MMA7260Q основан на изменении емкости трех микромеханических конденсаторов, реализованных на единой пластине кремния, каждый из которых отвечает за одно из направлений – X, Y и Z. В результате воздействия ускорения на подвижные обкладки конденсаторов, изменяется величина емкости, которая затем преобразуется в напряжение. Далее сигналы в каждом из трех каналов усиливаются, проходят через фильтры низких частот и каскады температурной компенсации и поступают на соответствующие выходы X, Y и Z. Точка среза фильтра низких частот и корректировка смещения нуля при g = 0 реализованы с помощью лазерной подгонки номиналов элементов заводом, имеют фиксированное значение и не требуют компонентов внешней обвязки. Реализованный спящий режим делает изделие MMA7260Q идеальным для применения в носимой РЭА с батарейным питанием.

Исходный код программы разработан таким образом, чтобы предоставить максимальную гибкость в настройке и конфигурировании:

  • возможность регистрации и сохранения прямых аналоговых данных (raw) или преобразованных данных;
  • программная установка рабочего диапазона акселерометра;
  • возможность сбора данных через установленные промежутки времени или по запросу пользователя;
  • конфигурируемый временной интервал.

Кроме того реализован отладочный режим, в котором, по последовательному интерфейсу RS232, передается вся информация о работе системы, сообщается о всех ошибках, если таковые имеются.

Стоит заметить, что при выборе интервала сэмплирования менее 100 мс наблюдаются пропуски временных интервалов. Это связано с рабочей частотой 8 МГц и скоростью работы интерфейса SPI карты памяти SD.

Для пользовательской настройки системы используются пользовательские значения следующих параметров в исходном коде:

  • LOG_INTERVAL – время в миллисекундах между выборками;
  • GAIN – выбираемый пользователем рабочий диапазон акселерометра. Значение должно одно из {1, 2, 4, 6}. Значение 1 это фактически 1.5 (параметры акселерометра). Значение по умолчанию 6.
  • DEBUG – для максимальной скорости работы этому параметру должно быть присвоено значение 0. Если значение 1 – отладочный режим включен и микроконтроллер передает отладочную информацию по последовательному интерфейсу;
  • CONVERT_VALUES – для сохранения прямых данных полученных от акселерометра этому параметру должно быть присвоено значение 1. Если 0 – микроконтроллер преобразует данные в значения с плавающей точкой;
  • TIME_OR_BUTTON – если значение этого параметра 1, то система прекращает сбор данных по истечению времени указанного в параметре COLLECTION_MILLIS. Если 0 – сбор данных прекращается при нажатии кнопки;
  • COLLECTION_MILLIS – параметр имеет силу, только если значение параметра TIME_OR_BUTTON = 1, и содержит промежуток время в миллисекундах в течении которого ведется сбор данных.

Исходный код к проекту (Arduino)

hacks.ayars.org

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Arduino datalogging accelerometer with µ-SD storage

Элитан
Россия
ARDUINO-PRO-MINI-ATMEGA328P-5V1 194 ₽
T-electron
Россия и страны СНГ
ARDUINOPROMINI(ATMEGA328P.5В)28 134 ₽
Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя