Processing math: 100%

6-осевые инерциальные датчики QMI8658A для систем управления, стабилизации, навигации и отслеживания движения

2 июля

системы безопасностиавтомобильная электроникапотребительская электроникаинтернет вещейQSTстатьядатчикиМЭМСДатчик наклонаакселерометргироскопДатчик положения

Михаил Варакин (г. Ишим)

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

Инерциальный датчик представляет собой устройство, позволяющее определить перемещения объекта в пространстве путем измерения изменений его ускорения и/или угловой скорости. За время развития науки и техники были разработаны и реализованы различные технологии инерциальных измерений. Сегодня массово применяются устройства следующих базовых типов:

  • датчики линейных ускорений (ДЛУ), или акселерометры;
  • датчики угловой скорости (ДУС), они же гироскопы;
  • инерциальные блоки (модули), в корпусах которых совмещены в разных сочетаниях акселерометры, гироскопы, магнитометры, барометры для измерения высоты и даже термодатчик для компенсации температурной зависимости.

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

Для понимания работы блока представим себе декартову систему координат с осями X, Y и Z, как показано на рисунке 1, с датчиками, способными измерять линейное движение в направлении каждой оси, а также вращательное движение вокруг каждой из них. Это фундаментальный принцип для всех инерциальных модулей, и на нем строятся все инерциальные навигационные системы.

Рис. 1. Расположение осей системы координат инерциального модуля

Рис. 1. Расположение осей системы координат инерциального модуля

DOF – это количество степеней свободы, измеряемое модулем. Например:

  • модуль с тремя акселерометрами и тремя гироскопами измеряет 6 степеней свободы;
  • модуль с тремя акселерометрами, тремя гироскопами и тремя магнитометрами измеряет 9 степеней свободы и так далее.

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

Датчики и блоки на основе MEMS нацелены на удовлетворение потребностей таких сегментов рынка, как:

  • потребительская электроника (гаджеты, игрушки, бытовая техника), требующая низкой стоимости устройств параллельно с массовым объемом их производства;
  • растущий рынок средств персональной мобильности (электросамокатов, электроскейтбордов, гироскутеров, сигвеев, моноколес);
  • автомобильная электроника (датчики начала движения в системах охраны и слежения, стабилизации и подруливания, датчики ускорения для подушек безопасности и подобные приборы);
  • промышленный (роботы, дроны, системы контроля устойчивости зданий и сооружений);
  • рынок специального назначения, относящийся к области High End

Со склада КОМПЭЛ доступны к заказу микросхемы инерциальных датчиков QMI8658A производства китайской компании QST Corporation Ltd. (рисунок 2), представляющих собой полный 6D MEMS инерциальный измерительный блок (IMU). Он включает в себя 3-осевой гироскоп с возможностью выбора диапазона ±16…±2048 град/с, 3-осевой акселерометр с диапазонами измерения ±2…±16 g и температурный датчик. Основные особенности:

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

Рис. 2. Внешний вид датчика QMI8658А

Рис. 2. Внешний вид датчика QMI8658А

На рисунке 3 показана типовая схема подключения датчика QMI8658 к управляющему микроконтроллеру (HOST) через 4-проводной интерфейс SPI, а основные параметры модуля QMI8658A представлены в таблице 1.

Рис. 3. Схема подключения датчика QMI8658 к управляющему микроконтроллеру

Рис. 3. Схема подключения датчика QMI8658 к управляющему микроконтроллеру

Таблица 1. Основные параметры модуля QMI8658A

Характеристика Инерциальный блок: 3-осевой акселерометр, 3-осевой гироскоп, температурный датчик
Количество осей 6
Возможность подключения магнитометра Да
Диапазон измеряемых ускорений, g От ±2/±4/±8/±16
Диапазон измеряемых угловых скоростей, dps ±16/±32/±64/±128/±256/±512/±1024/±2048
Интерфейс MIPI, I2C, I3C, SPI, QSPI
Напряжение питания, В 1,71…3,6
Разрядность, бит 16

Датчик температуры

Модуль QMI8658A оснащен внутренним 16-битным встроенным датчиком температуры, который по умолчанию автоматически включается при работе акселерометра или гироскопа и используется для коррекции температурной зависимости их параметров калибровки. В диапазоне -40…85°C датчик имеет разрешение 0,0625°C (1/16°C) или обратное значение 16 LSB/°C.

Блок выводит внутреннюю температуру чипа, которую может считать HOST-контроллер. Выходной сигнал представлен в виде 16-битного значения с разрешением 1/256°C на LSB. Чтобы прочитать температуру, HOST необходимо получить доступ к регистру TEMP (TEMP_L и TEMP_H регистра вывода данных в таблице 1). Расчет выполняется по формуле 1:

T=TEMP_H+(TEMP_L256)(1)

Обзор карты регистров

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

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

Доступ к ним можно получить по протоколу I²C или SPI. Подробное описание ключевых регистров, включая настройки для рабочих режимов QMI8658А, представлено в таблице 2.

