Arduino cansat and IMUs

lidt ældre tekst


Drivere kan findes her (opdateret apr 2022)




Very common IMU boards are GY80 and GY87 GY88 GY88a and GY91

A cloned board is HW-290 with qm35883 instead of hmc5883

Warning: GY-91 is sometimes NOT a GY-91 board with MPU9250 etc.

See in table. Even though components looks alike a GY-91 its just a MPU6000 that is real.

I have seen MPU6000 with MPU9250 printed on top …

Beware

Its a good idea to use an I2C scanner to see what is present

They are all 10 DOF (degree of freedom) boards and all sensor handling is by i2c bus.

GY boards

GY-80 GY-87 GY-88 GY-88A GY-91 fake GY-91 HW-290
digital compass hmc5883L hmc5883L hmc5883L hmc5983 mpu9250 none qmc5883
pressure and temperature bmp085 1 bmp085/180 bmp085/180 bmp180 bmp280 none bmp085
3 axis accelerometer adxl345 mpu6050 mpu6050 mpu6050 mpu9250 MPU6000 mpu6050
3 axis digital gyro l3g4200d mpu6050 mpu6050 mpu6050 mpu9250 MPU6000 mpu6050
schematics schematics schematicsschematics schematics schematics none schematics

Notes:

on the boards with MPU6050 the the hmc5883L accelerometer is located on a secundary I2C bus behind the MPU6050

See snippets code below

See full code here

#include <Wire.h>
#include <MPU6050.h>
#include <hmc5883l.h>
#include <bmp085.h>
#include "I2Cdev.h"

MPU6050 mpu;
hmc5883l compass;

int error;

void setup() {
  ...
  // 2000 degrees pr second max and +/- 16 g max
  mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_16G);

  mpu.setI2CBypassEnabled(true); // set bypass mode for gateway to hmc5883L

  // now we can reach hmc5883L
  compass = hmc5883l(); // Construct a new HMC5883 compass.
  ...

Datasheets and library SW

Src folder list: here

You install the ZIP file libraries as usual:

  1. download library

  2. sketch->Include library/ add .ZIP file

  3. install

Some might use bmp180/280 which are a plugin compatible sucessors to bmp085.

Extra info

Plug in replacement

GY-80 and GY-87 can both be used on the AAU cansat shield version 4.

The GY-80 fills all holes - the GY-87 shall be located most far away from the openlog as shown on image below.