From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Academic Hardware Products (myDAQ, myRIO)

cancel
Showing results for 
Search instead for 
Did you mean: 

Error -363011 occurred at myRIO v1.0 Wrie I2C.vi

Hello all,

 

I am trying to read data from an Ivensense MPU-6050 accel/gyro sensor. Any write i2c function returns error -363011.

 

I don't see anything odd with the i2c communication sequence. Master start bit, 7 bit hardware address + 1 bit R/W, slave ack, 1 byte register address, slave ack, 1 byte data, slave ack,...., master stop bit.

 

Do the write and write/read vi's follow this protocol?

 

I am including my vi. I have disabled my configuration loop as writing to the sensor is not working. There is no way to read data without first writing to set the pointer to the right register.

 

Win 8 64-bit

myRIO 1900

Ivensense MPU-6050

 

 

0 Kudos
Message 1 of 18
(16,564 Views)

Hello rdaxon

 

The error is telling us: A No Acknowledge (NAK) bit was received from the slave device after the last address transmission.

 

Have you checked the pull-up resistors you are implementing?

Have you seen the i2c stream in monitor (oscilloscope or PC)? Is it okay?

Is the voltage the expected?

 

References:

I2C Express VI

I2C VIs

 

Regards

Frank R.

0 Kudos
Message 2 of 18
(16,550 Views)

Hello Frank,

 

Thank you for the response. Sorry for the delay... long weekend and great weather.

 

I am using the myRIO built-in pull-up resistors. I think these are the correct ones since I am operating at Hi speed(400).

 

I will see if the SDA and SCL lines are changing voltages.

 

Thanks, Ray

 

0 Kudos
Message 3 of 18
(16,519 Views)

hello rdaxon,

I am facing same problem. Are you able to solve that problem now???? 

0 Kudos
Message 4 of 18
(16,373 Views)

I tried to use my own pull up resistors but that didn't solve the problem.

 

One of the unused connections in my circuit is called Vi/o(I think. I'm doing this by memory). This is there because the breakout board(by SparkFun) this chip is on separates the supply voltage into Vdd and Vi/o. Once I connected 5VDC to Vi/o as well as Vdd I was able to communicate with the device, including writing and reading to/from registers.

 

Hope this helps.

0 Kudos
Message 5 of 18
(16,363 Views)

Ooops sorry,

 

That's 3.3 VDC not 5 VDC.

0 Kudos
Message 6 of 18
(16,362 Views)

Hello.

I'm trying to usu myrio and the gyroscope mpu-6050 but I get the same error - 363011.

I'd like to know if you could hel pe to solve this problem. How did you wire the sensor and what's the vi you have used?

0 Kudos
Message 7 of 18
(15,020 Views)

First, I would start a new post since this one is from last year.

 

Second, it looks like he didn't have Vio connected. I would verify that you do.

Tanner B.
Systems R&D Engineer - Aerospace, Defense, and Government
National Instruments
0 Kudos
Message 8 of 18
(14,990 Views)

Sorry but. What you mean with Vio

0 Kudos
Message 9 of 18
(14,979 Views)

Do you have the same breakout board for this chip? What package are you using? If you read through this post you can see that they solved this problem by supplying voltage to a pin called Vio.

Tanner B.
Systems R&D Engineer - Aerospace, Defense, and Government
National Instruments
0 Kudos
Message 10 of 18
(14,968 Views)