Pull to refresh

Comments 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

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

UFO landed and left these words here

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

UFO landed and left these words here

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

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

UFO landed and left these words here

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

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

UFO landed and left these words here

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 - время ожидания ответа, может быт любым, на ваше усмотрение. У меня 500.

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

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

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

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

UFO landed and left these words here

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

UFO landed and left these words here

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

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

Sign up to leave a comment.

Articles