Electrical Balancing a Cantilevered Beam used as a Torque Sensor | LabJack
 

Electrical Balancing a Cantilevered Beam used as a Torque Sensor

11 posts / 0 new
Last post
Robert W. Welch
Robert W. Welch's picture
Electrical Balancing a Cantilevered Beam used as a Torque Sensor

Inherited this piece of legacy equipment called a Oscillating Disc Rheometer which measures the change in viscosity of rubber as it vulcanizes under isothermal conditions (325F). The torque sensor is a cantilevered beam that is driven on one end by a rod on a eccentric cam and the other end is allowed to rotate about an axis. As the rubber vulcanizes, its viscosity increases and applies a greater stiffness to the rotational axis and strains the gages on the cantilevered arm.

Since this is an old piece of equipment, there is no manual or electrical schematic available. I have been able to meter out the leads on the sensor and test the load conditions in the + & - directions. The schematic somewhat resembles a wheatstone bridge but not in the classical diagram, there are also two fixed resistances in the bridge circuit. A schematic of the bridge circuit is in the attached JPG.

I am wishing to balance the bridge. I believe I need to attach a couple resistors parallel to R1 and R6 and maybe some others, but am only a polymer chemist and not an EE, and not sure how to proceed. Any help would be appreciated.

LabJack Support
labjack support's picture
The diagram you sent over is

The diagram you sent over is close to being either a temperature compensated half-bridge or a full-bridge, but R3 and R4  are out of place for either one.  Can you go though and verify your diagram once more?

Robert W. Welch
Robert W. Welch's picture
Thanks for you help.

Thanks for you help.

The sensor elements are encapsulated so visual verification is not possible. The diagram was developed by pinning out the wires coming from the sensor. I will verify the diagram and get back to you. I did notice that L1 (Load case 1) when applied in an upward (positive loading) the resistance for R3 and R4 react with a decreased resistance, but when L1 is downwardly applied the resistance for R2 and R5 react with an increased resistance. Don't know if that is helpful info or not, but I guessed they were pairs of strain gages on opposite sides of the cantilevered beam.  

Something else I found out today, when I installed the sensor into the machine and heated it up to the operational temperature and remeasured the resistances with the same DMM, they were a few ohms higher than when the sensor was at room temperature. Could this suggest that the sensor is not temperature compensated?

LabJack Support
labjack support's picture
I would assume the bridge is

I would assume the bridge is temperature compensated.  The Rehometer would tend to heat up during a test (I assume) and it looks like it has all the right parts.  There might also be the possibility they are doing some off-axis stress compensation, but that is a complete guess.  It's going to be tough find out exactly is going on. 

We have one other fellow here who is well-versed in bridge topology.  He might have some ideas.  Unfortunately he is out for the week.  We can run it by him if we don't come to any conclusions.

Are you trying to trim out the bridge to get a readout to display properly?  Can you read the bridge voltage into software and compensate there?

Robert W. Welch
Robert W. Welch's picture
Maybe the additional

Maybe the additional spreadsheet will provide additional insight into the circuit topology. In it shows the Load/Resistance responses and the resistance changes wrt temperature

Yes, I would like to trim out and balance the bridge. I believe there should be a resistor across R1 and another across R6 to equal out the current on each side of the VG and perhaps a voltage divider across the VG with the shunted leg going to VS-? I've been reading up on bridge circuits and am trying to master the calculations.

I have a U6 pro and a LJTick-In Amp and am using the DAQ Factory Starter version and will try to use the software to compensate for the unbalanced condition.

Thanks again.

File Attachment: 
LabJack Support
labjack support's picture
My guess it that your actual

My guess it that your actual bridge is made up of R2, R3, R4, and R5.  Draw the diamond with:

R3 upper left
R2 upper right
R5 lower left
R4 lower right

Now red/black is your +/- excitation and green/white is your +/- signal where the signal will positively increase with force in the L1 direction.

This a typical looking full bridge.  Such a bridge inherently rejects tempco errors because the tempco effects are the same on all 4 elements and thus cancels out.

I'm guessing that R6 is a shunt cal resistor, and I'm not sure what R1 is but perhaps it is a strain gage not subjected to strain that could be used for some advanced temperature compensation technique.  I suggest you just move forward using the full bridge described above with R2-R5 and don't use R1 & R6 for now.  See post #13 here for a tutorial to get started:

https://forums.labjack.com/index.php?showtopic=4376

Use the U6 directly, with no LJTIA, and start with LJLogUD per the tutorial.  Actually, though, you might want to use Vref from the LJTIA as your excitation source, so connect the LJTIA to some unused terminal block to power it.

Balancing:  If using the standard simplified bridge equations, it is true that they assume the bridge is balanced, but the errors due to typical unbalance are typically negligible compared to other errors in your system.  Also, if you try to balance by adding a potentiometer, that will typically make temperature behavior poor because the pot has a high tempco and that tempco is not inherently cancelled out.  I suggest you just subtract any offset in software.

Robert W. Welch
Robert W. Welch's picture
Guys, you are a lifesaver!

Guys, you are a lifesaver!

The rearranged circuit worked great and is temperature compensated. I was able to use the software to zero out the bridge.

I do have another request. On this same equipment, I want to take a reading at the maximum swing of the arc. There are 2 magnetic reed switches 180 degrees apart and set to close by a rotating magnet coincidental with the max arc. I am running the two reed switches in parallel thru the FIO0. In my program I query the status of these switches at 0.01 sec. as digital I/O and when they are closed, I read the Torque sensor. The problem is, the switches should close predictably at 100 CPM and do so when I check them with a DMM on audible. The switches do not close predictably when my program is invoked. I wonder if I could run a small voltage thru the switches from the DAC0 to produce a definite digital input? I was reluctant to try this until I measured or knew the current ( I would assume it is very small). 

Any guidance?

Thanks again.

LabJack Support
labjack support's picture
You want to connect one side

You want to connect one side of both switches to GND, and the other side of both switches to FIO0:

https://labjack.com/support/app-notes/open-collector-signals

Is your program looping every 0.01s?  I understand you have asked it to, but is it actually looping on time every time?

Are you getting too few closures, too many closures, or closures at the wrong time?

Try going into the test panel in LJControlPanel and enable Counter0 on FIO0 (pinoffset=0 with no timers enabled).  Now move your system and see if you get the correct number of counts.

Robert W. Welch
Robert W. Welch's picture
Using the counter suggested,

Using the counter suggested, I recorded 198 closures in 1 minute. I tested each switch independently and got the same 198 closures. my timing was not entirely precise as I have to physically flip the motor switch and there may be a slight lag from switching on the motor until the first closure is counted.

With the motor specd. at 100 CPM and I verified that with by placing my finger on the flywheel rotor and physically counting the passes, it seems the switch is bouncing at twice per closure. I suppose I could wire in an RC circuit to delay the bounce or I can live with it and take the two closures as two data points and two torque readings. Initially, I think I'll live with the two data points per closure and can add the RC circuit later if I want to reduce the total data count.

In my program, there is a variable "SwitchStatus", as a Digital Input that detects when the switch is closed. When the switch is closed then another variable, "Torque" is read and logged. Below is the program listing: It is only a few lines and with a 0.1 delay, should reset well before the 100 CPM rotor cycle. however, using this program, I can watch the switch open and close and it does not close on a predictable cycle. Any suggestions? Thanks again.

while(1)
      if(SwitchStatus[0]) // Switch is made
      read(Torque)
      read(SwitchStatus[0])
   endif
      delay(0.1)
endwhile

LabJack Support
labjack support's picture
My first inclination is to

My first inclination is to use the counter with debounce mode. With debounce mode the LabJack will ignore any edges within a specified amount of time after counting an edge. You could also try adding a pullup resistor to pull the line high more quickly. 

Robert W. Welch
Robert W. Welch's picture
Dear Dr. LabJack,

Dear Dr. LabJack,

Went with your 1st inclination and made the switch a counter, got 300 counts/minute. I built the RC circuit per the APP Note which calmed the counts. When I hooked it to the ODR, I expected 100 counts/minute and recorded 100 counts/minute. Exactly right!

I just need to put it all together and I can begin testing.

The interesting backstory is from the company that rebuilds these things, they told me, only their company could convert this equipment from analog to digital. For $25K, of course.

Thanks again.