Форум программистов, компьютерный форум, киберфорум
Наши страницы
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
1

Преобразование цифровых данных с датчика

24.03.2019, 23:37. Просмотров 1378. Ответов 17
Метки нет (Все метки)

Имеется датчик mpu6050. Необходимо перевести те показания, что он выводит (как я понял, в цифровом виде), в физические величины. Как это можно сделать?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2019, 23:37
Ответы с готовыми решениями:

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

Proteus. Нарисовать схему снятия данных с датчика температуры и вывода на дисплей
Ребята, мне надо собрать микропроцессорную систему в Proteus, которая будет работать следующим...

Модификация радиостанции Урал-Р для приемо-передачи цифровых данных
Всем добрый день. Интересует мнение знатоков дела беспроводной связи. Вот если есть 2 рации урал-р...

Чтение данных с датчика fs1000a
Всем привет, создаю метеостанцию на датчике fs1000a, к передатчику подключен DHT, который считывает...

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

17
Grey
Тутошний я
1730 / 893 / 156
Регистрация: 03.11.2009
Сообщений: 2,738
Записей в блоге: 1
25.03.2019, 01:42 2
С помощью контроллера. Без него данные не считаешь.
Только не понятно в какие физические величины нужно переводить.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
25.03.2019, 10:04  [ТС] 3
так данные то считываются, преобразуются АЦП и выводятся в com port. Мне нужно их в физическую величину преобразовать (в моем случае, в ускорение)
0
Grey
Тутошний я
1730 / 893 / 156
Регистрация: 03.11.2009
Сообщений: 2,738
Записей в блоге: 1
25.03.2019, 15:50 4
Специально скачал даташит на него. Нету у него аналоговых выходов.
Или у тебя другой датчик, или там не ацп перед портом. Так какой вариант?
Преобразовать в ускорение чего?
0
25.03.2019, 15:50
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
25.03.2019, 16:44 5
Цитата Сообщение от Glibli Посмотреть сообщение
датчик mpu6050. Необходимо перевести те показания, что он выводит (как я понял, в цифровом виде), в физические величины.
Ещё один лентяй.
Всё, что вы спрашиваете и ещё хотели бы спросить по датчику MPU6050 есть в даташите. Для тех, кто не понимает даташит, добрые люди в сети всё разжевали. Пять минут поиска - и вопросов нет.
А это предыдущий лентяй: Данные с датчика MPU6050.
Кстати, там есть ссылки и на объяснения для лентяев, и на даташит.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
25.03.2019, 17:13  [ТС] 6
Я и есть тот лентяй. Только dtasheet я почитал, как смог, информацию искал суммарно часа два, но ничего не смог найти.
Поэтому то я обращаюсь к знающим людям.
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
25.03.2019, 21:02 7
Цитата Сообщение от Glibli Посмотреть сообщение
Я и есть тот лентяй.
Мдя..

Тогда может тоже вам же уже отвечал про то, что ACCELEROMETER SENSITIVITY Full-Scale Range - это масштаб шкалы акселерометра, который можно установить от ±2 до ±16 G. G - это ускорение свободного падения, равно 9,81 м/с2.
Аналогично для гироскопа - GYROSCOPE SENSITIVITY можно установить чувствительность от ±250 до ±2000 градусов в секунду на всю шкалу.
Всё это написано на стр. 12 и 13 даташита.
Надеюсь, объяснять, что такое 16-разрядное число со знаком, и как высчитать значение младшего разряда, зная максимальное значение (всю шкалу) этого числа, не надо?
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
26.03.2019, 18:18  [ТС] 8
Если бы было не надо, я бы не задавал здесь вопросов.
Чувствительность я выставил на 2G. Выводятся значения около 200, по оси х в состоянии покоя.
Про фильтрацию значений слышал. Использовал. Показания были менее зашумлёнными но не более.
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
27.03.2019, 18:23 9
Glibli, вот честно: ничего не понял. "Менее, но не более"... "По оси Х ...", как будто все знают, как у вас датчик расположен... Или это про гироскоп? Это вообще вопрос, или что?

Цитата Сообщение от i8085 Посмотреть сообщение
Надеюсь, объяснять, что такое 16-разрядное число со знаком... не надо?
Цитата Сообщение от Glibli Посмотреть сообщение
Если бы было не надо, я бы не задавал здесь вопросов.
Старший разряд числа со знаком - это знак. Если старший разряд равен "1", то остальные разряды - это число отрицательное и представлено в дополнительном коде.
Что такое "дополнительный код" объяснять надо?

Цитата Сообщение от Glibli Посмотреть сообщение
Выводятся значения около 200 ... в состоянии покоя.
Это надо вам почитать про калибровку датчика. Может быть небольшое начальное смещение по каждой из осей, которое надо учитывать.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
03.04.2019, 17:14  [ТС] 10
Спасибо конечно, но вы ничего не объяснили. Информацию эту из даташита я уже давно видел и эти размерности чувствительности видел. Что мне с ними делать то?
"объяснять...как высчитать значение младшего разряда, зная максимальное значение (всю шкалу) этого числа, не надо?"
Мне это то и надо было от вас узнать. А вы так ничего толкового и не сказали.
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
04.04.2019, 02:05 11
Лучший ответ Сообщение было отмечено Grey как решение

Решение

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


Цитата Сообщение от Glibli Посмотреть сообщение
"...как высчитать значение младшего разряда, зная максимальное значение (всю шкалу) этого числа, не надо?"
Мне это то и надо было от вас узнать.
Если вся шкала, например, для акселерометра, установлена равной 2G, то это соответствует числу 32767 - максимальному числу для 16-разрядного двоичного числа со знаком. Итого, 9,81 умножаем на 2 и делим на 32768, - это и будет значением младшего разряда.

Если хотите что-то ещё спросить, - спрашивайте, не стесняйтесь. Только формулируйте вопрос так, чтобы вас можно было понять не прибегая к экстрасенсорным способностям.
1
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
07.04.2019, 14:13  [ТС] 12
Тогда, чтобы получить значение младшего разряда, выдаваемого акселерометром, нужно 9.81*2*Acc / 32767, где Acc и есть это значение?
И когда я его получим, что мне с ним делать?

Добавлено через 1 час 1 минуту
И ещё. Я сделал как вы сказали, со своим дополнением. И у меня не выводиться значение больше чем 9.81. Так и должно быть?
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
07.04.2019, 15:25 13
Цитата Сообщение от Glibli Посмотреть сообщение
у меня не выводится значение больше чем 9.81.
Если речь об акселерометре в спокойном положении, то да, так и должно быть. Это притяжение Земли. Но если датчик трясти, - должно быть и больше, и меньше. Масштаб шкалы (чувствительность) для этого и устанавливают разным, в зависимости от того, какие ускорения предполагаются в конкретной механической системе.

Цитата Сообщение от Glibli Посмотреть сообщение
Я сделал ... со своим дополнением.
Я не понимаю вашего дополнения. Если длина линейки 1 метр, и на этой линейке 1000 одинаковых делений, то сколько приходится на одно деление?
"Чтобы получить значение младшего разряда", ваше дополнение не нужно. 2G/215 уже значение младшего разряда. Ваша формула даст измеренное значение ускорения в м/с2.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
07.04.2019, 15:59  [ТС] 14
Та
Цитата Сообщение от i8085 Посмотреть сообщение
Если речь об акселерометре в спокойном положении, то да, так и должно быть. Это притяжение Земли. Но если датчик трясти, - должно быть и больше, и меньше. Масштаб шкалы (чувствительность) для этого и устанавливают разным, в зависимости от того, какие ускорения предполагаются в конкретной механической системе.
Не, когда он лежит на столе в горизонтальном положении, при получении ускорения по оси x, я получаю ноль, всё нормально. Но когда я его трясу, больше 9.81 не получаю.
Но я уже понял почему, спаибо!)

Цитата Сообщение от i8085 Посмотреть сообщение
Ваша формула даст измеренное значение ускорения в м/с2.
Ну то есть я как раз и получу ускорение, используя "моё дополнение (9.81*2*Acc / 32767)"?
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
08.04.2019, 00:26 15
Цитата Сообщение от Glibli Посмотреть сообщение
я как раз и получу ускорение, используя "моё дополнение (9.81*2*Acc / 32767)"?
Да, но только не "ускорение", а его составляющую по одной оси. Ускорение - это вектор, который может быть направлен в любом направлении. Для вычисления амплитуды и направления вектора ускорения надо использовать тригонометрические преобразования измеренных в один и тот же момент значений по каждому из трёх ортогональных направлений MEMS-датчика. Причём постоянная составляющая земного притяжения в таком акселерометре всегда будет присутствовать и её надо учитывать.

Цитата Сообщение от Glibli Посмотреть сообщение
Но я уже понял почему, спаибо!
Напишите, почему, и что именно вы поняли. Это читают не только мы с вами.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
08.04.2019, 22:59  [ТС] 16
Цитата Сообщение от i8085 Посмотреть сообщение
Напишите, почему, и что именно вы поняли
Всё из-за настроек чувствительности датчика. Чем больше это значение, тем больше измеряемое значение.
Как я понял.

А показания гироскопа в углы преобразовывать тем же способом, что и показания акселерометра в ускорение по каждой из осей?
0
i8085
2059 / 1441 / 280
Регистрация: 11.09.2009
Сообщений: 5,217
09.04.2019, 01:00 17
Цитата Сообщение от Glibli Посмотреть сообщение
Всё из-за настроек чувствительности датчика.
Вам трудно написать точно, как при настройке максимума шкалы, равным 2G, вы получили упор в значение 1G? Или иносказание - это принципиальная особенность вашего общения?

Цитата Сообщение от Glibli Посмотреть сообщение
А показания гироскопа в углы преобразовывать тем же способом, что и показания акселерометра в ускорение по каждой из осей?
Да.
Почитайте, зачем в одном датчике объединяют именно акселерометр и гироскоп. Какие у каждого их этих приборов возможности и ограничения, как показания одного датчика дополняют показания другого и какие существуют алгоритмы рассчётов, использующие показания обоих датчиков.
0
Glibli
0 / 0 / 0
Регистрация: 05.07.2017
Сообщений: 16
Завершенные тесты: 2
09.04.2019, 22:14  [ТС] 18
Цитата Сообщение от i8085 Посмотреть сообщение
Вам трудно написать точно, как при настройке максимума шкалы, равным 2G, вы получили упор в значение 1G? Или иносказание - это принципиальная особенность вашего общения?
Я не производил в этой формуле "(9.81*2*Acc / 32767)" умножение на 2, вот и упёрся в 1G.
0
09.04.2019, 22:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2019, 22:14

Извлечение цифровых данных из полей Excel
Не нашел подходящей темы. Если что - кидайте тапками :) Есть файл. В нем строки. В строках может...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru