Our full technical support staff does not monitor this forum. If you need assistance from a member of our staff, please submit your question from the Ask a Question page.


Log in or register to post/reply in the forum.

CR1000 avec jauge de contrainte/CR1000 with strain gauges


bmenot Sep 18, 2013 09:09 AM

Bonjour,
J'ai quelques problèmes avec une CR1000, multiplexeur et 32 jauges de contrainte 2 fils. Les valeurs relevées sont de 0, 130 et 260 µm/m sans aucune contrainte appliquée. Est-ce un problème de vitesse de prise de mesure avec le multiplexeur ou est-ce juste un problème de distance entre mes jauges et la centrales (distance entre 10 et 20m) ?

Hello,
I have some problems with a CR1000, multiplexer and 32 strain gauges 2 wire. The measured values ​​are 0, 130 and 260 microns / m without any applied stress. Is it a problem of speed measurement with the multiplexer or is it just a matter of distance between my gauges and the datalogger (distance between 10 and 20m)?


GTProdMgr Sep 19, 2013 06:05 PM

Sometimes when you install a gage, it has what is called "apparent strain". This is a non-zero strain value caused by simply being attached to a member that already is experiencing some amount of stress/strain.

So I think you need to consider baseline readings and "zeroing" very carefully. ShortCut can generate a program for you that will zero out all of the gages at once (apply an offset, etc.) using a common Flag (boolean value/trigger).

There could be a settling time issue (lack of settling time will appear as a measurement offset). We would need to see the program to get a feel for that.

I recommend you contact your local Campbell Scientific support contact.


bmenot Sep 20, 2013 07:21 AM

I use one 4WFBS120 on CR1000.
It's wired like this :
H(4WFBS120) and L(4WFBS120) with ODD L(AM16/32)
G(4WFBS120) with ODD H(AM16/32)
4WFBS120 on VX1

And this is my program :

Dim I, J, K, Y
Const NbrJauge_Master = 32
Const NbrJauge_Slave1 = 32
Const NbrJauge_Slave2 = 32
Const Facteur = 2.09
Const NbrPT100_Master = 5
Const NbrPT100_Slave1 = 5
Const NbrPT100_Slave2 = 5
Const SCRUT = 1
Const ENRE = 30
Const UnitSCRUT = Min
Const UnitENRE = Min

Public PTemp_Master,PTemp_Slave1, PTemp_Slave2, Result_Slave1, Result_Slave2
Public BrPT100(5), RPT100(5)
Public ZStrain(32), MesureJauge_Master(32)
Public Jauge_Master(32), PT100_Master(5)
Public Jauge_Slave1(32), PT100_Slave1(5)
Public Jauge_Slave2(32), PT100_Slave2(5)

Units PT100_Master = DegC
Units PT100_Slave1 = DegC
Units PT100_Slave2 = DegC

DataTable (Table_Master,1,-1)
DataInterval (0,ENRE,UnitENRE,10)
Sample (1,PTemp_Master,FP2)
Sample (NbrJauge_Master,Jauge_Master(),IEEE4)
Sample (NbrPT100_Master,PT100_Master(),FP2)
EndTable

DataTable (Table_Slave1,1,-1)
Sample(1,PTemp_Slave1,FP2)
Sample(NbrJauge_Slave1,Jauge_Slave1(),IEEE4)
Sample(NbrPT100_Slave1,PT100_Slave1(),FP2)
EndTable

DataTable (Table_Slave2,1,-1)
Sample(1,PTemp_Slave2,FP2)
Sample(NbrJauge_Slave2,Jauge_Slave2(),IEEE4)
Sample(NbrPT100_Slave2,PT100_Slave2(),IEEE4)
EndTable

DataTable (ZERO_1,true,10)
Average (NbrJauge_Master,ZStrain(),IEEE4,0)
EndTable


Sub Zero
Scan (5,Sec,0,5)
PortSet (1,1)
K=1
Delay (0,300,mSec)
SubScan (0,uSec,NbrJauge_Master)
PulsePort (2,10000)
BrFull (ZStrain(K),1,mV2500,1,Vx1,1,2500,True,True,0,250,1.0,0)
K = K+1
NextSubScan
PortSet (1,0)
ZStrain(K)=ZERO_1.ZStrain_AVG(1,1)
CallTable ZERO_1
NextScan
Y = 1
EndSub

BeginProg
Y = 0
SerialOpen (Com2,115200,0,0,100000)
Scan (SCRUT,UnitSCRUT,0,0)
PanelTemp (PTemp_Master,250)
If Y = 0 Then Call Zero
PortSet (1,1)
J = 1
SubScan (0,uSec,NbrJauge_Master)
PulsePort (2,10000)
BrFull (MesureJauge_Master(J),1,mV2500,1,Vx1,1,2500,True,True,0,250,1.0,0)
StrainCalc (Jauge_Master(J),1,MesureJauge_Master(J),ZStrain(J),-1,Facteur,0)
J = J + 1
NextSubScan
PortSet(1,0)
BrHalf (BrPT100(),NbrPT100_Master,mV250,3,Vx2,NbrPT100_Master,1250,True ,0,_50Hz,1,0)
For I = 1 To NbrPT100_Master Step +1
RPT100(I) = ((5620/((1/BrPT100(I))-1))/100)
PRT (PT100_Master(I),1,RPT100(I),1,0)
Next I
GetDataRecord (Result_Slave1,Com2,0,1,0000,100,2,32769,Table_Slave1)
GetDataRecord(Result_Slave2,Com2,0,3,0000,100,2,32769,Table_Slave2) CallTable Table_Master
NextScan
EndProg

If you could help me I would appreciate it because I have a lot of problems with these strain gauges.
Thanks.


aps Sep 20, 2013 09:22 AM

The input voltage range you are using is far too high which will result in very coarse resolution that I believe is one of your complaints. You either need to use the lowest range possible based upon knowledge of how well your bridge is balanced and the range or measurement or use the autorange option in the logger.

I am not sure if you have one TIM module (4WFBS120) per sensor or you have put the multiplixer between a single TIM module on the logger and the sensors. If the latter is the case I am afraid you will not get very good measurements as the relay contacts will be in series with the gauge. The resistance of the contacts, although small, varies with each closure and will increase slowly with the age (switching cycles) of the relay. This will result in increasing noise and apparent drift of the gauge.

If you have one TIM per sensor, with the TIMs mounted on the sensor side of the multiplexer, then the effects of the relay contacts resistance is much smaller, almost negligible.


nccsf Sep 25, 2013 03:41 PM

According to last coment from APS, have you solve your problem ? If not please you contact Campbell Scientific French Office (ask : M. Crescenzo)


bmenot Sep 26, 2013 07:31 AM

I changed the program by increasing the time between scanning each channel multiplexer and a few other changes and my program has become:


Dim I, J, K, Y
Const NbrJauge_Master = 32
Const NbrJauge_Slave1 = 32
Const NbrJauge_Slave2 = 32
Const Facteur = 2.09
Const NbrPT100_Master = 5
Const NbrPT100_Slave1 = 5
Const NbrPT100_Slave2 = 5
Const SCRUT = 30
Const ENRE = 1
Const UnitSCRUT = Min
Const UnitENRE = Hr


Public PTemp_Master,PTemp_Slave1, PTemp_Slave2, Result_Slave1, Result_Slave2
Public BrPT100(5), RPT100(5)
Public ZStrain(32), MesureJauge_Master(32)
Public Jauge_Master(32), PT100_Master(5)
Public Jauge_Slave1(32), PT100_Slave1(5)
Public Jauge_Slave2(32), PT100_Slave2(5)

Units PT100_Master = DegC
Units PT100_Slave1 = DegC
Units PT100_Slave2 = DegC

DataTable (Table_Master,1,-1)
DataInterval (0,ENRE,UnitENRE,10)
Sample (1,PTemp_Master,FP2)
Sample (NbrJauge_Master,Jauge_Master(),FP2)
Sample (NbrPT100_Master,PT100_Master(),FP2)
EndTable

DataTable (ZERO_1,true,10) 'Table pour la mise a zero des jauges de contraintes
Average (NbrJauge_Master,ZStrain(),FP2,0)
EndTable


Sub Zero
Scan (22,Sec,0,4)
PortSet (1,1)
K=1
Delay (0,300,mSec)
SubScan (0,uSec,NbrJauge_Master)
PulsePort (2,10000)
BrFull (ZStrain(K),1,Autorange,1,Vx1,1,2500,True,True,0,_50Hz,1.0,0)
Delay (0,500,mSec)
K = K+1
NextSubScan
PortSet (1,0)
ZStrain(K)=ZERO_1.ZStrain_AVG(1,1)
CallTable ZERO_1
NextScan
Y = 1
EndSub


BeginProg
Y = 0
SerialOpen (Com2,9600,0,0,10000)
Scan (SCRUT,UnitSCRUT,0,0)
PanelTemp (PTemp_Master,250) If Y = 0 Then Call Zero
PortSet (1,1)
J = 1
SubScan (0,uSec,NbrJauge_Master)
PulsePort (2,10000)
BrFull (MesureJauge_Master(J),1,Autorange,1,Vx1,1,2500,True,True,0,_50Hz,1.0,0)
StrainCalc (Jauge_Master(J),1,MesureJauge_Master(J),ZStrain(J),-1,Facteur,0)
Delay (0,1,Sec)
J = J + 1
NextSubScan
PortSet(1,0)
BrHalf (BrPT100(),NbrPT100_Master,mV250,3,Vx2,NbrPT100_Master,1250,True ,0,_50Hz,1,0) 'Mesure des sondes PT100
For I = 1 To NbrPT100_Master Step +1
RPT100(I) = ((5620/((1/BrPT100(I))-1))/100)
PRT (PT100_Master(I),1,RPT100(I),1,0)
Next I
CallTable Table_Master
NextScan

SlowSequence
DataTable(Table_Slave1,1,10000) Sample(1,PTemp_Slave1,FP2) Sample(NbrJauge_Slave1,Jauge_Slave1(),FP2) Sample(NbrPT100_Slave1,PT100_Slave1(),FP2)
EndTable

DataTable (Table_Slave2,1,10000)
Sample(1,PTemp_Slave2,FP2)
Sample(NbrJauge_Slave2,Jauge_Slave2(),FP2)
Sample(NbrPT100_Slave2,PT100_Slave2(),FP2)
EndTable

Scan (ENRE,UnitENRE,3,0)
GetDataRecord (Result_Slave1,Com2,0,1,0000,1000,2,1,Table_Slave1)
GetDataRecord (Result_Slave2,Com2,0,3,0000,1000,2,1,Table_Slave2)
NextScan
EndProg


Thank you for your help !


GTProdMgr Sep 26, 2013 04:44 PM

I am still recommending that you make contact with the appropriate Campbell Support office. I would start with the
office in France as nccsf recommended.

After looking briefly at your program, I am making a strong recommendation that you use Short Cut to generate a 1/4 bridge strain program. We have put a lot of work into getting Shortcut to create a program that does all of the calibration and zeroing, as well as using StrainCalc etc. in just the right way. Your program is using a zeroing method similar to how we did zeroing before the FieldCal instruction was added to the datalogger OSes.

Also, your BRFull instruction uses "Autorange" :
BrFull (ZStrain(K),1,Autorange,1,Vx1,1,2500,True,True,0,_50Hz,1.0,0)

A few customers have complained before of strain gage
noise and measurements when using Autorange.
After they set a fixed range code, things worked fine.
So you should examine the kinds of voltage you are getting from the sensors and set the appropriate, fixed, rangecode.


Your program uses 50 Hz integration, so settling time default is 3 mSec. That should be fine for long cable lengths (up to a few hundred feet). If the lead wires are longer, it might be nice to bump the settling time up to 5 milliseconds or so.

Log in or register to post/reply in the forum.