Научная статья на тему 'АКСЕЛЕРОМЕТР И ГИРОСКОП MPU6050: ПЕРВОЕ ВКЛЮЧЕНИЕ НА STM32 И ИССЛЕДОВАНИЕ ПОКАЗАНИЙ В СТАТИКЕ'

АКСЕЛЕРОМЕТР И ГИРОСКОП MPU6050: ПЕРВОЕ ВКЛЮЧЕНИЕ НА STM32 И ИССЛЕДОВАНИЕ ПОКАЗАНИЙ В СТАТИКЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2612
497
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АКСЕЛЕРОМЕТР / ГИРОСКОП / ТЕМПЕРАТУРНЫЙ ДАТЧИК / МЭМС / GY-521 / MPU-6050 / I2C / STM32 / STM32F103C8T6

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Жмудь Вадим Аркадьевич, Кузнецов Кирилл Андреевич, Кондратьев Никита Олегович, Трубин Виталий Геннадьевич, Трубин Максим Витальевич

В данном материале рассматривается модуль GY 521, на котором установлена микросхема MPU6050, компактно объединяющая в одном корпусе акселерометр, гироскоп и температурный датчик. Рассматриваются силы, измеряемые акселерометром и гироскопом. Приводятся данные первичных измерений без фильтрации и калибровки. Для лучшего понимания проводятся эксперименты, позволяющие рассмотреть измеряемые силы в статике. Обработка данных с модуля производится с помощью отладочной платы STM32F103C8T6.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Жмудь Вадим Аркадьевич, Кузнецов Кирилл Андреевич, Кондратьев Никита Олегович, Трубин Виталий Геннадьевич, Трубин Максим Витальевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АКСЕЛЕРОМЕТР И ГИРОСКОП MPU6050: ПЕРВОЕ ВКЛЮЧЕНИЕ НА STM32 И ИССЛЕДОВАНИЕ ПОКАЗАНИЙ В СТАТИКЕ»

Акселерометр и гироскоп МРШ050: первое включение на STM32 и исследование показаний в статике

В.А. Жмудь, К.А. Кузнецов, Н.О. Кондратьев, В.Г. Трубин, М.В. Трубин ФГБОУВПО НГТУ, Новосибирск, Россия

Аннотация: В данном материале рассматривается модуль ОУ-521, на котором установлена микросхема МРиб050, компактно объединяющая в одном корпусе акселерометр, гироскоп и температурный датчик. Рассматриваются силы, измеряемые акселерометром и гироскопом. Приводятся данные первичных измерений без фильтрации и калибровки. Для лучшего понимания проводятся эксперименты, позволяющие рассмотреть измеряемые силы в статике. Обработка данных с модуля производится с помощью отладочной платы 8ТМ32Р103С8Тб.

Ключевые слова: Акселерометр, гироскоп, температурный датчик, МЭМС, ОУ-521, МРиб050, РС, 8ТМ32, &ТМ32Р103С8Т6

ВВЕДЕНИЕ

В повседневной жизни постоянно встречаются акселерометры и гироскопы. Они установлены в смартфонах, часах, автомобилях, в компьютерах и т.д. Но в такую маленькую вещь как телефон нельзя уместить акселерометр или гироскоп, выполненный в привычном механическом виде. Тут на помощь приходят микроэлектромеханические системы (МЭМС). Данные системы обладают такими свойствами как: маленький размер, большой функционал, низкое энергопотребление и небольшая стоимость. МЭМС можно разделить на два типа: датчики - измерительные устройства, которые переводят те или иные физические величины в электрический сигнал;

актуаторы - исполнительные устройства, которые в зависимости от полученного сигнала, выполняют те или иные физические воздействия.

В свою очередь МЭМС датчики можно разделить на датчики с разными чувствительными элементами, и с разными принципами преобразования физической величины в электрический сигнал, которые будут определять внутреннюю структуру системы [1-2].

В данном материале рассматривается распространённый датчик МРП6050. Датчик объединяет в себе акселерометр и гироскоп. Первый - используется для измерения линейных ускорений, а второй - угловых скоростей. Совместное использование акселерометра и гироскопа позволяет определить изменение движения тела в трёхмерном пространстве. В основе принципа действия МРиб050 заложен способ преобразования напряжения с подвижных обкладок конденсатора в сигнал с помощью АЦП. Такой вывод можно сделать, рассмотрев его внутреннюю структуру [3].

1. ПРИНЦИП РАБОТЫ АКСЕЛЕРОМЕТРА

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

Как уже было сказано, существует несколько видов акселерометров, отличающихся чувствительными элементами и принципами преобразования физической величины в электрический сигнал. Для того чтобы лучше понять принцип работы акселерометра, представим его как груз, закреплённый на пружинах. Принцип будет одинаков - происходит смещение чувствительного элемента под действием какой-либо силы. На Рис. 1 представлена структурная схема одноосевого акселерометра, который преобразует изменение положения чувствительного элемента 2 в изменение сопротивления с помощью потенциометра 3.

Рис. 1. Внутреннее устройство одноосного акселерометра. 1 - пружина, 2 - чувствительный элемент, 3 - потенциометр, 4 - демпфер, 5 - корпус

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

Если же корпусу сообщить ускорение, то картина изменится, см. Рис. 2. В данном случае при воздействии силы П к корпусу, чувствительный элемент смещается влево, в противоположную сторону, приложенной силе П. Это смещение регистрирует потенциометр, и на выходе датчика появляется напряжение, пропорциональное приложенной силе.

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

Если же расположить одноосный акселерометр перпендикулярно земной поверхности Рис. 3, то есть вдоль вектора силы тяжести, то датчик произведет измерение силы тяжести из-за отклонения чувствительного элемента от положения равновесия.

Теперь можно отойти от примера с грузом и перейти к более удобной форме для расчёта угла наклона акселерометра.

При повороте датчика из положения на Рис. 3 в положение на Рис. 1, когда на ось акселерометра действует сила тяжести, можно измерить угол наклона акселерометра по отношению к этой силе.

Рис. 3. Внутреннее устройство одноосного акселерометра при измерении силы тяжести

Рис. 4. Проекция сил для расчёта угла наклона по одной оси акселерометра

Измеряемое значение кажущегося ускорения свободного падения будет уменьшаться в соответствии с выражением [4]:

(1)

Fx — vig * coi(cr);

где, а - угол наклона датчика, Рх - проекция вектора g на ось чувствительности х. Отсюда выразим угол наклона:

агссоБ I —|; (2)

\тд/

Т.к. масса в данном случае не влияет на результат измерения, примем т = 1. Допустим, при наклоне датчика было измерено кажущееся ускорение = 0,866 д. Если подставить это значение в формулу (2), то получим угол наклона в 30е'. Используя лишь одну ось, угол наклона можно определять в диапазоне до ±90 ° С приближением к значению угла в 90° чувствительность измерения угла наклона будет стремиться к нулю [4]. Используя больше осей, можно будет точнее определять угол наклона и в большем диапазоне.

Если к одноосевому акселерометру добавить второй такой же, но расположить его ось перпендикулярно оси первого, получится двухосевой акселерометр. Так можно расширить угол измеряемого наклона. На Рис. 5 представлена расчётная схема для угла наклона по двум осям.

По проекциям сил на двух осях (х, у) можно восстановить угол по следующему выражению:

тд ■ cos(cr) coj(cr)

