TeensyJeffrey
Member
Hi,
Can someone point the differences or best possible way to connect 6 IMUs to a Teensy 4.0.
1. Connect them using a TCA9548A I2C Multiplexer (i2c multiplexer to create separate i2c buses for each of the sensors).
2. Or place two on each I2C bus of the teensy SL0*2 + SL1*2 + SL2*2 using the two addresses of the IMU
Example;
In I2C mode, this selects the LSb of the I2C address (SD0_M)
In I2C mode, this selects the LSb of the I2C address (SD0_AG)
#if SDO
#define LSM9DS1XG_ADDRESS 0x6B // Device address when SDO = 1
#define LSM9DS1M_ADDRESS 0x1E // Address of magnetometer = 1
#else
#define LSM9DS1XG_ADDRESS 0x6A // Device address when SDO = 0
#define LSM9DS1M_ADDRESS 0x1D // Address of magnetometerter = 0
3. Is it possible to switch between the 6 IMUs one bus USING digital pins?
IMU1
(SD0_M) + (SD0_AG) = 1
IMU2
(SD0_M) + (SD0_AG) = 0
IMU3
(SD0_M) + (SD0_AG) = 0
IMU4
(SD0_M) + (SD0_AG) = 0
IMU5
(SD0_M) + (SD0_AG) = 0
IMU6
(SD0_M) + (SD0_AG) = 0
Then,
IMU1
(SD0_M) + (SD0_AG) = 0
IMU2
(SD0_M) + (SD0_AG) = 1
IMU3
(SD0_M) + (SD0_AG) = 0
IMU4
(SD0_M) + (SD0_AG) = 0
IMU5
(SD0_M) + (SD0_AG) = 0
IMU6
(SD0_M) + (SD0_AG) = 0
Do this 6 times in a loop (using a digital pin to select), where the address that is high is of interest to me in the sequence?
I have read up on this. I'm a beginner with great interest. Can someone point out the best method for speed, consider using the same microcontroller? It would be deeply appreciated.
Thank you in advance.
Jeffrey
Can someone point the differences or best possible way to connect 6 IMUs to a Teensy 4.0.
1. Connect them using a TCA9548A I2C Multiplexer (i2c multiplexer to create separate i2c buses for each of the sensors).
2. Or place two on each I2C bus of the teensy SL0*2 + SL1*2 + SL2*2 using the two addresses of the IMU
Example;
In I2C mode, this selects the LSb of the I2C address (SD0_M)
In I2C mode, this selects the LSb of the I2C address (SD0_AG)
#if SDO
#define LSM9DS1XG_ADDRESS 0x6B // Device address when SDO = 1
#define LSM9DS1M_ADDRESS 0x1E // Address of magnetometer = 1
#else
#define LSM9DS1XG_ADDRESS 0x6A // Device address when SDO = 0
#define LSM9DS1M_ADDRESS 0x1D // Address of magnetometerter = 0
3. Is it possible to switch between the 6 IMUs one bus USING digital pins?
IMU1
(SD0_M) + (SD0_AG) = 1
IMU2
(SD0_M) + (SD0_AG) = 0
IMU3
(SD0_M) + (SD0_AG) = 0
IMU4
(SD0_M) + (SD0_AG) = 0
IMU5
(SD0_M) + (SD0_AG) = 0
IMU6
(SD0_M) + (SD0_AG) = 0
Then,
IMU1
(SD0_M) + (SD0_AG) = 0
IMU2
(SD0_M) + (SD0_AG) = 1
IMU3
(SD0_M) + (SD0_AG) = 0
IMU4
(SD0_M) + (SD0_AG) = 0
IMU5
(SD0_M) + (SD0_AG) = 0
IMU6
(SD0_M) + (SD0_AG) = 0
Do this 6 times in a loop (using a digital pin to select), where the address that is high is of interest to me in the sequence?
I have read up on this. I'm a beginner with great interest. Can someone point out the best method for speed, consider using the same microcontroller? It would be deeply appreciated.
Thank you in advance.
Jeffrey