MPU9250 акселерометр IMU и формат данных гироскопа
Из таблицы данных видно, что каждый из шести выходных каналов MPU9250
имеет разрешение 2 байта и 16 бит. Мне было интересно узнать о 16-битных двоичных значениях, они в формате дополнения до двух? Или, когда датчик неподвижен, скажем, ускорение по оси X равно нулю, тогда 2 байта в комбинации дают 2^16/2
а именно, половина пути максимально возможного числа? (при условии, что нет смещения)
1 ответ
Да, два дополнения.
Вы можете увидеть это в 3.2 Спецификации акселерометра в техническом описании!
После прочтения 14 байтов (используя I2C) я использую: (((short)raw[4])<<8)|raw[5], чтобы получить 16-битное значение со знаком, например, для ускоренной оси z. У акселя и гироскопа сначала есть MSB (в исходном массиве), но для магнитометра LSB идет первым.
Если датчик был беспристрастным, стационарным и идеально ровным, вы должны получить 0,0,1 г для акселератора и 0,0,0 г для гироскопа. На самом деле Земля вращается со скоростью 360°/ день, поэтому, если быть точным, вам, возможно, придется принять это во внимание, но это будет зависеть от ориентации датчика и даже вашей широты.