Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

CRIO 9201 Analog Input Offset

Hello,
 
I am using a CRIO 4-Slot chassis with a 9002 controller and a 9201 (8 channel) analog input module.  I am building 3 identical systems, and I noticed that one of my systems has a voltage offset in the analog input.  Specifically, I looked at the AI cal (lsb and offset) for the systems, and the offset for this system is different.  If I probe the first channel info, the good system has the following parameters:
 
lsb - 5143521
offset - 12693677
 
The system that isn't reading correctly has the following:
 
lsb - 5140959
offset - 2745370
 
What causes the difference in offsets?  I had previously had a 9215 module plugged into the system with the bad offset, could that affect it?  I have tried recompiling my FPGA vi, redownloading the fpga vi to flash memory, with no luck.  I am using LV 8.2.  Since I can't see the modules themselves in MAX, how do I figure this one out?
 
Thanks,
Rob
0 Kudos
Message 1 of 11
(9,435 Views)

Hello Rob,

Every channel on every 9201 module will have their own calibration constants, so you need to read them from the specific module in your LV FPGA VI and then apply them to the binary data from the same module when it is converted from binary to voltage in the RT VI.

The calibration constants are stored in an EEPROM on the module which is written in the factory before the module is sent out. Each channel has slightly different constants as the individual components that are part of the ADC will vary slightly from one another. Therefore the offset for a specific ADC is measured in the factory, programmed in the EEPROM, and then applied in the scaling procedure to remove this inherent offset.

In my case the offset for the channels on my 9201 are around -9000000, so -12000000 seems to be in the possible range. The offset is measured in nanovolt.

I have attached a basic cRIO-9201 example with calibration.

Message Edited by Christian L on 01-29-2007 01:51 PM

authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
Message 2 of 11
(9,408 Views)
Hello Rob,
 
If you have two similar modules (9201 in your case), you should expect their offset and the lsb to be different. This is because we need to make sure that two modules of the same type return same binary value corresponding to a specific voltage (or current) even though their internal components might be working slightly differently (for example...effects due to temperature changes).
 
I would suggest that you use the shipping example (which can be accessed using the example finder) to make sure whether its something in hardware or software. Specifically, the example that I am mentioning about is called as "Analog Input - cRIO" and can be found in Example Finder under Hardware Input and Output >> CompactRIO >> Basic IO.
 
Also I would suggest that you try moving the suspected bad cRIO module from one chassis to another to see if the problem follows the module or the controller. Using a battery to provide a known and fixed voltage for testing, is also something worth trying.
 
Let us know how it goes.
 
Regards,
Chetan K
Application Engineering
National Instruments
 
0 Kudos
Message 3 of 11
(9,398 Views)
I guess me and Christan replied at the same time Smiley Very Happy
0 Kudos
Message 4 of 11
(9,396 Views)

Christian,

 

Thanks for your response.  Since my posting, I have swapped 9201 modules between controllers, and it seems to be the controller that is not processing the reading properly.  When I read the voltage off of the module from the RT code, it is around 1.7 volts low.  I probed the binary value coming across, for a 5 volt signal, I read a binary value of 640 for the low voltage controller, and 970 for the correct voltage readout.

 

So, it seems to follow the controller, not the module.  When I put the 9201 from the questionable unit into another identical CRIO chassis/controller, it read correctly, and when I put another 9201 module into the questionable unit, it still read low.  It seems like too much of a coincidence that this module was one that once had a 9215 module in that slot, and worked fine.  Is there any file stored on the controller that could be affecting this?  Is there anything that I could be missing?

 

Thanks,

Rob

0 Kudos
Message 5 of 11
(9,391 Views)

Rob,

I can't explain why one controller or chassis would have this behaviour. I would expect it to track with the module.

What is the source of the voltage that you are measuring? Can you confirm the proper voltage using a volt meter on the input of the module? Can you include a snapshot of the relevant FPGA and RT code from the controller and FPGA that are giving you problems.

authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
0 Kudos
Message 6 of 11
(9,383 Views)

Christian,

I am attaching screen shots of the parts of my FPGA code - getting the AI cal data, and sending the AI data to a cluster on the front panel which I read with the RT.  I wrote a very simple RT code to read the binary value and convert it to volts.

 

BTW, I also verified this with the example that Chetan suggested.  I am reading several signals, one of which is a 5V signal directly from a power supply.  I have verified that it is 5V with a meter.  It reads around 3.3 volts in the RT code.

 

Rob

 

Download All
0 Kudos
Message 7 of 11
(9,380 Views)
Well, after doing more isolation of the module and investigation, I realized that it was a grounding problem with my signals.  I guess when I saw the different offsets, that got me started down that path before I fully investigated the obvious.  Anyways, thanks for your help and discussion.
 
Rob
0 Kudos
Message 8 of 11
(9,356 Views)
Glad to help. Just before I read your last message I was thinking that this is likely related to grounding and different ground references.
authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
0 Kudos
Message 9 of 11
(9,349 Views)
This ended up being a grounding issue - just adding this note for completion here.
Best,
JLS
Sixclear
0 Kudos
Message 10 of 11
(9,346 Views)