Beschleunigungssensor/IMU
InvenSense maschinell erzeugt
Im Forum und im Wiki
-
Thread
MPU6050 keine Messdaten
(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV0_ADDR, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV0_REG, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV0_CTRL, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_ADDR, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_REG, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050_RA_I2C_SLV1_CTRL, 0x00); ByteWriteI2C(MPU6050_ADDRESS, MPU6050
-
Thread
Problem bei ATMEGA8 über ISP bei angeschlossenem I2C programmieren
+ 2 Dioden, MPU6050) * Steckbrett * MPU6050 (http://www.xxl-modellbau.de/Gyro-Kreisel-ACC-MPU-6050-I2C-Board-Arduino-Multiwii-Multicopter) * Schaltung (ohne den Quarzoszillator, sonst alles) wie im Tutorial http:/
Ableben raus hatte: - Programmierung funktioniert mit abgeklemmtem I2C-Bus und abgeklemmter VCC des MPU6050. Das Programm funktioniert bei anschließendem Wiederanklemmen von I2C und MPU6050 (Who am I erfolgreich, Ok/Fehler über 2 Dioden ausgegeben). - Bleiben I2C und VCC des MPU6050 beim Programmieren
-
Thread
XMega128D3 TWI/I2C bleibt plötzlich hängen
,MPU6050_ADDRESS,1); while(twiMaster->status != TWIM_STATUS_READY); MPU6050.gyro[Y_AXIS] = (int16_t)((MPU6050.gyro[Y_AXIS] <<8 | twiMaster->readData[0])/32.8); sendBuffer[0] = MPU6050
,MPU6050_ADDRESS,1); while(twiMaster->status != TWIM_STATUS_READY); MPU6050.gyro[Z_AXIS] = (int16_t)((MPU6050.gyro[Z_AXIS] <<8 | twiMaster->readData[0])/32.8); sendBuffer[0] = MPU6050
-
Thread
I2C Interrupt Handler bei Fehler
ON fail_flag|=writeI2C(MPU6050_ADDRESS_1,MPU6050_PWR,0x00); //Power up MPU6050_1 //Gyro Mode fail_flag|=writeI2C(MPU6050_ADDRESS_1,0x1B,MPU6050_GYRO_MODE); //Gyro Mode: 1000°/s //Set Sampling mode filtered fail_flag
[3]; int accZ=(MPU6050_RX_BUFF[4]<<8) | MPU6050_RX_BUFF[5]; int temp=(MPU6050_RX_BUFF[6]<<8) | MPU6050_RX_BUFF[7]; int gyroX=(MPU6050_RX_BUFF[8]<<8) | MPU6050_RX_BUFF[9]; int gyroY=(MPU6050_RX_BUFF[10]<<8
-
Thread
Es wird nur ein I2C Gerät erkannt
einem Gerät geht (auf der Platine einen Weg von <5mm) Auch bei dem Gerät, dass funktioniert (MPU6050)
und -stetigkeit. BTW: mich würde für ein neuentwickeltes Produkt das angekündigte EOL des MPU 6050 nachdenklich stimmen: - https://product.tdk.com/de/search/sensor/mortion-inertial/imu/info?part_no=MPU-6050
-
Thread
2 Sensoren an I2C werden nicht erkannt, einzeln jedoch schon
_1 0x6B #define MPU6050_INT_PIN_CFG 0x37 #define MPU6050_INT_ENABLE 0x38 #define MPU6050_LATCH_INT_EN 0x05 #define MPU6050_ACTL 0x07 #define MPU6050_WOM_EN 0x06 #define MPU6050_WOM_THR 0x1F #define MPU6050_MOT_DUR 0x20 #define MPU6050_ACCEL_INTEL_CTRL 0x69 #define MPU6050_SIGNAL_PATH_RESET 0x68 #define INTERRUPT_PIN 2 bool LEDtrigger=true;
-
Thread
STM32F4 sprintf Problem
getestet, der Wert von i existiert und es crasht nicht vor sprintf. [c] int main(void) { TM_MPU6050_t MPU6050_Data; char str[120]; /* Initialize system */ SystemInit(); /* Initialize USART, PB6, PB7*/ TM_USART_Init(USART1, TM_USART_PinsPack_2, 57600); /* Initialize MPU6050 sensor SCL: PA8, SDA: PC9 */ if (TM_MPU6050_Init(&MPU6050_Data, TM_MPU6050_Device_0, TM_MPU6050_Accelerometer_2G, TM_MPU6050_Gyroscope_2000s) != TM_MPU6050_Result_Ok) { /* Display error to user */ TM_USART_Puts(USART1, "MPU6050 Error
-
Thread
ESP8266 Micropython : I2C
ist: https://github.com/adamjezek98/MPU6050-ESP8266-MicroPython/blob/master/mpu6050.py Kann es sein, dass die I2C-Schnittstelle in Micropython ziemlich unsauber programmiert ist? Weiß jemand, wo der Source-Code zu finden ist?
Hier das I2C-Signal mit 400kHz in höherer Auflösung und das I2C Timing des MPU6050.