Fy тд ■ cos(90 — а) sin(cг)

ctg(a); (3)

Воспользуемся расчётным соотношением из формулы (3) и рассчитаем Ру Угол а = 30 следовательно, Рх = 0,866, Ру = 0,5. Подставим полученные значения в формулу (4) и получим

значение в 30 что соответствует изначальным расчётам.

Рис. 5. Проекция сил для расчёта угла наклона по двум осям акселерометра

В действительности же на объект могут действовать дополнительные силы, которые будут вносить существенные искажения в оценку угла наклона [5].

2. ПРИНЦИП РАБОТЫ ГИРОСКОПА

в Гироскоп - это устройство, реагирующее на изменение угловой скорости на одной или нескольких осях. Существует несколько разновидностей МЭМС гироскопов,

различающихся внутренним устройством, но всех их объединяет то, что их работа основана на использовании силы Кориолиса. В каждом из них есть рабочее тело, совершающее возвратно-поступательные движения. Если вращать подложку, на которой находится это тело, то на него начнет действовать сила Кориолиса, направленная перпендикулярно оси вращения и направлению движения тела. На Рис. 6 представлен механизм работы этой силы. Зная линейную скорость и силу Кориолиса можно определить угловую скорость.

Рис. 6. Механизм работы силы Кориолиса: £0 - вектор угловой скорости, V - вектор линейной скорости, Рс - сила Кориолиса

Одна из возможных реализаций гироскопа имеет следующую структуру: закрепленная на

гибких подвесках рамка, внутри которой совершает поступательные колебательные движения некая масса [2]. Структура такого сенсора представлена на Рис. 7.

Рис. 7. Внутренняя структура гироскопа: 1 - крепление массы, 2 - рабочая масса, 3 - крепление внутренней рамки, 4 - сенсоры перемещения внутренней рамки, 5 -внутренняя рамка, 6 - подложка

Колебания рабочей массы происходят вдоль оси X и генерируются электростатически, а колебания внутренней рамки возможны только вдоль оси У. Между внутренней рамкой и подложной расположены обкладки плоских конденсаторов (сенсоры перемещения), таким образом, измеряя их емкость, можно регистрировать движение рамки относительно подложки.

На Рис. 8 представлена структура гироскопа при его вращении в плоскости ХУ по часовой

стрелке.

1 1

ЛШМг ю -ЧШк

<я>

ЛШМг -A/m/v

г Fc

Рис. 8. Структура гироскопа при вращении: (а - вектор угловой скорости, V - вектор линейной скорости, Рс -сила Кориолиса

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

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

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

3. ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ МОДУЛЯ ОУ-521, С МИКРОСХЕМОЙ МРШ050

В модуле GY-521 установлена микросхема MPU6050 со всеми необходимыми элементами для её нормальной работы. Внешний вид данного модуля см. на Рис. 9.

Рис. 9. Модуль ОУ-521

Ориентацию осей относительно микросхемы МР116050 можно посмотреть на рис. 10.

Рис. 10. Ориентация осей MPU6050

На Рис. 11 приведена схема модуля. Конденсатор

C1, установлен не на всех модулях. На различных

модулях номиналы резисторов и конденсаторов

могут отличаться.

Назначение выводов:

• VCC - напряжение питания +5 В;

• GND - «Земля»:

• SCL - линия тактового сигнала 12С:

• SDA - линия данных/J С;

• XDA - линия данных 12С при работе в режиме мастера, для подключения другого датчика;

• XCL - линия тактового сигнала 12С при работе в режиме мастера, для подключения другого датчика;

• AD0 - нулевой бит адреса устройства;

• INT - выходной сигнал о необходимости обработки данных с MPU6050.

Рис. 11. Схема модуля GY-521

MPU6050 имеет программируемую систему прерываний, которая может генерировать сигнал прерывания на выходе INT. Флаги состояния указывают источник прерывания. Источники прерываний могут быть включены и отключены по отдельности программно [6, с 32].

3.1. Технические характеристики модуля

• Размер платы 20x16 мм;

• 3-х осевой МЭМС гироскоп с 16-битным АЦП;

• 3-х осевой МЭМС акселерометр с 16-битным АЦП;

• Встроенный температурный датчик;

• Цифровой программируемый фильтр нижних частот (ФНЧ);

• Напряжение питания микросхемы 2,375 -3,46 В. На плате установлен стабилизатор на 3,3 В, поэтому на плату можно подавать напряжение питания 5 В:

• Рабочий диапазон температур от -40 до 85 °С;

• БШО-буфер объемом 1024 байт;

• Программируемые пользователем цифровые фильтры для гироскопа, акселерометра и температурного датчика;

• Программируемые пользователем источники прерывания;

• Интерфейс 12С для записи и чтения регистров устройства, работающий на частоте до 400 кГц, в стандартном режиме до 100 кГц;

• На плате установлены «подтягивающие» резисторы для SDA и SCL линий;

• Два отверстия под винт диаметром 3 мм.

3.2. Технические характеристики

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

• Программируемый пользователем диапазон измерений: ±2, ±4, ±8 и ±16 g;

• Встроенный 16-разрядный АЦП;

• Нелинейность 0,5 %;

• Номинальный ток в режиме работы - 0,5 мА;

• Режим пониженного энергопотребления: 10 мкА - 1.25 Гц, 20 мкА - 5 Гц, 70 мкА - 20 Гц, 140 мкА - 40 Гц;

• Акселерометр может выдержать удар до 10 000 g, при условии, что он выключен.

3.3. Технические характеристики гироскопа

• Программируемый пользователем диапазон измерений: ±250, ±500, ±1000 и ±2000 °/сек (градусов в секунду);

• Встроенный 16-разрядный АЦП;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Нелинейность 0,2 %;

• Ток в режиме работы - 3,6 мА;

• Ток в режиме ожидания - 5 мкА.

3.4. Технические характеристики

температурного датчика

• Диапазон измерений от-40 до+85

эр

• На градус Цельсия ^ отводится 340 отсчётов.

4. ОПИСАНИЕ РЕГИСТРОВ MPU6050

Ниже приведена таблица управляющих регистров MPU6050.

_Таблица 1

0x1A Отвечает за настройку внешнего сигнала синхронизации (в GY-521, не используется) и за настройку ФНЧ. На второе отводится три бита, см. [7, с 13].

0x1B Отвечает за настройку гироскопа. Три бита на каждую ось гироскопа для самотестирования. Два бита для настройки шкалы гироскопа от 250 до 2000 °/сек, см. [7, с 14].

0x1C Отвечает за настройку акселерометра. Три бита на каждую ось акселерометра для самотестирования. Два бита для настройки шкалы акселерометра от ±2 до ±16 g, см. [7, с 15].

0x23 Отвечает за буфер обмена FIFO. Можно указать какие данные с датчиков будут загружаться в буфер FIFO, см. [7, с 16].

0x37 Настройка вывода INT, см. [7, с 26].

0x38 Отвечает за прерывания INT, см. [7, с 27].

0x3A Флаги прерывания INT, см. [7, с 28].

0x3B Старшие 8 бит измеряемой величины акселерометра по оси x, см. [7, с 29].

0x3C Младшие 8 бит измеряемой величины акселерометра по оси x, см. [7, с 29].

0x3D Старшие 8 бит измеряемой величины акселерометра по оси y, см. [7, с 29].

0x3E Младшие 8 бит измеряемой величины акселерометра по оси y, см. [7, с 29].

0x3F Старшие 8 бит измеряемой величины акселерометра по оси z, см. [7, с 29].

0x40 Младшие 8 бит измеряемой величины акселерометра по оси z, см. [7, с 29].

0x41 Старшие 8 бит измеряемой величины температурного датчика, см. [7, с 30].

0x42 Младшие 8 бит измеряемой величины температурного датчика, см. [7, с 30].

0x43 Старшие 8 бит измеряемой величины гироскопа по оси x, см. [7, с 31].

0x44 Младшие 8 бит измеряемой величины гироскопа по оси x, см. [7, с 31].

0x45 Старшие 8 бит измеряемой величины гироскопа по оси y, см. [7, с 31].

0x46 Младшие 8 бит измеряемой величины гироскопа по оси y, см. [7, с 31].

0x47 Старшие 8 бит измеряемой величины гироскопа по оси z, см. [7, с 31].

0x48 Младшие 8 бит измеряемой величины гироскопа по оси z, см. [6, с 31].

0x68 Используется для сброса аналоговых и цифровых сигналов датчиков, см. [7, с 37].

0x6A Предназначен для включения/отключения буфера FIFO, - ; " мастер режима и общий сброс регистров датчиков, см. [7, с 38].

0x6B Отвечает за настройку режима сна, выкл. температурного датчика и настройку тактирования устройства, см. [7, с 40].

0x6C Настройка частоты пробуждения акселерометра в режиме пониженного энергопотребления и установка отдельных осей в режим ожидания, см. [7, с 42].

0x75 Отвечает за идентификацию устройства, см. [7, с 45].

5. ПЕРВОЕ ПОДКЛЮЧЕНИЕ МОДУЛЯ GY-521 К STM32

Общение с А/РС/6050 осуществляет при помощи интерфейса 12С. Все необходимые элементы для интерфейса уже установлены на плате ОУ-521, поэтому можно напрямую подключатся к модулю. Схема подключения приведена на Рис. 12.

Рис. 12. Схема подключения модуля GY-521 к STM32

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

Интерфейс/2С имеет архитектуру ведущий - ведомый, то есть одно устройство (ведущее) производит запрос на чтение или запись данных от ведомых устройств. В нашем случае ведомым является MP£/6050, а ведущим 12С модуль, находящийся на микроконтроллере. Для связи используется две двунаправленные линии: тактирования и данных. Ведомое устройство имеет свой адрес, который на данной линии должен быть уникальным (в нашем случае это 0xD0). Линии SDA и SDL должны быть подтянуты к уровню логической единицы. Как правило,

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

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

Во-первых, необходимо сбрасывать флаги состояния модуля 12С - периферии микроконтроллера. Осуществляется это чтением регистра флагов. Если этого не сделать, 12С-модуль MPU6050 не сможет перейти к

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

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

void MPU6050_I2C_init(void) {

I2C_InitTypeDef I2C_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; GPIO_Init(GPIOB, &GPIO_InitStructure);

I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; I2C_InitStructure.I2C_OwnAddress1 = 0x13; // Собственный адрес I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;

I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; I2C_InitStructure.I2C_ClockSpeed = 100000; // 100 кГц I2C_Cmd(I2C1, ENABLE); I2C_Init(I2C1, &I2C_InitStnuctune);

}

//=============== Запись данных Data в регистр Reg по I2C ===============

void MPU6050_Write(uint8_t Reg, uint8_t Data) {

while (I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY)); I2C_GenenateSTART(I2C1, ENABLE);

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SE LECT)); I2C_Send7bitAddness(I2C1, (0x68 << 1), I2C_Direction_Transmitter); while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); I2C_SendData(I2C1, Reg); // Передаём адрес регистра while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_SendData(I2C1, Data); // Передаём данные

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_GenenateSTOP(I2C1, ENABLE);

}

