LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Sensirion EKP-3 Code to read the raw ticks from the SDP6xx Pressure Transducer with LabVIEW

OK...

 

I am a certifiably crazy dude who gets mixed up AND I have taken a holiday for my brain.

 

I have attached the ZIP file of the code pictured above that will work in LabVIEW 8.6...

 

If you see the solution you are my hero. I did study the IOWarrior manual and I'll be dipped if I can get the thing to sing!

 

After I send this I will try to use your suggestion.. to me the right array is "Write Array 2" and not "Write Array"..

 

Note that "Write Array 2" is HEX and "Write Array" is the same thing in Binary.. I will keep looking if I am missing something but in the end it is my understanding that all I need to do is INIT the device, then SEND 0x2, 0xC2, 0x80, 0xF1 and THEN I would READ, using this, $03 $03 $81

 

At issue is that READ = 1 and WRITE = 0 and I still have to end up READING goodies out of the device. At this point I would be happy with reading ANY signal representative of DP although I would LOVE the RAW ticks...

 

I will keep trying by golly!

 

If you can figure it out I would LOVE to see the code!


Thanks a million!

0 Kudos
Message 21 of 28
(1,546 Views)

Ok,

 

I found a way to get it working.

 

It seems that the SDP610 sensor uses the Sensibus protocol after all, and doesn't need pull-up transistors.

I should not have read the datasheet where they suggest that they use the IIC protocol.

Sensirion should provide a real SDK kit to their clients, or at least good documentation.

 

I have attached my code for dave. The scaling of the output still have to be done.

0 Kudos
Message 22 of 28
(1,524 Views)

Getting close here...

 

http://www.screencast.com/t/LDHeNlaStZ2w

 

 

See attached code in LV 8.0 

 

File location for ref...

U:\My Documents\..\Sensirion\LabVIEW Code\DMK SDP-610\Rev80\Sept 23

 

VERY VERY VERY close to reading the device RAW values that can easily be turned into SCALED values.

 

At issue is SEPAARATING what the IO Warrior wants and what the Sensirion want and flipping that Read/Write bit around...

 

Someone really smart will see something that we have not yet seen!

 

What will it be???

0 Kudos
Message 23 of 28
(1,509 Views)

I think it is working now. You should only call "Write Measurement triggering" once (at startup). 

Have a look at the screen dumps. I have added a CRC check. 

I am running LabVIEW 2013 so I will give you the code in screen dumps. 

It is easy to rewrite to LV 8.0

Download All
0 Kudos
Message 24 of 28
(1,479 Views)

Awesome!

 

Wondering if you can send me that in LV 13?

 

That would be super cool indeed! I have LV 13 as well!

 

How do you like that sensor?

0 Kudos
Message 25 of 28
(1,450 Views)

Here is your source code with small modifications in LV 13 format.

I have changed the layout a little and added info about the sampling time.

The sensor is very cool but the support from the vendor is not so cool 🙂

Message 26 of 28
(1,441 Views)
Thanks a million! I ALSO coded it up using a microprocessor using their I2C protocol and that works nicely as well!!
Message 27 of 28
(1,382 Views)

I am currently trying to communicate with a Sensirion SDP600 sensor via RS232, and came across this thread. There was a question about the 9 to 16 bit resolution setting, which defaults to 12 bits: I found a Circuit Cellar article that has info on how to write to the user registers to set the resolution.

http://heatkit.com/research/2016/MHA%20research%20heater/I2C/Sensirion%20pressure%20sensor.pdf

The article also has other good info.

 

Norbert 
norbert.senf(at)gmail dot com

0 Kudos
Message 28 of 28
(971 Views)