Таблица 2. Ключевые регистры микросхемы QMI8658А

Название Тип Адрес регистра По умолчанию Описание
Десятичный Шестнадцатиричный Двоичный
Регистр общего назначения
WHO_AM_I r 0 00 00000000 00000101 Идентификатор
REVISION_ID r 1 01 00000001 01101000 Идентификатор версии
Регистры настройки и управления
CTRL1 rw 2 02 00000010 00100000 Включение интерфейса и датчика
CTRL2 rw 3 03 00000011 00000000 Акселерометр: скорость выходных данных, полная шкала, самотестирование
CTRL3 rw 4 04 00000100 00000000 Гироскоп: скорость выходных данных, полная шкала, самотестирование
Зарезервировано rw 5 05 00000101 00000000 Зарезервировано
CTRL5 rw 6 06 00000110 00000000 Настройки фильтра нижних частот
Зарезервировано rw 7 07 00000111 00000000 Зарезервировано
CTRL7 rw 8 08 00001000 00000000 Включение датчика
CTRL8 rw 9 09 00001001 00000000 Детектирование движения
CTRL9 rw 10 0A 00001010 00000000 Команда из HOST
Калибровочные регистры (см. CTRL9: использование не обязательно)
CAL1_L rw 11 0B 00001011 00000000 Младшие 8 бит
CAL1_H rw 12 0C 00001100 00000000 Старшие 8 бит
CAL2_L rw 13 0D 00001101 00000000 Младшие 8 бит
CAL2_H rw 14 0E 00001110 00000000 Старшие 8 бит
CAL3_L rw 15 0F 00001111 00000000 Младшие 8 бит
CAL3_H rw 16 10 00010000 00000000 Старшие 8 бит
CAL4_L rw 17 11 00010001 00000000 Младшие 8 бит
CAL4_H rw 18 12 00010010 00000000 Cтаршие 8 бит
Регистры FIFO
FIFO_WTM_TH rw 19 13 00010011 00000000 Переполнение
FIFO_CONTR r 20 14 00010100 00000000 Настройка
FIFO_RMPL_CNT r 21 15 00010101 00000000 Количество
FIFO_STATUS r 22 16 00010110 00000000 Состояние
FIFO_DATA r 23 17 00010111 00000000 Данные
Регистры состояния
 STATUSINT r 45 2D 00101101 00000000 Доступность данных
 STATUS0 r 46 2E 00101110 00000000 Вывод данных
 STATUS1 r 47 2F 00101111 00000000 Состояния движения
Регистры времени
TIMESTAMP_LOW r 48 30 00110000 00000000 Временная отметка выборки
Младшие 8 бит
TIMESTAMP_MID к 49 31 00110001 00000000 Средние 8 бит
TIMESTAMP_HIGH r 50 32 00110010 00000000 Старшие 8 бит
Регистры данных
TEMP_L r 51 33 00110011 00000000 Температура
Младшие 8 бит
TEMP_H r 52 34 00110100 00000000 Старшие 8 бит
AX_L r 53 35 0011010 1 00000000 Ось Х, акселерометр
Младшие 8 бит
AX_H r 54 36 00110110 00000000 Старшие 8 бит
AY_L r 55 37 00110111 00000000 Ось Y, акселерометр
Младшие 8 бит
AY_H r 56 38 00111000 00000000 Старшие 8 бит
AZ_L r 57 39 00111001 00000000 Ось Z, акселерометр
Младшие 8 бит
AZ_H r 58 3A 00111010 00000000 Старшие 8 бит
GX_L r 59 3B 00111011 00000000 Ось X, угловая скорость
Младшие 8 бит
GX_H r 60 3C 00111100 00000000 Старшие 8 бит
GY_L r 61 3D 00111101 00000000 Ось Y, угловая скорость
Младшие 8 бит
GY_H r 62 3E 00111110 00000000 Старшие 8 бит
GZ_L r 63 3F 00111111 00000000 Ось Z, угловая скорость
Младшие 8 бит
GZ_H r 64 40 01000000 00000000 Старшие 8 бит
Регистр обнаружения активности
TAP_STATUS r 89 59 01011001 00000000 Ось, обнаружение, количество касаний
STEP_CNT_LOW r 90 5A 01011010 00000000 Младший байт подсчета шагов
STEP_CNT_MIDL r 91 5B 01011011 00000000 Средний байт подсчета шагов
STEP_CNT_HIGH r 92 5C 01011100 00000000 Старший байт подсчета шагов
Сброс
RESET w 96 60 01100000 00000000 Мягкий сброс

При программировании управляющего HOST-микроконтроллера нужно учитывать, что микросхема QMI8658A имеет несколько режимов работы: обычный и заблокированный, поэтому необходимо выбирать для применения программную библиотеку, которая может работать с обоими. В обычном режиме работы мы можем пинговать каждый выходной регистр датчика в удобное для нас время, но регистры не обязательно будут синхронизированы друг с другом, то есть вы можете получить ускорение по оси X из последнего показания, а ускорение по оси Y – из текущего, в зависимости от того, когда считывается каждый регистр. Или, что еще хуже, вы можете считать младший байт одного показания и старший байт следующего. Чтобы решить эту проблему, QMI8658A имеет механизм блокировки, при котором считываются показания датчиков, а данные синхронизируются и блокируются в регистрах до тех пор, пока хост не завершит их считывание. Блокировка осуществляется использованием библиотек в ходе написания программы.

В отрытом доступе можно найти несколько библиотек для работы с микросхемой QMI8658A (QMI8658C) для:

К примеру, для платформы xTM32duino с контроллером xTM32F103C8 следует выбрать библиотеку QMI8658.h. Чтобы получить доступ к режиму блокировки в этой библиотеке, нужно использовать команду qmi.setState(sensor_locking) после begin(): использование функции считывания продолжится в обычном режиме, но теперь быстрые последовательные считывания в течение 2 мс будут гарантированно выполняться из одной и той же выборки.>

Примечание: порог для получения новых данных можно изменить, установив QMI8658_REFRESH_DELAY на новое значение в микросекундах.

Этот режим работы рекомендован для таких чувствительных приложений, как AR/VR (виртуальная и дополненная реальность) или SLAM-навигация, где требуется высокая точность.

Примечание: на платформе xTM32duino xTM32F103C8 с частотой 400 кГц при передаче I²C один вызов getRawReadings() занимает около 600 мкс.

В таблице 3 представлены основные характеристики двух инерциальных датчиков-блоков:

  • QMI8658А, выпускаемого компанией QST и находящегося на складе КОМПЭЛ;
  • LSх6DS3 производства известного европейского бренда.

Таблица 3. Сравнение основных характеристик инерциальных датчиков азиатского и европейского производства

Наименование QMI8658А LSх6DS3
Состав 6D MEMS: 3-осевой акселерометр, 3-осевой гироскоп, температурный датчик 6D MEMS: 3-осевой акселерометр, 3-осевой гироскоп, температурный датчик
Количество осей 6 6
Возможность подключения магнитометра Да Да
Корпус 14-pin LGA 14-pin LGA
Диапазон измеряемых ускорений, g От ±2/±4/±8/±16 От ±2/±4/±8/±16
Диапазон измеряемых угловых скоростей, dps ±16/±32/±64/±128/±256/±512/±1024/±2048 ±125/±250/±500/±1000/±2000
Плотность шума Акселерометры, mg/√Hz 150 90
Гироскопы, mdps/√ Гц 15 6
Чувствительность акселерометра, LSB/g 16,4 16,4
Чувствительность гироскопа, LSB/dps 2048 228
Температурный коэффициент чувствительности, %/°C акселерометра ±0,04 ±0,04
гироскопа ±0,05 ±0,06
Диапазон рабочих температур, °C -40…85 -40…85
Интерфейс MIPI, I2C, I3C, SPI, QSPI SPI, I2C
Напряжение питания, В 1,71…3,6 1,71…3,6
Потребляемый ток (акселерометр + гироскоп), мкА 1031 1250
Габариты, ДхШхВ, мм 2,5×3,0×0,86 2,5×3,0×0,83
Схема контактов (распиновка)

Если сравнить вышеперечисленные характеристики, можно сделать вывод, что параметры блоков QMI8658А, выпускаемых компанией QST, уступают только по чувствительности гироскопа, по остальным параметрам находятся на уровне, а по некоторым — даже превосходят модули западного бренда. Отсюда следует, что производство данных модулей нацелено на удовлетворение потребностей массового сегмента рынка и даже занимает промежуточное значение между им и рынком специального назначения.

Микросхемы QMI8658А от QST Co. Ltd. могут найти применение в таких устройствах и гаджетах, как:

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

Благодаря встроенному функционалу, малому энергопотреблению и компактному корпусу (рисунок 4) инерциальные модули QMI8658А являются идеальным решением для применений, в которых требуется отслеживание движения, и хорошей заменой инерциальным модулям европейского производства.

Рис. 4. Миниатюрный корпус QMI8658А

Рис. 4. Миниатюрный корпус QMI8658А

•••

Наши информационные каналы

О компании QST

Компания QST Corporation Ltd. (QST) является одним из ведущих в Юго-Восточной Азии разработчиков и поставщиков на рынок инерционных MEMS-датчиков, прежде всего – компасов и гироскопов, в том числе – инновационных 6-осевых изделий, а также специализированных модулей на их основе. Перечень основной продукции QST с базовыми применениями: Датчики движения (MEMS-акселерометры, в т.ч. 6D) Автомобильные сигнализации и трекеры, системы безопасности (датчики сдвига), контроль состояния объектов ...читать далее

Товары
Наименование
QMI8658A (QST)
 
QMA6100P (QST)
 
QMC5883L-TR (QST)
 
MC3416-P (MEMSIC)
 
MC3419-P (MEMSIC)
 
MC3479-P (MEMSIC)
 
MC3630 (MEMSIC)
 
MC3632 (MEMSIC)
 
MXC6655XA (MEMSIC)