//=============== Чтение данных из регистра Reg по I2C ===============

uint8_t MPU6050_Read(uint8_t Reg) { static uint8_t Data;

while (I2C_GetFlagStatus(I2C1, I2C_F LAG_BUSY)); I2C_GenerateSTART(I2C1, ENABLE);

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SE LECT)); I2C_Send7bitAddness(I2C1, (0x68 << 1), I2C_Dinection_Tnansmitten); while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); I2C_Cmd(I2C1, ENABLE);

I2C_SendData(I2C1, Reg); // Передаём адрес регистра

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED));

I2C_GenenateSTART(I2C1, ENABLE);

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SE LECT)); I2C_Send7bitAddness(I2C1, (0x68 << 1), I2C_Dinection_Receiven); while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)); I2C_AcknowledgeConfig(I2C1, DISABLE); I2C_GenenateSTOP(I2C1, ENABLE);

while (!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)); Data = I2C_ReceiveData(I2C1); // Принимаем данные

I2C_AcknowledgeConfig(I2C1, ENABLE); return Data;

}

int main(void) {

uint16_t X, Y, Z; volatile uint32_t i32;

for(i32 = 0; i32 < 100000; i32++) {}; // Программная задержка

MPU6050_I2C_init(); // Настраиваем I2C

for(i32 = 0; i32 < 100000; i32++) {};

//Датчик тактируется от встроенного 8Мгц осциллятора

MPU6050_Write(0x6B, 0x00); // Register_PWR_M1 = 0, Disable sleep mode

//Выполнить очистку встроенных регистров датчика MPU6050_Write(0x6A, 0x01); // Register_UsCtrl = 1 for (i32 = 0; i32 < 1000; i32++) {}; while (1) {

X = MPU6050_Read(0x3B) << 3; X |= MPU6050_Read(0x3C);

Y = MPU6050_Read(0x3D) << i; Y |= MPU6050_Read(0x3E);

Z = MPU6050_Read(0x3F) << i; Z |= MPU6050_Read(0x40);

X = MPU6050_Read(0x43) << i; X |= MPU6050_Read(0x44);

Y = MPU6050_Read(0x45) << i; Y |= MPU6050_Read(0x46);

Z = MPU6050_Read(0x47) << z |= MPU6050_Read(0x48);

// Вывод переменных

}

}_

6. ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ АКСЕЛЕРОМЕТРА И ГИРОСКОПА

Был проведён ряд экспериментов для анализа показаний датчиков в статике. Были установлены единые границы измерения: для гироскопа установлен диапазон ±250 °/сек, для акселерометра ±2 g. Данные с MPU6050 не корректировались и не фильтровались. На графиках по оси х указано время измерения, а по оси у - код с выхода АЦП, в отсчётах.

Стоит отметить, что при многократном использовании недорогих разъёмных соединений, которые приведены на Рис. 15, есть вероятность того, что при проведении экспериментов может пропасть контакт. Поэтому рекомендуется использовать пайку вместо недорогих разъёмных соединений.

7. ИССЛЕДОВАНИЕ ПОКАЗАНИЙ АКСЕЛЕРОМЕТРА В СТАТИКЕ

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

Как отмечалось ранее, внутренняя архитектура модуля сложна, поэтому для лучшего понимания логики происходящих процессов, представим акселерометр в более простом виде как показано на рис. 13. Т.к. в MPU6050 установлен 3-х осевой акселерометр, представим его в виде 3 грузиков закрепленных на пружинах, находящихся в 3 перпендикулярных друг другу осях: Х, Y и Z. Кроме того, конструкция из груза и пружины закреплена таким образом, что груз может двигаться только вдоль своей оси.

Рис. 13. Теоретическая упрощенная модель 3-х осевого акселерометра

Расположим систему так, чтобы ось Z была направлена перпендикулярно поверхности земли, а вектора X и Y - параллельно земли.

На модуль не действуют никакие другие силы, кроме силы тяжести. Сняв показания с такого теоретического устройства, получим следующее: грузы на осях X и Y находятся в «нуле», а груз по оси Z отклонился до отметки 1 g. Напомним, что g - ускорение свободного падения, которое принято считать равным 9,8 м/с2. Практически же, на Земле ускорение свободного падения на полюсах немного больше 9,832 м/с2), чем на экваторе

9,780 м/с2), т.к. Земля имеет неидеальную форму шара. К примеру, в городе Новосибирск, Россия g = 9,8145 м/с2 (данные 2014 г.). Однако, несмотря на различные значения g, для расчетов используют значение 9,8 м/с2. Поэтому, если модуль находится в состоянии покоя, значение отклонения груза не может превысить показания в единицах g. Таким образом, при расположении акселерометра как на Рис. 13 показания по осям будут следующие: X - 0 ■ g, Y- 0 ■ g, Z - 1 ■ g.

Рис. 14. Значения, акселерометром по 3 осям ожидаемые в теории X - 0 - g, У - 0 - g, Z - 1- g (2000 отсчётов, шаг дискретизации 5 мс)

Перейдем к реальным экспериментам. Расположим датчик на столе и закрепим его как можно ровнее, как показано на Рис. 15. Сила тяжести, как и в теоретическом эксперименте, воздействует только на ось 2, на ось X и У воздействие сторонних сил сведено к минимуму.

Рис. 15. Модуль выравненный с помощью уровней по двум осям

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

На основании полученных с акселерометра данных, построим 3 графика.

Рис. 16. Значения, измеряемые акселерометром по оси X (2000 отсчётов, шаг дискретизации 5 мс)

Рис. 18. Значения, измеряемые акселерометром по оси 2 (2000 отсчётов, шаг дискретизации 5 мс)

При рассмотрении показаний акселерометра по оси X, вместо ожидаемого нуля, можно наблюдать колебания возле нуля с амплитудой около 300 отсчётов. Эти колебания можно назвать «шумом». Этот «шум» возникает внутри модуля. Чтобы понять, какое влияние он может оказать на полезный сигнал, стоит посмотреть на него в диапазоне ±1 g, Рис. 19. Как видно из рисунка, «шум» оказывает несущественное воздействие на полезный информационный сигнал.

Рис. 17. Значения, измеряемые акселерометром по оси У (2000 отсчётов, шаг дискретизации 5 мс)

Рис. 19. Значения, измеряемые акселерометром по оси 2 (2000 отсчётов, шаг дискретизации 5 мс)

Чтобы убедиться в этом возьмём среднее отклонение в ±250 отсчётов (Рис. 16) и, учитывая что, 16-разрядный АЦП имеет 65536 уровней квантования, получим:

При рассмотрении показаний акселерометра по оси У, имеем тот же «шум», что и по оси X. Кроме того, колебания происходят не около значения 0, а около значения среднего значения -150. Это произошло из-за неточного выравнивания модуля, потому что использовались не высокоточные приборы измерения уровня Рис. 15.

При рассмотрении значений акселерометра по оси 2, имеем тот же «шум», что и на других осях, а значения колеблются на отметке 14850. Проанализируем полученные измерения. Т.к. разрядность АЦП 16 бит, то на положительный и отрицательный диапазон измерений приходится 216 = 65536 отсчёта. Тогда, максимальное значение, которое можно получить, будет равно 32768, что соответствует значению в +2 g. Следовательно, +1 g = 16383, что не соответствует полученным результатам, и вместо уровня в +1 g, имеем +0,906 g. Данный результат не соответствует ожиданиям, поэтому стоит проверить, какие данные показывает

акселерометр, если перевернуть модуль на 180°, элементами вниз. На основе полученных данных строим 3 графика.

Рис. 22. Значения, измеряемые акселерометром по оси 2 при развороте модуля стороной с элементами вниз (2000 отсчётов, шаг дискретизации 5 мс)

На полученных графиках также имеется «шум», и небольшое смещение относительно нуля по оси У. Несмотря на то, что находящиеся на корпусе выпирающие элементы создают трудности ровного закрепления модуля, получилось добиться приемлемых результатов.

При рассмотрении показаний акселерометра по оси 2, можно заметить, что, показания колеблются на отметке -18350, что эквивалентно, -1,12 g. В теории значение больше чем ^ (- 16384) не может быть получено, при отсутствии сторонних сил, кроме силы тяжести. Значит, присутствует явление смещения в отрицательную область, т.е. на практике рабочий диапазон возможных значений будет не [-16384 — +16383], а [-18350 — +14850].

Можно предположить, что чувствительный элемент отклоняется по-разному из-за различной жёсткости подвесов (пружин), что сбивает показания. Механически это ни как не исправить,

поэтому подобное стоит учитывать при дальнейшей обработке данных. Пример реализации акселерометра на подвесах приведен на Рис. 23.

Рис. 20. Значения, измеряемые акселерометром по оси X при развороте модуля стороной с элементами вниз (2000 отсчётов, шаг дискретизации 5 мс)

Рис. 21. Значения, измеряемые акселерометром по оси У при развороте модуля стороной с элементами вниз (2000 отсчётов, шаг дискретизации 5 мс)

Рис. 23. Пример реализации акселерометра на подвесах

8. ИССЛЕДОВАНИЕ ПОКАЗАНИЙ ГИРОСКОПА В СТАТИКЕ

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

Рис. 24. Значения, измеряемые гироскопом по оси X

(2000 отсчётов, шаг дискретизации 5 мс)

Рис. 25. Значения, измеряемые гироскопом по оси У (2000 отсчётов, шаг дискретизации 5 мс)

При рассмотрении показаний гироскопа на практике можно увидеть, что усредненное значение отлично от нуля по всем 3 осям. Более подробную информацию по данному вопросу можно найти в [8].

3 4 5 6 1. сек

Рис. 26. Значения, измеряемые гироскопом по оси 1 (2000 отсчётов, шаг дискретизации 5 мс)

Также можно оценить уровень «шума» на рис. 24-26 относительно максимально допустимых значений:

+20 65536

100% = +0,05%

Очевидно, «шум» оказывает незначительное воздействие на полезный информационный сигнал.

ВЫВОДЫ

Модуль GY-521 с микросхемой МРШ050 является простым и доступным датчиком, имеющим в своём составе 3-х осевой акселерометр, 3 -х осевой гироскоп и температурный датчик. Акселерометр и гироскоп можно использовать для определения изменения положения в пространстве, угла наклона, как датчик столкновения и т.д. Модуль имеет небольшую стоимость, большой функционал и удобный интерфейс для обмена данными. Подходит для множества инженерных задач, не требующих большой точности.

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

При исследовании влияния силы тяжести на ось 1 было установлено, что существует проблема смещения диапазона возможных значений, причем для каждой оси эти смещения могут быть различны. Это может возникать из-за разной жёсткости подвесов чувствительного элемента. Причем, эта проблема может быть индивидуальна для различных модулей GY-521. Поэтому, желательно проверять наличие ошибки смещения на оси перед началом эксплуатации модуля.

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

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

