Автономный детектор ударов на базе МЭМС-акселерометра ADXL375

№ 1’2014
PDF версия
В статье описан метод автономного детектирования и захвата ударных событий с помощью малопотребляющего 3-осевого МЭМС-акселерометра с цифровым выходом, предназначенного для регистрации высоких значений ускорения при минимальном участии сопряженного процессора. Этот акселерометр может быть запрограммирован на распознавание одиночных или двойных ударов вдоль любой комбинации осей X, Y и/или Z. Профиль воздействия может быть оцифрован и сохранен для последующего анализа во встроенной памяти, позволяющей сохранить до 32 отсчетов.

Введение

В «Справочнике Харриса: удары и вибрация» (Harris’ Shock and Vibration Handbook) Пирсола и Паеса (Piersol and Paez) удар (шок) определен как «динамическое воздействие на физическую систему с относительно короткой продолжительностью по сравнению с необходимой для полноценной реакции системы продолжительностью» [1].

В работе Де Сильва (De Silva) [2] сказано, что удар возникает тогда, когда сила, положение, скорость или ускорение резко изменяются, при этом в рассматриваемой системе возникают переходные процессы. Удар — это вектор с определенными амплитудой и направлением.

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

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

В статье описан метод автономного детектирования и захвата ударных событий с помощью малопотребляющего 3-осевого МЭМС-акселерометра с цифровым выходом, предназначенного для регистрации высоких значений ускорения при минимальном участии сопряженного процессора. Этот акселерометр может быть запрограммирован на распознавание одиночных или двойных ударов вдоль любой комбинации осей X, Y и/или Z. Профиль воздействия может быть оцифрован и сохранен для последующего анализа во встроенной памяти, позволяющей сохранить до 32 отсчетов.

 

Акселерометр ADXL375

ASDXL375 — это 3-осевой МЭМС-акселерометр с цифровым выходом, который имеет малое энергопотребление (145 мкА), высокое разрешение (98 мg/МЗР), с диапазоном измерения ±200g и полосой 1600 Гц. Выходные данные имеют 16-битный, дополненный до двух формат и доступны через интерфейс SPI (3- или 4-проводной) или I2C.

Встроенная система управления памятью с буфером FIFO глубиной 32 значения может быть использована для записи отсчетов и снижения времени активности процессора, что снижает потребление системы в целом. ADXL375 выполнен в 14-выводном корпусе LGA, его размеры — 3×5×1 мм.

Отслеживание ударных событий

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

Эффект влияния материала на форму импульса

Рис. 1. Эффект влияния материала на форму импульса

Для примера на рис. 1 показаны профили взаимодействия, возникшие в результате падения стального приспособления на различные поверхности. Также профиль взаимодействия может быть охарактеризован с помощью частотного спектра (рис. 2), что может оказаться полезным, если установлены спектральные ограничения.

Частотный спектр различных ударных импульсов

Рис. 2. Частотный спектр различных ударных импульсов

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

Как и профиль, направление также может являться важным параметром при детектировании нескольких событий ударов. ADXL375 позволяет отслеживать удары по всем трем осям так, что можно точно установить их профиль и направление. На рис. 3 приведены выходные данные акселерометра, полученные при столкновении устройства, ориентированного на угол 45° в плоскости X-Y.

Отклик акселерометра при столкновении под углом 45° в плоскости X-Y

Рис. 3. Отклик акселерометра при столкновении под углом 45° в плоскости X-Y

 Детектирование ударных событий

Функция генерирования прерывания может быть использована для детектирования системой предопределенных событий удара. На рис. 4 показано, как ADXL375 формирует сигнал прерывания, когда происходит обнаружение удара.

Функция генерации прерываний

Рис. 4. Функция генерации прерываний

Для детектирования одиночного события акселерометр использует два параметра: минимальный необходимый порог (THRESH_SHOCK) и максимальную длительность импульса (DUR).

Регистр THRESH_SHOCK имеет разрядность 8 бит и содержит беззнаковое значение порога. Амплитуда текущего шокового события сравнивается со значением в регистре THRESH_SHOCK для обнаружения удара. Значение порога устанавливается с разрешением 780 мg/МЗР.

Регистр DUR также состоит из 8 бит и содержит беззнаковую величину максимального значения времени превышения порога THRESH_SHOCK. При превышении амплитуды воздействия над THRESH_SHOCK в течение DUR событие квалифицируется как удар. Этот параметр может быть задан с разрешением 625 мкс/МЗР.

Функция детектирования ударов всегда использует непрореженные отсчеты, полученные на частоте выборки 3200 Гц. Меньшие частоты выборки, от 100 до 1600 Гц, достигаются в результате прореживания значений, полученных на частоте 3200 Гц. Поскольку полоса по уровню ‑3 дБ зависит от частоты выборки и, может быть, уже полосы непрореженных данных (1600 Гц), значения верхних частот и высоких величин ускорения, которые используются для определения шоковых событий, могут быть не зафиксированы при исследовании выходных данных акселерометра. Поэтому возможна ситуация, в которой шоковое воздействие будет зафиксировано и сигнал прерывания сформирован, однако выходные данные не будут описывать заданные условия. Подобная ситуация приведена на рис. 5.

Один и тот же импульс удара, представленный при различных значениях частоты выборки. (Полоса по уровню ‑3дБ равна 1/2 от частоты выборки)

