Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Problems Calibrating DAQcard-1200

With my DAQcard-1200 PCMCIA card, I get a a constant offset of approx. 0.14volts in bipolar mode -5/+5V, 0.09 in unipolar 0-+5V. I was hoping I could correct this by recalibrating the card, using the Calibrate_1200 function. Whenever I call this function I get the error 10801.

I tried the same program with a few other cards which don't have this offset. I always get the same error. Any ideas how I could fix this would be greatly appreciated.

Thanks, henrik
0 Kudos
Message 1 of 4
(2,845 Views)
Hello Henrik,

What parameters are you using for this function? The NI-DAQ Function Reference Manual goes through each parameter and gives examples of parameters for uni-polar and bi-polar calibrations. Make sure you have configured the device for uni-polar/bi-polar acquisition if you're trying to perform a uni-polar/bi-polar calibration (see below for example). I have linked the Function Reference Manual Below, but you've probably taken a look at this already.

status = Calibrate_ (device, 2, 1, EEPROMloc, calRefChan, grndRefChan, 0, 0, calRefVolts, gain)
where you specify device, EEPROMloc (say 1, for example), calRefChan, grndRefChan, calRefVolts, and gain.

Next, call this function again. For example:
status = Calibrate_ (device, 5, 0, EEPROMloc, 0
, 0, 0, 0, 0, 0) where the device and EEPROMloc are the same as in the first function call.

Traditional NI-DAQ will automatically modify the ADC unipolar pointer in the default load table to point to user area 1.

The 1200 series devices only support external calibration. Some documentation mentions self-calibration, but this is not possible with the 1200 devices.

I hope this helps.

NI-DAQ Function Reference Manual
http://digital.ni.com/manuals.nsf/webAdvsearch/1630A0B68738B269862567C1007A2912?OpenDocument&vid=niwc&node=132100_US

DAQCard-1200 User Manual
http://digital.ni.com/manuals.nsf/webAdvsearch/70A649BC3E6445FF8625665E00651E49?OpenDocument&vid=niwc&node=132100_US

Regards,

Todd D.
NI Applications Engineer
0 Kudos
Message 2 of 4
(2,845 Views)
Thanks for your answer.

I've read the documentation and I think I am using the Calibrate_1200 function correctly. Here is a bit of code:

iStatus=AI_Configure(iDevice,-1,1,0,0,0); //bipolar
iStatus=Calibrate_1200(iDevice,2,1,EEPROMlocBipolar,calRefChan,grndRefChan,0,0,calRefVolts,iGain);
iRetVal=NIDAQErrorHandler(iStatus,"Calibrate_1200",0);
This returns error number 10801. I've tried it with several cards (not just the one I need to calibrate).

If I check the reading directly after calibration (using the test panel) I get almost correct values (0.05V for Grnd, 4.96V for +5V). If I then try to read again using the new calibration:
iStatus=Calibrate_1200(iDevice,5,0,EEPROMlocBipolar,0,0,0,0,0,0);
iStatus=AI_VRead(iDevice,grndRefChan,iGain,&dVol
tageGrnd);
then the voltages return to their pre-calibration values (i.e. 0.144V for the channel connected to ground, 4.85 for +5V).

Any further help would be much appreciated.

Thanks,

henrik
0 Kudos
Message 3 of 4
(2,845 Views)
Hey Henrik,

What are you using to supply the external calibration voltage? What is the value of the voltage?

Make sure that the calRefChan and the grndRefChan are different channels.

Also, if you are calibrating at a gain other than 1, make sure you apply a voltage so that calRefVolts * gain is within the upper limits of the analog input range of the device.

You probably are doing this already, but these suggestions are the only ideas I have left.

Regards,
Todd D.
0 Kudos
Message 4 of 4
(2,845 Views)