ЗАКЛЮЧЕНИЕ

Данная статья продолжает серию публикаций [11-42], посвященных разработке

робототехнических устройств и их

программированию. Эти публикации

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

ЛИТЕРАТУРА

[1] Шкурко Д.В. Исследование микромеханического акселерометра на поверхностных акустических волнах. ВКРБ. СПбГЭТУ «ЛЭТИ». СПб., 2013, http: //refleader.ru/yfsrnaq as.html

[2] Шахнович И. МЭМС-гироскопы - единство выбора. Электроника: наука, технология, бизнес. 2007. № 1. С. 76-85.

http://www.electronics.ru/files/article pdf/0/article 512 885.pdf

[3] Invensense MPU6050 6-axis MEMS IMU: фото выходного дня URL: https://zeptobars.com/ru/read/Invensense-MPU6050-6d-MEMS-IMU-gyroscope-accelerometer

[4] Fisher C.J. Using an accelerometer for inclination sensing URL: http://www.analog.com/media/ru/technical-documentation/application-notes/AN- 1057.pdf

[5] Ивойлов А.Ю. О применении МЭМС-датчиков при разработке системы автоматической стабилизации двухколесного робота. Сборник научных трудов НГТУ. 2017. №3 (89). 32-51.

[6] Спецификация: MPU-6000 and MPU-6050 Product Specification Revision 3.4 InvenSense: URL: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1 .pdf

[7] Документация на регистры MPU6050: MPU-6000 and MPU-6050 Register Map and Descriptions Revision 4.2 InvenSense: URL: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Register-Map 1 .pdf

[8] MPU-6050 - Гироскоп + акселeрометр Youtube: URL: https://www.youtube.com/watch?v=EK6TuEPhBG8

[9] Документация на микроконтроллеры: STM32F100x4 STM32F100x6 STM32F100x8 STM32F100xB STMicroelectronics: URL: http://www.st.com/content/ccc/resource/technical/docum ent/datasheet/dd/87/fd/2a/fb/3f/48/5c/CD00251732.pdf/f iles/CD00251732.pdf/jcr:content/translations/en.CD002 51732.pdf

[10] Документация на отладочную плату STM32VLDISCOVERY: UM0919 User Manual STMicroelectronics: URL: http://www.st.com/content/ccc/resource/technical/docum ent/user manual/f3/16/fb/63/d6/3d/45/aa/CD00267113.p df/files/CD00267113.pdf/jcr:content/translations/en.CD 00267113.pdf

[11] Application of ultrasonic sensor for measuring distances in robotics / В. А. Жмудь, Н. О. Кондратьев, К. А. Кузнецов, В. Г. Трубин, Л. В. Димитров // Journal of Physics: Conference Series. - 1015 (2018) 032189 - ISBN 1742-6588. - DOI: 10.1088/17426596/1015/3/032189.

[12] Ivoylov A. Y. A balancing robot on a wheel pair: detection of unaccounted nonlinearities. Progress through Innovations: тез. науч. -практ. конф.

аспирантов и магистрантов, Новосибирск, 31 марта 2016 г. Новосибирск: Изд-во НГТУ, 2016. С. 24-25. ISBN 978-5-7782-2869-6.

[13] Жмудь В. А., Трубин В. Г., Каменская А. С., Курбетьев К. В. Графический OLED дисплей UG-2864ASGGG14: первое включение. Автоматика и программная инженерия. 2016. № 1 (15). С. 29-37.

[14] Жмудь В. А., Трубин В. Г., Ивойлов А. Ю. Рекомендации по быстрой разработке макетов цифровых систем управления на базе микроконтроллеров. Автоматика и программная инженерия. 2016. № 3 (17). С. 25-31.

[15] Жмудь В. А., Трубин В. Г., Суменков А. В., Трубин М. В. Светодиодная индикация на основе микросхемы MAX7219. Автоматика и программная инженерия. 2016. № 2 (16). С. 79-89.

[16] Свидетельство о регистрации программы для ЭВМ № 2013617769 Bluetooth_HC-05_Driver-v001. Правообладатель: ФГБОУ ВПО НГТУ. Россия. Авторы: Ескин А.В., Жмудь В.А. Заявка № 2013615378 от 13 февраля 2013 г. Зарегистрировано в Реестре программ для ЭВМ 22 августа 2013 г.

[17] Свидетельство на регистрацию программы для ЭВМ № 2013618271 HC-SR04_Ulitrasonic_Driver-v002. Правообладатель: ФГБОУ ВПО НГТУ. Россия. Авторы: В.А. Жмудь, В.Г. Трубин. Заявка № 2013616195. Дата поступления 18 июля 2013. Дата гос. регистрации в реестре программ для ЭВМ 04 сентября 2013 г.

[18] Свидетельство о регистрации программы для ЭВМ № 2013615343 NXT_MotorDriver-v003a. Правообладатель: ФГБОУ ВПО НГТУ. Россия. Авторы: В.А. Жмудь, А.В. Ескин. Заявка № 2013616195. Дата поступления 26 апреля 2013. Дата гос. регистрации в реестре программ для ЭВМ 05 июня 2013 г.

[19] Печников А.Л., Жмудь В.А., Трубин В.Г., А.Б. Колкер. Перспективы развития робототехнических учебных стендов для высшего специального образования в области робототехники, автоматики и мехатроники. Информатика, вычислительная техника и автоматизация. 2012. №2. Т.5. С. 89-95.

[20] Печников А.Л., Жмудь В.А., Трубин В.Г., А.Б. Колкер. Перспективы развития робототехнических учебных стендов для высшего специального образования в области робототехники, автоматики и мехатроники. Труды конференции Scientific World -Перспективные инновации в науке, образовании, производстве и транспорте '2012.

[21] Печников А.Л., Жмудь В.А., Трубин В.Г. Удаленное управление роботом посредством xmpp-протокола. Сборник научных трудов НГТУ. 2013. № 3(73). С. 85 - 92.

[22] Ескин А.В., Жмудь В.А., Трубин В.Г. Реализация дистанционного управления по радиоканалу Bluetooth платформой, моделирующей работу роботизированных средств. Автоматика и программная инженерия. 2013. № 1 (3). С. 82-87.

[23] Ескин А.В., Жмудь В.А., Трубин В.Г. Построение платформы моделирующей работу роботизированных средств на базе конструктора Lego Mindstorms NXT 2.0 в части управления электродвигателями. Автоматика и программная инженерия. 2013. № 1 (3). С. 88-94.

[24] Ескин А.В., Жмудь В.А., Трубин В.Г. Беспроводной удлинитель последовательного порта на базе радиоканала Bluetooth. Автоматика и программная инженерия. 2013. № 2 (4). С. 42-47.

[25] Ескин А.В., Жмудь В.А., Трубин В.Г. STM32VLDISCOVERY - средство для быстрой разработки опытных образцов цифровых систем управления. Автоматика и программная инженерия.

2013. № 3 (5). С. 32-39.

[26] Ивойлов А.Ю., Жмудь В.А., Ескин А.В., Трубин В.Г. Особенности работы с ЖКИ дисплеем NOKIA 5110. Автоматика и программная инженерия. 2013. № 4 (6). С. 8-13. http://www.nips.ru/images/stories/zhournal-AIPI/7/aipi-4-2013-01.pdf

[27] Ескин А.В., Жмудь В.А., Трубин В.Г. Плагины Eclipse для ускорения разработки программ цифровых систем управления. Автоматика и программная инженерия. 2013. № 4 (6). С. 24-34. http://www.nips.ru/images/stories/zhournal-AIPI/7/aipi-4-2013-03.pdf

[28] Свидетельство о государственной регистрации программы для ЭВМ «EdpCtrlServer_v004.ру» № 2014612791, правообладатель: Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский государственный технический университет». Авторы: А.Л. Печников, В.Г. Трубин, В.А. Жмудь. Заявка № 2013660275, дата поступления 11 ноября 2013 г., дата государственной регистрации в Реестре программ для ЭВМ 06 марта 2014 г.

[29] Свидетельство о государственной регистрации программы для ЭВМ «EdpCtrlClient_v004.ру» № 2014612792, правообладатель: Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Новосибирский государственный технический университет». Авторы: А.Л. Печников, В.Г. Трубин, В.А. Жмудь. Заявка № 2013660287, дата поступления 11 ноября 2013 г., дата государственной регистрации в Реестре программ для ЭВМ 06 марта 2014 г.

[30] Трубин В.Г., Ескин А. В., Печников А.Л., Жмудь В.А. Использование сети интернет для интерактивной лабораторной работы с дистанционным управлением моделью робота снегоуборщика. Автоматика и программная инженерия. 2014. 1(7). С. 95-103.

[31] Ивойлов А.Ю., Жмудь В.А., Трубин В.Г. Разработка системы автоматической стабилизации в вертикальном положении двухколесной платформы. Автоматика и программная инженерия. 2014. № 2 (8). С. 15-21.

[32] Ескин А.В., Жмудь В.А., Трубин В.Г. Экономичная реализация графического интерфейса пользователя на базе одноплатного компьютера Raspberry Pi. Автоматика и программная инженерия.

2014. № 2 (8). С. 22-38.

[33] Кухтинова М.С., Позолотина Н.А., Жмудь В.А., Трубин В.Г..Системы распознавания речи. Автоматика и программная инженерия. 2014. № 2 (8). С. 46-48.

[34] Федоров Д.С., Ивойлов А.Ю., Жмудь В.А., Трубин В.Г. Использование акселерометра ADXL335 для определения угла отклонения от вертикали. Автоматика и программная инженерия. 2014. № 2 (8). С. 68-72.

[35] Жмудь В.А., Трубин И.В., Трубин М.В. Обмен данными между компьютером и микроконтроллером STM32F100 по последовательному интерфейсу связи RS-232. Автоматика и программная инженерия.

2015. № 1 (11). С. 45-51.

http://iumal.nips.ru/sites/default/fîles/%D0%90%D0%9 8%D0%9F%D0%98-1 -2015-6.pdf

[36] Жмудь В.А., Трубин М.В. Регулятор с разделением «правильных» и «неправильных» движений. Автоматика и программная инженерия. 2015. № 1 (11). С. 57-62. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1-2015-8.pdf

[37] Жмудь В.А., Трубин И.В., Трубин М.В. Проектирование сенсорных кнопок на базе микросхемы TTP-224. Автоматика и программная инженерия. 2015. № 1 (11). С. 70-74. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1 -2015-10.pdf

[38] Федоров Д.С., Ивойлов А.Ю., Жмудь В.А., Трубин В.Г. Использование измерительной системы MPU 6050 для определения угловых скоростей и линейных ускорений. ФГБОУ ВПО НГТУ, (Новосибирск, Россия). Автоматика и программная инженерия. 2015. № 1 (11). С. 75-80. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1-2015-11 .pdf

[39] Федоров Д.С., Ивойлов А.Ю., Жмудь В.А., Трубин В.Г. Разработка системы стабилизации угла отклонения балансирующего робота. Автоматика и программная инженерия. 2015. № 2 (12). С. 16-34.

[40] Димитров Л. В., Жмудь В. А., Ивойлов А. Ю., Трубин В. Г. Уточнение модели балансирующего робота логико-эмпирическим методом. Научный журнал КубГАУ: электрон. науч. журн. 2016. № 121 (07). http://ej.kubagro.ru/archive.asp?n=121. - Загл. с экрана. - DOI: 10.21515/1990-4665-121-011.

[41] Жмудь В. А., Трубин В. Г., Ескин А. В., Печников А. Л. STM32VLDISCOVERY - платформа для построения простой системы сбора данных. Лабораторная работа: учеб. -метод. пособие. Новосибирск: Издательство НГТУ, 2014. 174 с. ISBN 978-5-7782-2599-2.

[42] Жмудь В. А., В. Г. Трубин. STM32VLDISCOVERY - платформа для построения простой системы сбора данных. Учебное пособие. Москва: Русайнс, 2018. 272 с. ISBN 978-5-4365-2893-9.

à \

Вадим Аркадьевич Жмудь -

заведующий кафедрой

Автоматики НГТУ, профессор, доктор технических наук. E-mail: oao nips@bk.ru

630073, Новосибирск, просп. К.Маркса, д. 20

Кирилл Андреевич Кузнецов -

магистрант группы ААМ-17 кафедры Автоматики НГТУ. E-mail: kuznetsovk@ngs.ru

630073, Новосибирск, просп. К.Маркса, д. 20

Никита Олегович Кондратьев -

магистрант группы ААМ-17 кафедры Автоматики НГТУ. E-mail: nikitok.08.95@mail.ru

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

630073, Новосибирск, просп. К.Маркса, д. 20

Виталий Геннадьевич Трубин -

старший преподаватель кафедры Автоматики НГТУ, директор ООО «КБ Автоматика». E-mail: trubin@ngs.ru

630073, Новосибирск, просп. К.Маркса, д. 20

Максим Витальевич Трубин -

магистрант группы ААМ-18 кафедры Автоматики НГТУ. E-mail: morkai@bk.ru

630073, Новосибирск, просп. К.Маркса, д. 20

Статья получена 2 августа 2018 г.

Accelerometer and Gyroscope MPU6050; the First Inclusion on STM32 and the Study of its Indications in Statics

V.A. Zhmud, K.A. Kuznetsov, N.O. Kondratyev, V.G. Trubin, M.V. Trubin Novosibirsk State Technical University, Novosibirsk, Russia

Abstract: In this article microchip MPU6050 with accelerometer, gyroscope and thermometer installed at the module GY-521 is studied. The forces measured by accelerometer and gyroscope are considered. Primary measurements are provided without filtration and calibration. In order to a better understand of module's work this article considers experiments which allow

examining measured forces in statics. Data processing is made using debug card STM32 VLDISCOVERY.

Key words: Accelerometer, gyroscope, thermometer, MEMS, GY-521, MPU6050,12C, STM32, STM32F103C8T6

[2] Shakhnovich I. MEMS-giroskopy - yedinstvo vybora. Elektronika: nauka, tekhnologiya, biznes. 2007. № 1. S. 76-85.

http://www.electronics.ru/files/article pdf/0/article 512 885.pdf

[3] Invensense MPU6050 6-axis MEMS IMU: foto vykhodnogo dnya URL:

REFERENCES

[1] Shkurko D.V. Issledovaniye mikromekhanicheskogo akselerometra na poverkhnostnykh akusticheskikh volnakh. VKRB. SPbGETU «LETI». SPb., 2013, http://refleader.ru/yfsrnaqas.html

https://zeptobars.com/ru/read/Invensense-MPU6050-6d-MEMS-IMU-gyroscope-accelerometer

[4] Fisher C.J. Using an accelerometer for inclination sensing URL:

http://www.analog.com/media/ru/technical-documentation/application-notes/AN- 1057.pdf

[5] Ivoylov A.YU. O primenenii MEMS-datchikov pri razrabotke sistemy avtomaticheskoy stabilizatsii dvukhkolesnogo robota. Sbornik nauchnykh trudov NGTU. 2017. №3 (89). 32-51.

[6] Spetsifikatsiya: MPU-6000 and MPU-6050 Product Specification Revision 3.4 InvenSense: URL: https://www.invensense. com/wp-content/uploads/2015/02/MPU-6000-Datasheet1 .pdf

[7] Dokumentatsiya na registry MPU6050: MPU-6000 and MPU-6050 Register Map and Descriptions Revision 4.2 InvenSense: URL: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Register-Map 1 .pdf

[8] MPU-6050 - Giroskop + akselerometr Youtube: URL: https://www.youtube. com/watch?v=EK6TuEPhBG8

[9] Dokumentatsiya na mikrokontrollery: STM32F100x4 STM32F100x6 STM32F100x8 STM32F100xB STMicroelectronics: URL: http://www.st.com/content/ccc/resource/technical/docum ent/datasheet/dd/87/fd/2a/fb/3f/48/5c/CD00251732.pdf/f iles/CD00251732 .pdf/jcr:content/translations/en. CD002 51732.pdf

[10] Dokumentatsiya na otladochnuyu platu STM32VLDISCOVERY: UM0919 User Manual STMicroelectronics: URL: http://www.st.com/content/ccc/resource/technical/docum ent/user manual/f3/16/fb/63/d6/3d/45/aa/CD00267113.p df/files/CD00267113.pdf/jcr:content/translations/en.CD 00267113.pdf

[11] Application of ultrasonic sensor for measuring distances in robotics / V. A. Zhmud, N. O. Kondrat'yev, K. A. Kuznetsov, V. G. Trubin, L. V. Dimitrov // Journal of Physics: Conference Series. - 1015 (2018) 032189 - ISBN 1742-6588. - DOI: 10.1088/17426596/1015/3/032189.

[12] Ivoylov A. Y. A balancing robot on a wheel pair: detection of unaccounted nonlinearities. Progress through Innovations: tez. nauch.-prakt. konf. aspirantov i magistrantov, Novosibirsk, 31 marta 2016 g. Novosibirsk : Izd-vo NGTU, 2016. S. 24-25. ISBN 9785-7782-2869-6.

[13] Zhmud V. A., Trubin V. G., Kamenskaya A. S., Kurbet'yev K. V. Graficheskiy OLED displey UG-2864ASGGG14: pervoye vklyucheniye. Avtomatika i programmnaya inzheneriya. 2016. № 1 (15). S. 29-37.

[14] Zhmud V. A., Trubin V. G., Ivoylov A. YU. Rekomendatsii po bystroy razrabotke maketov tsifrovykh sistem upravleniya na baze mikrokontrollerov. Avtomatika i programmnaya inzheneriya. 2016. № 3 (17). S. 25-31.

[15] Zhmud V. A., Trubin V. G., Sumenkov A. V., Trubin M. V. Svetodiodnaya indikatsiya na osnove mikroskhemy MAX7219. Avtomatika i programmnaya inzheneriya. 2016. № 2 (16). S. 79-89.

[16] Svidetel'stvo o registratsii programmy dlya EVM № 2013617769 Bluetooth_HC-05_Driver-v001. Pravoobladatel': FGBOU VPO NGTU. Rossiya. Avtory: Yeskin A.V., Zhmud V.A. Zayavka № 2013615378 ot 13 fevralya 2013 g. Zaregistrirovano v Reyestre programm dlya EVM 22 avgusta 2013 g.

[17] Svidetel'stvo na registratsiyu programmy dlya EVM № 2013618271 HC-SR04_Ulitrasonic_Driver-v002. Pravoobladatel': FGBOU VPO NGTU. Rossiya. Avtory: V.A. Zhmud, V.G. Trubin. Zayavka № 2013616195.

Data postupleniya 18 iyulya 2013. Data gos. registratsii v reyestre programm dlya EVM 04 sentyabrya 2013 g.

[18] Svidetel'stvo o registratsii programmy dlya EVM № 2013615343 NXT_MotorDriver-v003a. Pravoobladatel': FGBOU VPO NGTU. Rossiya. Avtory: V.A. Zhmud, A.V. Yeskin. Zayavka № 2013616195. Data postupleniya 26 aprelya 2013. Data gos. registratsii v reyestre programm dlya EVM 05 iyunya 2013 g.

[19] Pechnikov A.L., Zhmud V.A., Trubin V.G., A.B. Kolker. Perspektivy razvitiya robototekhnicheskikh uchebnykh stendov dlya vysshego spetsial'nogo obrazovaniya v oblasti robototekhniki, avtomatiki i mekhatroniki. Informatika, vychislitel'naya tekhnika i avtomatizatsiya. 2012. №2. T.5. S. 89-95.

[20] Pechnikov A.L., Zhmud V.A., Trubin V.G., A.B. Kolker. Perspektivy razvitiya robototekhnicheskikh uchebnykh stendov dlya vysshego spetsial'nogo obrazovaniya v oblasti robototekhniki, avtomatiki i mekhatroniki. Trudy konferentsii Scientific World -Perspektivnyye innovatsii v nauke, obrazovanii, proizvodstve i transporte '2012.

[21] Pechnikov A.L., Zhmud V.A., Trubin V.G. Udalennoye upravleniye robotom posredstvom xmpp-protokola. Sbornik nauchnykh trudov NGTU. 2013. № 3(73). S. 85 - 92.

[22] Yeskin A.V., Zhmud V.A., Trubin V.G. Realizatsiya distantsionnogo upravleniya po radiokanalu Bluetooth platformoy, modeliruyushchey rabotu robotizirovannykh sredstv. Avtomatika i programmnaya inzheneriya. 2013. № 1 (3). S. 82-87.

[23] Yeskin A.V., Zhmud V.A., Trubin V.G. Postroyeniye platformy modeliruyushchey rabotu robotizirovannykh sredstv na baze konstruktora Lego Mindstorms NXT 2.0 v chasti upravleniya elektrodvigatelyami. Avtomatika i programmnaya inzheneriya. 2013. № 1 (3). S. 88-94.

[24] Yeskin A.V., Zhmud V.A., Trubin V.G. Besprovodnoy udlinitel' posledovatel'nogo porta na baze radiokanala Bluetooth. Avtomatika i programmnaya inzheneriya. 2013. № 2 (4). S. 42-47.

[25] Yeskin A.V., Zhmud V.A., Trubin V.G. STM32VLDISCOVERY - sredstvo dlya bystroy razrabotki opytnykh obraztsov tsifrovykh sistem upravleniya. Avtomatika i programmnaya inzheneriya. 2013. № 3 (5). S. 32-39.

[26] Ivoylov A.YU., Zhmud V.A., Yeskin A.V., Trubin V.G. Osobennosti raboty s ZHKI displeyem NOKIA 5110. Avtomatika i programmnaya inzheneriya. 2013. № 4 (6). S. 8-13. http://www.nips.ru/images/stories/zhournal-AIPI/7/aipi-4-2013-01.pdf

