Zero offset and gain on the RoboShop wheatstone amplifier.

Hello to all from a far too hot France.
I’m trying to measure force using the RoboShop 2 channel wheatstone shield, a RS 893-7398 50 kG bridge load cell and a uno.
I have looked for answers to my problem but not found any.
If I run the load_cell_test_procedure which involves jumpering the + and - inputs to +V I get the correct results - raw values of 668 and 5 so the shield is working.
When I connect the load cell the raw no load value is 448 and, using my highly calibrated thumb, quickly hits 668 at <10 kG so, OK, the gain is too high. I can cope with that.
I only want to measure positive force so I thought to adjust the fiddly little pot on the shield so I’d be starting with a no load near zero and would have the whole 600 odd bits for precision.
Fully clockwise I get a no load reading of 145 and a maximum (again at < 10 kG) of 394 so something’s running up against a stop.
So the maximum deflection ‘as supplied’ is 668 - 448 = 220 and with the pot set as low as it can go it’s
394 - 145 = 249, about the same.
Do I need to put a pot on one leg of the strain gauge to force the no load offset to zero (hope not) or can this be done in software ?
Thanks in advance …

600 bits of precision is rather a lot(!) 600 LSB's would be more likely.

I looked at the user manual, its basically is useless, not even a schematic - or is there a better one?

I laughed at the bit about using 0603 parts in the bessel filter making it easy to rework!!!

OK - semantics strike !
I did ask for help, you know.....
The UNO AD converter has a 1024 integer output so at 3.5 V I can expect an integer range in the 0 -700 region.
I'd like to use as many of these naughty non-bit integers as possible for precision but I seem only to have 200 odd to play with.
I don't understand why the shield returns 350 or so when the measured no load offset from the load cell is 1.4 mV. Sox 500 (basic shield gain) that's 740 mV so the shield should be returning something around 150.
Agreed re the user manual - absolutely useless hence my cry for help.

512 - 150 ~= 350? Sounds correct to me. It would read about 512 for true zero offset.

Dave,
Thanks for the input. Your post seems to have gone away !
I’m looking at the raw analogue O/P because (as far as I can see from the calibration code) all it does is apply offsets.
I don’t know what WheatstoneBridge.h is for and for the life of me I can’t find documentation of the parameters except that
WheatstoneBridge wsb_strain1(A0, 365, 675, 0, 1000);

A0 must be the A-D input, 365 is presumably the zero (balanced) level and 675 the maximum.
Changing the 365 to zero just changes the calculated force value

I’m pretty convinced now that when the bridge is balanced (no load, ideal O/P 0V) the shield applies an offset to give an O/P of 365 to allow for negative excursions.

I took my first post down because I realized that you need to change the gain resistors to get the best resolution your equipment can offer.

Your 50 kg load cell has a sensitivity of 20 mV/V, so with a 5v excitation (assumed...you could measure it) and 50 kg load, it will output +0.1 v.

Judging from the user manual, your shield has a default gain of 495 (from the 100 ohm gain resistors...you could look at them and verify).

So, if the system is calibrated to output 2.5v at zero load, then at a load of 2.5 kg, the shield will output 2.5v + 0.1v4952.5kg/50kg = 5 v (you could test this and also measure with DMM).

That is, with the above assumptions, it should clip at loads larger than 2.5 kg.

As you noticed, you can get slightly better span by reducing the zero load voltage, but you will still be limited to a small fraction of the 50 kg capacity.

To increase the max load at/near clipping to 50 kg (or whatever you desire less than 50), you need to change the gain resistors...which means you need to have smd soldering skills.

Thanks, Dave, and thanks very much for taking the trouble to read the strain gauge data sheet.

I had realised that I need to change the resistor. It would have been nice if this had been anticipated on the board design by providing some decent pads.
You're pretty much spot on with the current clipping load.
I suspect I'll end up cutting the resistor in half with a Dremel and soldering a proper one to its corpse.

It looks as if the shield uses the 3.5 V from the arduino to excite the gauge.
Unless I'm mistaken the arduino a-d converter is looking for 5V to give 0 - 1023 o/p so this drops the resolution to about 700. With the annoying 'centre zero' setup the resolution is again reduced to 350.

I've read the tutorial about using an external AREF but really don't want to go there.

The zero load offset of the gauge is 1.4 mV which is well within spec.
This will count less when I reduce the gain but I'm still stuck with a maximum resolution of 1 in 350 rather than the 1 in 1024 I could have if I could set zero load to zero volts.

I'm disappointed by the shield. I'd guess that most users, like me, want to measure only positive force.

Bad design using a smd for the gain - the thought of trying to change the Bessel filter - to quote the manual
'The filter can easily be adjusted by replacing the resistor values (R1_1, R1_2, R2_1 and
R2_2) and capacitor values (C1_1, C1_2, C2_1 and C2_2)' makes me laugh.

Bad design that the excitation voltage is 3.5

Bad design that the pot sets only the centre voltage rather than allowing the zero load to be set to give 0V o/p

It is a pretty blue colour though.....

Incidentally anyone trying to use this type of load cell - beware !
There's a pip in the middle of the active 'piston'. Applying load to this produces unpredictable results - it needs to be used only for centring the load applying element.
I discovered this during the highly technical process of poking it with a Sharpie !

You could get nearly the full 50 kg range of the load cell using the HX711 and its Channel B with gain of 32.

Dave,
Thanks again.
I only wish I'd found this before.
Steve