Рис. 5. Один и тот же импульс удара, представленный при различных значениях частоты выборки. (Полоса по уровню ‑3 дБ равна 1/2 от частоты выборки)

Установка порога

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

На рис. 6 показан выходной шум ADXL375 по осям X, Y и Z при частоте выборки 3200 Гц без прореживания. Для минимизации ложных срабатываний необходимо иметь запас по порогу над уровнем шума, для этого полезно знать пиковые значения шума. Значения размаха шума можно оценить статистически, предполагая, что он подчиняется закону распределения Гаусса. Для примера: процент времени, в течение которого пиковые значения шума в восемь раз могут превышать действующее значение, равен 0,006%. Это соответствует 2g или как минимум 3 МЗР. Как и собственный шум акселерометра, фоновый шум, обусловленный областью применения, тоже должен быть учтен.

Шум при частоте выборки 3200 Гц

Рис. 6. Шум при частоте выборки 3200 Гц

В дополнение к первому событию удара второе событие также может быть детектировано с использованием параметров ожидания и окна. Параметр «ожидание» позволяет задать минимальное время между импульсами, в течение которого дополнительные импульсы будут игнорироваться, даже если они попадут в заданный профиль.

8-битный регистр ожидания содержит беззнаковое значение, определяющее время от момента детектирования события удара до наступления времени окна, в течение которого возможно детектирование второго события удара. Регистр имеет масштаб 1,25 мс/МЗР. Второе событие удара должно начаться после истечения времени ожидания, оно может и не завершиться до окончания времени окна, которое задано в соответствующем регистре. Значение ожидания, равное «0», отключает функцию детектирования двойных событий удара.

Отдельные оси акселерометра можно выбрать или отключить при детектировании событий удара путем установки соответствующих битов в регистре SHOCK_AXES после включения генерации прерываний по одиночному или двойному событию удара (INT_ENABLE) и назначении им выходов INT1 или INT2 установкой регистра INT_MAP.

Если прерывание выработано, то это можно наблюдать в регистрах INT_SOURCE и ACT_SHOCK_STATUS. На рис. 7 показан профиль воздействия и соответствующие значения в регистрах.

Входное воздействие и соответствующее состояние регистров при пороге 19,5g и длительности 5 мс

Рис. 7. Входное воздействие и соответствующее состояние регистров при пороге 19,5g и длительности 5 мс

Захват профиля события

Кроме детектирования событий удара и генерации сигналов прерываний, ADXL375 позволяет целиком оцифровать профиль воздействия без участия сопряженного процессора для будущего анализа. Это достигается совместным использованием системы генерации прерываний и встроенного буфера FIFO. Подробное описание использования FIFO можно найти в AN-1025 [3].

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

В идеале акселерометр должен быть настроен на частоту выборки данных 3200 Гц, совпадающую с рабочей частотой системы детектирования событий. На рис. 8 представлены выборки, сохраненные в FIFO, с различной длительностью записи до момента детектирования события.

Запись профиля с помощью режима защелкивания FIFO

Рис. 8. Запись профиля с помощью режима защелкивания FIFO

Вся процедура не требует какого-либо участия сопряженного процессора, кроме чтения содержимого FIFO. Без этого механизма для достижения такого же результата сопряженному процессору потребовалось бы постоянное чтение результатов преобразования с частотой 3200 Гц и их анализ для обнаружения переходного процесса. ADXL375 значительно экономит энергию, позволяя сопряженному процессору находиться в режиме энергосбережения большую часть времени, что особенно актуально в областях, где события удара могут возникать редко: раз в месяц или год.

Оценочное программное обеспечение

Мониторинг ударов реализован как часть ПО для оценочного набора EVAL-ADXL375Z-M. Разработчик может экспериментировать со всеми возможностями акселерометра, используя графический интерфейс (рис. 9).

Графический интерфейс оценочного ПО

Рис. 9. Графический интерфейс оценочного ПО

Пример алгоритма

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

  1. Записать 0x28 в регистр 0x1D; установка порога на 31,2g.
  2. Записать 0x50 в регистр 0x21; установка длительности импульса на 50 мс.
  3. Записать 0x20 в регистр 0x22; установка времени ожидания на 40 мс.
  4. Записать 0xF0 в регистр 0x23; установка длительности окна на 300 мс.
  5. Записать 0x07 в регистр 0x2A; выбор осей X, Y и Z для детектирования.
  6. Записать 0x0F в регистр 0x2C; установка частоты выходных данных на 3200 Гц.
  7. Записать 0x40/0x20 в регистр 0x2E; детектирование одиночных/двойных событий соответственно.
  8. Записать 0x40/0x20 в регистр 0x2F; связь одиночного/двойного события с INT
  9. Записать 0xEA в регистр 0x38; включение режима защелкивания FIFO. Если прерывание INT2 возникнет, то FIFO сохранит 10 отсчетов перед завершением события детектирования.
  10. Записать 0x08 в регистр 0x2D; начало измерения. Рекомендуется конфигурировать регистр POWER_CTL в самом конце.
Литература
  1. Piersol A. G., Paez T. L. Harris’ Shock and Vibration Handbook, Sixth Edition. McGraw-Hill Professional, 2009.
  2. De Silva C. W. Vibration and Shock Handbook. CRC Press, 2005.
  3. Fisher C. J., Tomoaki T., Lee J. Utilization of the First In, First Out (FIFO) Buffers in Analog Devices, Inc., Digital Accelerometers. Application Note AN-1025. Analog Devices, Inc., 2009.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *