Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 32

z.aX = z.AccelX / 16384.0;

z.aY = z.AccelY / 16384.0;

z.aZ = z.AccelZ / 14418.0;

у канала z другой масштабный коэф.?

Да, в даташите табличка есть для всех значений.

Да, в даташите табличка есть для всех значений.

И в каком месте? Для "MPU-6000 and MPU-6050 Product Specification Revision 3.4" у всех каналов аксика коэффициенты одинаковы... по 13-й листу цены мл. разряда в зависимости от AFS_SEL:

AFS_SEL=0: k=1.0/16384.0 (диапазон +/-2g)

AFS_SEL=1: k=1.0/8192.0 (диапазон +/-4g)

AFS_SEL=2: k=1.0/4096.0 (диапазон +/-8g)

AFS_SEL=3: k=1.0/2048.0 (диапазон +/-16g)

Извиняюсь, перепутал.

Когда ж вы наконец то перестанете включать USART для дебага на стм32?

Что вы можете предложить в замен этому?

Serial Wire Viewer (SWV) вроде как должен нормально работать через SWO pin

Изучу этот вопрос по подробнее.

НЛО прилетело и опубликовало эту надпись здесь

Насчёт STM32 не согласен взял её рублей за 200 на алике, а так в принципе интересное предложение, возьму на заметку.

НЛО прилетело и опубликовало эту надпись здесь

Мне и Bluepill-а с головой хватает.

Сейчас вообще очень сложно найти что-то из STM32 за разумные деньги. Все как метлой вымели ...

НЛО прилетело и опубликовало эту надпись здесь

Все, что сейчас можно отхватить на али - очень часто отбраковка производства.

Заказывал 2 платы на али на STM32G431 у разных продавцов. Первая имела не рабочий DAC, на второй плата чип вообще через ST-Link не виделся.

НЛО прилетело и опубликовало эту надпись здесь

int pitch;

int pitch_sqrt = sqrt(z.aY * z.aY + z.aZ * z.aZ);

pitch = atan2(-z.aX, pitch_sqrt) * RAD_TO_DEG;

Странно у Вас тангаж считается.

1) Почему инты? что 89.9 градусов или .99g не может быть?

2) Крен/тангаж обычно считаются как atan2(Ax,Ay)/atan2(Az,Zy), откуда такая волшебная формула приведенная выше? В чем ее математический/физический смысл? Может чертежик нарисовать с вектором тяжести и как он по осям аксика раскладывается написать?

Да, запамятовал, действительно так. Но почему типы данных - инты?

Для примера и так неплохо.

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

ВЫчитай те ошибки, в идеали.

Про MPU6050_Address и time можно по подробнее?

MPU6050_Address - адресс устройства прописан в даташите.

time - время ожидания ответа, может быт любым, на ваше усмотрение. У меня 500.

Спасибо за ответ.

Т.е. Вы сделали хедер файл со всеми адресами из даташита

Да!

И еще один вопрос. Я наверное глуп, но как data у Вас превратилась в массив, если изначально она объявлена как простая переменная uint8_t?

Одна переменная объявлена внутри функции, то есть она распространяется только в ней. А другая уже объявлена глобально, то есть распространяется на весь код.

НЛО прилетело и опубликовало эту надпись здесь

Что было под рукой, как говорится! Насчёт DLPF, интересная тема, обязательно учту

НЛО прилетело и опубликовало эту надпись здесь

… даже при сильных вибрациях датчик будет показывать правильный результат…

Что значит правильный? Без составляющей от вибровоздействия?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации