Torque measurement and slip rings.

Hi,

I need to measure the torque experienced on a rotating shaft. My plan is to use a strain gauge, and an op-amp circuit (maybe this one Load Cell with an Arduino) coupled with an arduino (maybe an Arduino mini pro).

Since the shaft is rotating I'm going to need some slip rings to get power and data to/from the strain gauge. The issue is what bits of my design should be on the shaft (rotating) and what bits should be external (fixed). I suspect that the slip rings are going to be electrically noisy, and I'm not sure it's going to be possible to get analogue signal from one side of the slip ring to the other with a reasonable degree of accuracy. I'm thinking that I'm going to have to mount the strain gauge, the op-amp circuit and the mini pro on the shaft, and then use the mini-pro to generate a signal (probably a pulse-width modulated signal) that can be passed over the slip ring to another arduino for logging and displaying. The advantages as I see it are that the mini-pro can do some basic processing (i.e. averaging and smoothing) of the signal before it get's passed over the slip ring.

What I'm not sure about is how easy it will be to get an analogue signal across a slip ring, I suspect that even a simple analogue voltage will be corrupted slightly by variations in the resistance, and a pulse width signal may get cut-short if there's ever a momentary break in the connection.
Maybe I should try transmitting data across the slip rings via serial port instead? or perhaps us a bluetooth modem to transmit a signal from the shaft, but I'd prefer not to do this because they're not cheap, and I'm going to need two of them.

Suggestions? ideas?

adafruit.com sells a number of nice slip ring .. whatevers. But yeah I agree that transmitting an analog signal across one would be a bad idea. Take a look at EasyTransfer Arduino Library « The Mind of Bill Porter for transmitting serial messages.

retrolefty has a few posts about the TM7709 for strain gauge use. The advantage over the INA125P is that it's more than just an amplifier; it converts the analog signal to a 24 bit digital signal (you would be stuck at the Arduino's 10 bit resolution without an additional A/D converter with the INA125P). Plus it's cheap. See Help with interfacing with pressure sensor - #2 by retrolefty - Sensors - Arduino Forum

adafruit.com sells a number of nice slip ring

Great tip - I had no idea you could actually buy miniature slip rings, I was planning to etch some rings onto a PCB and use some brushes from an old motor!

about the TM7709 for strain gauge use

Looks like another good idea, What extra components do I need to wire this up to a 4 way wheatstone bridge type strain gauge? I assume I just need very accurate/stable voltage source as an input to the bridge? is this correct or is there more to it?

Thanks

It includes a REFIN+ pin which means it is capable of scaling its output by referencing the excitation voltage of your gauge. On eBay there's also a module with this chip which includes decoupling caps; that should be all you need.

I have not used the TM7709 myself (plan to in the future) so take my words with a grain of salt. I have played with load cells and the INA125P however so I can say that that's not a good method if you want a high degree of resolution.

Consider just sending in power via the slip rings, and using a pair of nRF24L01+ transceivers to send the data out wirelessly? Or even, make it battery powered for an even simpler solution.

You don't say how fast it's going to be spinning but since you haven't mentioned mechanical issues I guess it's not going to be at extremely high RPM.

Thanks for all the suggestions. I'm thinking some adafruit sliprings, and a TM7709 on the strain guage.

For a first attempt I'll try passing the data out over the Serial port via the slip rings and use some simple checksum to confirm that the data passes the slip rings uncorrupted. If the slip rings aren't good enough for data, then I'll try the nRF24L01.

You don't say how fast it's going to be spinning

Average of about 80 rpm, maximum 120 rpm. I'm not envisaging any g-related issues.

You've completed this project?