简体   繁体   中英

Connecting I2C Device to Labview using NI-845x

I'm trying to connect a mass flow sensor, SFM-3000 by sensorion, to labview on PC using USB device, NI-8452, which provide I2C interface.

I followed the user manual of the sensor and used I2C example by labview but I cannot establish communication between them

I get the error message:

Error -301744 occurred at NI-845x I2C Run Script.vi:6110001, Possible reason(s): NI-845x: The I2C master lost arbitration and failed to seize the bus during transmission of an address+direction byte.

I'm using NI-8452 that include pull up resistor and I make sure to enable them by enabling 'Use Internal I2C Pullup Resistor' filled in 'NI-845x Device' property node. I set I/O voltage level to 3.3,

I double check the address, I have 7 bit address defined in user manual of my device, 64 dec or 1000000 binary.

As specified in my device user manual, I provide it Vdd of 5v from NI-8452 pin 40 and also GND in pin 7. Off-course SDA in pin 5 and SCL in pin 9.

I think I might have a problem with pull up reference voltage because the sensor specified it need to be 5v but NI-8452 use up to 3.3V.

接线

but the low limit for high signal is 2.5v so it should work

高低电平

My diagram:

NI-845x 上的 I2c

another option i tried is using I2c script blocks

I2c 脚本块

I tried similar solution also for pressure sensor, hdi0611arz8p5 by First-Sensor, but also got the same error.

After re-wiring it's started working, maybe some bad connectivity between wire and port. i hope this thread could help people that wish to connect sfm3000 using labview.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM