Im running into some troubles while setting up a test with a CR1000 and 8-4WFBS completion bridges.
I am wondering if this data logger will be capable of measuring 8 strain gauges, each in a quarter bridge arrangement, simultaneously.
Ive tried the setup using shortcut and the "Full Bridge" sensor, however it will only let me add three simultaneous sensors. My guess is that the program is limiting each sensor to its own excitation source.
Can I get around this by writing my program in CRBASIC?
* Last updated by: jakewagner on 2/15/2011 @ 11:49 AM *
Yes. But you need to be careful in not overloading the excitation outputs by using too high a drive voltage and with too low a bridge resistance which is why Shortcut is limiting this.
If you are using 350 ohm gages with our TIMs, you can hook up to 5 gages for each excitation channel with 2500 mV excitation. If using 120 ohm TIMs you can only hook up 2 gages per excitation with 2500 mV excitation. If you need 3 gages per excitation channel with these, you would need to reduce the excitation to about 1750 mV.
Here is 8 gage strain gage CRBasic program for the CR1000. It is configured for 3 each BrFull() measurement reps per excitation channel. StrainCalc() configuration is for quarter bridge strain using 4WFBXXXX. Initial gage factors are 2.10. FieldCal instructions for shunt calibration and zeroing are included.
Const nGs=8
Public BrBlkStrain(nGs), BrBlkmVPV(nGs)
Public BrBlkZero(nGs), GF_Init(nGs)
Public Load_FC_Result
Public ZC_Index, ZC_Reps, ZC_NVAvg, ZC_Mode
Public GF_Adj(nGs), CalOhms(nGs), SC_Index, SC_Reps, SC_NVAvg, SC_Mode
Alias BrBlkStrain(1)=G01_uS
Alias BrBlkStrain(2)=G02_uS
Alias BrBlkStrain(3)=G03_uS
Alias BrBlkStrain(4)=G04_uS
Alias BrBlkStrain(5)=G05_uS
Alias BrBlkStrain(6)=G06_uS
Alias BrBlkStrain(7)=G07_uS
Alias BrBlkStrain(8)=G08_uS
Dim i
DataTable(Main,True,-1)
DataInterval(0,1,Min,1)
Average(1,PanelDgC,FP2,False)
Average(nGs,BrBlkStrain(),IEEE4,False)
Average(nGs,BrBlkmVPV(),IEEE4,False)
EndTable
DataTable(FCal,NewFieldCal,100)
SampleFieldCal
EndTable
BeginProg
Move(GF_Init(),nGs,2.10,1)
Move(GF_Adj(),nGs,GF_Init(),nGs)
Load_FC_Result=LoadFieldCal(0)
Scan(1,Sec,0,0)
PanelTemp(PanelDgC,_60Hz)
If SC_Reps<=0 OR SC_Reps>nGs Then SC_Reps=1
If ZC_Reps<=0 OR ZC_Reps>nGs Then ZC_Reps=1
FieldCalStrain(13,BrBlkStrain(),SC_Reps,GF_Adj(),0,SC_Mode,CalOhms(),SC_Index,SC_NVAvg,GF_Init(),0)
FieldCalStrain(10,BrBlkmVPV(),ZC_Reps,0,BrBlkZero(),ZC_Mode,0,ZC_Index,ZC_NVAvg,0,BrBlkStrain())
CallTable(FCal)
BrFull(BrBlkmVPV(),nGs,mV7_5C,1,Vx1,3,2500,True,True,0,_60Hz,1.0,0.0)
StrainCalc(BrBlkStrain(),nGs,BrBlkmVPV(),BrBlkZero(),-1,GF_Adj(),0)
CallTable(Main)
NextScan
EndProg'778771
* Last updated by: TweeedleDum on 2/19/2011 @ 11:27 PM *
Thanks for the feedback, I will test that new code out this week.
Im trying to sample at 5-20 Hz, is this too fast? All channels have a fairly large signal to noise ratio. Eight 350 Ohm Strain Gauges are being used on rail joints to monitor stresses as locomotives travel over them.
Here is the code I am using for reference:
Const Gs=8 'Amount of Gauges
Public StrainGauge(nGs), StrainGaugemVPV(nGs)'Defining Strain Gauges and the milli volts per volt measurement
Public GaugeZero(nGs), GF_Init(nGs)
Public Load_FC_Result, GF_Adj(nGs), CalOhms(nGs)
Public ZC_Index, ZC_Reps, ZC_NVAvg, ZC_Mode
Public SC_Index, SC_Reps, SC_NVAvg, SC_Mode
Alias StrainGauge(1)=G01_uS : Alias StrainGauge(2)=G02_uS
: Alias StrainGauge(3)=G03_uS : Alias StrainGauge(4)=G04_uS
Alias StrainGauge(5)=G05_uS : Alias StrainGauge(6)=G06_uS
: Alias StrainGauge(7)=G07_uS : Alias StrainGauge(8)=G08_uS
Dim i
DataTable(Main_Strain,True,-1)
DataInterval(0,0,mSec,1)
DataEvent(10,1,1,10)
CardOut(0,-1)
Sample(nGs,StrainGauge(),IEEE4)
EndTable
DataTable(FCal,NewFieldCal,100)
SampleFieldCal
EndTable
BeginProg Move(GF_Init(),nGs,2.30,1)
Move(GF_Adj(),nGs,GF_Init(),nGs)
Load_FC_Result=LoadFieldCal(0)
Scan(50,mSec,0,0)
If SC_Reps<=0 OR SC_Reps>nGs Then SC_Reps=1
If ZC_Reps<=0 OR ZC_Reps>nGs Then ZC_Reps=1
FieldCalStrain(13,StrainGauge(),SC_Reps,GF_Adj(),0,SC_Mode,CalOhms(),SC_Index,SC_NVAvg,GF_Init(),0) FieldCalStrain(10,StrainGaugemVPV(),ZC_Reps,0,GaugeZero(),ZC_Mode,0,ZC_Index,ZC_NVAvg,0,StrainGauge())
CallTable(FCal)
BrFull(StrainGaugemVPV(),nGs,mv2500C,1,Vx1,3,2500,True,True,0,250,1.0,0.0)
StrainCalc(StrainGauge(),nGs,StrainGaugemVPV(),GaugeZero(),-1,GF_Adj(),0)
CallTable(Main_Strain)
NextScan
EndProg
* Last updated by: jakewagner on 3/3/2011 @ 4:26 PM *
Yes. But you need to be careful in not overloading the excitation outputs by using too high a drive voltage and with too low a bridge resistance which is why Shortcut is limiting this."
So it automatically limits this?
No, it just uses rather conservative/simple rules in allocating sensors and excitation channels, i.e. one sensor per excitation channel. As others said you can use more sensors than this per channel if the bridge resistances is high enough or you limit the excitation voltage.
The full-length welding flange allows reliable coupling of the gauge to the structural member and prevents misalignment of the endpoints of the gauge, a common problem with other strain gauges. You may take a look of https://tacunasystems.com/ where you also get help related to CR1000 Strain Gauge.