Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I set strain gauge resistance on 9237

I have been trying to implement the NI-9237 4-Channel Strain Gauge Module on my cRIO system. I am running the cRIO-9012 RT Controller with the 9103 backplane.
 
I have found where you can specify full bridge and half bridge in both the module properties and programatically on the Getting Started (FPGA).vi using property nodes. However, there is no place to set the strain gauge resistance as far as I can tell. Does anyone know how to do this.
 
Also, before measuring, I would like to set up a shunt calibration and null calibration. It doesn't look like NI offers VI's that do what you can do in MAX ( calibration wise). Has anyone written some calibration VIs that I can look at? I would really like to be able to do the calibration I am used to doing in max on these gauges (running off the cRIO) before I begin measuring. I can't imagine anyone setting up an experiment and not needing to calibrate before they begin. So, with so many people using the 9237 module for experiments, it follows logically that a lot of people have run into this and written VIs to solve the problem already. I would really appreciate any help that you can offer.
 
edit-----------------------------------------------------
I also wanted to add that the getting started VI for the 9237 does not do any calibration or offset. It does read the imbedded calibration from the module from when the module was calibrated at the factory... but does not allow you to calibrate for your experiment. As far as I can tell, there is no example code for how to do this.

Message Edited by rex1030 on 11-02-2007 03:55 PM

---------------------------------
[will work for kudos]
0 Kudos
Message 1 of 67
(10,293 Views)
Hi Rex1030,
You can find more information regarding shunt calibration and strain guage resistance in the manual http://digital.ni.com/manuals.nsf/websearch/21F5982E13C28B39862573760081DAF1, please go through page 10-14.  More information about the calibration procedure can be found here. http://digital.ni.com/manuals.nsf/websearch/EEF056DDEBDB82CD8625728800805AB7 The strain gauge resistance is set by using the known resistance value during calibration. Hope this helps!

Yi Y.
Applications Engineer
National Instruments
http://www.ni.com/support
Message Edited by Support on 05-18-2009 11:37 AM
Message 2 of 67
(10,154 Views)
Wow, that calibration procedure looks like it is exactly what I was looking for! I am going to program it into the Getting Started example and I will get back to you on how well it turns out. I wish there were VI's to do what MAX does but I suppose that is asking for too much.
---------------------------------
[will work for kudos]
0 Kudos
Message 3 of 67
(10,150 Views)
Ok, it turns out that what you sent me is not what I am looking for.
The calibration procedure you posted is for the CompactDAQ backplane only. In bullet 3 of the "Initial Setup" process on page 5 of the Calibration procedure it specifies "Insert the module into an available slot in the cDAQ-9712 chassis."

However, I am using the cRIO-9012 RT Controller with the cRIO-9103 backplane. I cannot use this calibration procedure. On page 9 of the procedure it says, "4. Create and configure an AI Custom Voltage with Excitation channel using the DAQmx Create Virtual Channel VI, as shown in the following table. Use Table 4 to determine the minimum and maximum
values for the device."

If you look at the diagram of the created VI it has "physical channels" I/O input. However, with the cRIO system I cannot select an input channel from the module. It only shows the SCXI channels on the chassy that used to be hooked up to that laptop.

So I am back to square one. I still cannot calibrate the 9237 module on my cRIO system. Please help me.
---------------------------------
[will work for kudos]
0 Kudos
Message 4 of 67
(10,088 Views)
I also cannot see the channels on the cRIO-9237 module in MAX. I suppose this calibration procedure would work great if I could. Do you know how to do that?
---------------------------------
[will work for kudos]
0 Kudos
Message 5 of 67
(10,082 Views)

Howdy Rex,

There are three ways to calibrate your 9237 for use in a cRIO. 1) Send it in to NI for calibration of the ADC (I realize this is not what you are asking about). 2) Calibrate the offset as seen in the 9237 Getting Started Example. 3) Use the shunt resistors to adjust the signal. Unfortunately, this calibration is left for you to code. This cannot be done in MAX like with a cDAQ. The Getting Started project gives you Volts/Volts and leaves it up to you to turn this signal into strain using a Gauge Factor and other coefficients. Also, cRIO controllers and FPGA back planes show up in MAX, not modules.

Charlie M. CLD
Message 6 of 67
(10,026 Views)
Well, that is sincerely depressing. I was afraid that everything I had been discovering was pointing to this I just didn't want it to be this way. I really appreciate the help of the NI applications engineers who responded to my posts and pleas. If you feel like flexing your godlike LabVIEW muscles and coding something up for everyone who attempts to buy a 9237 module for their cRIO system, that would be fantastic. It is certainly a shame that we were seriously considering a multi-cRIO system from NI built around this module and now we may have to go with another company's turnkey system in the interest of development time.

If anyone finishes coding the calibration code for this before I do please post it here for the benefit of the industry and this community. I will do the same if I get some good working code finished.
---------------------------------
[will work for kudos]
0 Kudos
Message 7 of 67
(9,970 Views)

Because the NI 9237 is not directly accessible by the PC as an FPGA target, calibration is not as easy as within a cDAQ. However, the shunt calibration procedure can be added to your FPGA code by adding a step after the null offset that simply: reads analog in, enables the precision 100kOhm shunt (this is done by a simple property node), reads the analog in again and finally, your own code that compares to two values. We don’t have this readily available because we don’t know what gauge you are going to use.

Charlie M. CLD
Message 8 of 67
(9,903 Views)
This is exactly what I am having a problem with as well. I have discovered that the FPGA calibration on the Getting Started only takes into account the calibration from the factory for the module. I have read the steps that the applications engineer posted and will try to get something working. Do any of you know what the other options are for the calibration of the 9237 channels?  This would be under the property node on the FPGA. Please, keep me updated on the progress of the calibration procedure.

Thanks,
Jimmy P.
Message 9 of 67
(9,869 Views)
Hi Jimmy,
Both Offset and Shunt calibration is available for the 9237 module.  The idea is to read the values from the offset and shunt calibration connections, and send the calibration data over to the RT controller, and use the calibration data on the RT side to generate the correct I/O values.  The initial calibration of the module is done in factory, and you need to send it in to recalibrate the module every 2-3 years.  However, Offset and Shunt calibration are values read from the your hardware set up, and the way to utilize those values is documented in the the calibration procedure documentation and in the Getting Started example.  In the Getting Started example, there's no code to do the shunt calibration.  The idea is basically enabling the shunt calibration, read your AI value, then disable it and read the AI value again.  Take the difference of two values.  Caculate the coefficent acquired based delta V at a given strain level applied to the strain gauge.  Multiply the binary value acquired from the Binary to Nomial VI by the coefficent.  Please try it out and post any questions if you are still encountering problems.
Hope this helps!

Yi Y.
Applications Engineer
National Instruments
http://www.ni.com/support
Message 10 of 67
(9,842 Views)