[27] Yeskin A.V., Zhmud V.A., Trubin V.G. Plaginy Eclipse dlya uskoreniya razrabotki programm tsifrovykh sistem upravleniya. Avtomatika i programmnaya inzheneriya. 2013. № 4 (6). S. 24-34. http://www.nips.ru/images/stories/zhournal-AIPI/7/aipi-4-2013-03.pdf

[28] Svidetel'stvo o gosudarstvennoy registratsii programmy dlya EVM «EdpCtrlServer_v004.ru» №

2014612791, pravoobladatel': Federal'noye gosudarstvennoye byudzhetnoye obrazovatel'noye uchrezhdeniye vysshego professional'nogo obrazovaniya «Novosibirskiy gosudarstvennyy tekhnicheskiy universitet». Avtory: A.L. Pechnikov, V.G. Trubin, V.A. Zhmud. Zayavka № 2013660275, data postupleniya 11 noyabrya 2013 g., data gosudarstvennoy registratsii v Reyestre programm dlya EVM 06 marta 2014 g.

[29] Svidetel'stvo o gosudarstvennoy registratsii programmy dlya EVM «EdpCtrlClient_v004.ru» №

2014612792, pravoobladatel': Federal'noye

gosudarstvennoye byudzhetnoye obrazovatel'noye uchrezhdeniye vysshego professional'nogo obrazovaniya «Novosibirskiy gosudarstvennyy tekhnicheskiy universitet». Avtory: A.L. Pechnikov, V.G. Trubin, V.A. Zhmud. Zayavka № 2013660287, data postupleniya 11 noyabrya 2013 g., data gosudarstvennoy registratsii v Reyestre programm dlya EVM 06 marta 2014 g.

[30] Trubin V.G., Yeskin A. V., Pechnikov A.L., Zhmud V.A. Ispol'zovaniye seti internet dlya interaktivnoy laboratornoy raboty s distantsionnym upravleniyem model'yu robota snegouborshchika. Avtomatika i programmnaya inzheneriya. 2014. 1(7). S. 95-103.

[31] Ivoylov A.YU., Zhmud V.A., Trubin V.G. Razrabotka sistemy avtomaticheskoy stabilizatsii v vertikal'nom polozhenii dvukhkolesnoy platformy. Avtomatika i programmnaya inzheneriya. 2014. № 2 (8). S. 15-21.

[32] Yeskin A.V., Zhmud V.A., Trubin V.G. Ekonomichnaya realizatsiya graficheskogo interfeysa pol'zovatelya na baze odnoplatnogo komp'yutera Raspberry Pi. Avtomatika i programmnaya inzheneriya.

2014. № 2 (8). S. 22-38.

[33] Kukhtinova M.S., Pozolotina N.A., Zhmud V.A., Trubin V.G..Sistemy raspoznavaniya rechi. Avtomatika i programmnaya inzheneriya. 2014. № 2 (8). S. 46-48.

[34] Fedorov D.S., Ivoylov A.YU., Zhmud V.A., Trubin V.G. Ispol'zovaniye akselerometra ADXL335 dlya opredeleniya ugla otkloneniya ot vertikali. Avtomatika i programmnaya inzheneriya. 2014. № 2 (8). S. 68-72.

[35] Zhmud V.A., Trubin I.V., Trubin M.V. Obmen dannymi mezhdu komp'yuterom i mikrokontrollerom STM32F100 po posledovatel'nomu interfeysu svyazi RS-232. Avtomatika i programmnaya inzheneriya. 2015. № 1 (11). S. 45-51. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1 -2015-6.pdf

[36] Zhmud V.A., Trubin M.V. Regulyator s razdeleniyem «pravil'nykh» i «nepravil'nykh» dvizheniy. Avtomatika i programmnaya inzheneriya. 2015. № 1 (11). S. 57-62. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1-2015-8.pdf

[37] Zhmud V.A., Trubin I.V., Trubin M.V. Proyektirovaniye sensornykh knopok na baze mikroskhemy TTP-224. Avtomatika i programmnaya inzheneriya. 2015. № 1 (11). S. 70-74. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1 -2015-10.pdf

[38] Fedorov D.S., Ivoylov A.YU., Zhmud V.A., Trubin V.G. Ispol'zovaniye izmeritel'noy sistemy MPU 6050 dlya opredeleniya uglovykh skorostey i lineynykh uskoreniy. FGBOU VPO NGTU, (Novosibirsk, Rossiya). Avtomatika i programmnaya inzheneriya.

2015. № 1 (11). S. 75-80. http://jurnal.nips.ru/sites/default/files/%D0%90%D0%9 8%D0%9F%D0%98-1-2015-11 .pdf

[39] Fedorov D.S., Ivoylov A.YU., Zhmud V.A., Trubin V.G. Razrabotka sistemy stabilizatsii ugla otkloneniya balansiruyushchego robota. Avtomatika i programmnaya inzheneriya. 2015. № 2 (12). S. 16-34.

[40] Dimitrov L. V., Zhmud V. A., Ivoylov A. YU., Trubin V. G. Utochneniye modeli balansiruyushchego robota logiko-empiricheskim metodom. Nauchnyy zhurnal KubGAU: elektron. nauch. zhurn. 2016. № 121 (07).

http://ej.kubagro.ru/archive.asp?n=121. - Zagl. s ekrana.

- DOI: 10.21515/1990-4665-121-011.

[41] Zhmud V. A., Trubin V. G., Yeskin A. V., Pechnikov A. L. STM32VLDISCOVERY - platforma dlya postroyeniya prostoy sistemy sbora dannykh. Laboratornaya rabota: ucheb.-metod. posobiye. Novosibirsk: Izdatel'stvo NGTU, 2014. 174 s. ISBN 978-5-7782-2599-2.

[42] Zhmud V. A., V. G. Trubin. STM32VLDISCOVERY

- platforma dlya postroyeniya prostoy sistemy sbora dannykh. Uchebnoye posobiye. Moskva: Rusayns, 2018. 272 s. ISBN 978-5-4365-2893-9.

Vadim Arkadievich Zhmud -

Head of the Department of Automation in NSTU, Professor, Doctor of Technical Sciences.

E-mail: oao nips@bk.ru

630073, Novosibirsk, str. Prosp. K. Marksa, h. 20

Kirill Andreevich Kuznetsov -

master student of the AAM-17 group of Automatics Department of the NSTU.

E-mail: kuznetsovk@ngs.ru

630073, Novosibirsk, str. Prosp. K. Marksa, h. 20

Nikita Olegovich Kondratiev -

master student of the AAM-17 group of Automatics Department of the NSTU.

E-mail: nikitok.08.95@mail.ru

630073, Novosibirsk, str. Prosp. K. Marksa, h. 20

Vitaly Gennadievich Trubin -head of the department. lab. Automatics Department of NSTU, Director of KB Automatics.

E-mail: trubin@ngs.ru

Maxim Vitalievich Trubin -master student of the AAM-18 group of Automatics Department of the NSTU.

E-mail: morkai@bk.ru

630073, Novosibirsk, str. Prosp. K. Marksa, h. 20

Paper was received 02.08.2018.

i Надоели баннеры? Вы всегда можете отключить рекламу.