Strain gauge load cell tests in a DIY climate chamber


#1

[This thread was split up from Temperature compensation for HX711 and / or load cell?]

Since the temperature is not very varying these days i did some hacking this weekend.
I installed two scales in an old freezer and put also 2 lightbulbs for heating inside (30W heating-power was enough). Now i can vary the temp between -20 and +40 °C.

You can see the correlation clearly, the scale is unloaded with no weight on it, just the cell.
https://thingspeak.com/apps/plugins/278156
https://thingspeak.com/apps/plugins/278157

Next steps.
I will put weight on it.
I will just put the electronic inside the freezer and the cell outside.
I will switch that - cell inside, electronic outside.
Then we can see, which part is causing the drift. My guess will be the HX711, since the cell should have a temp. compensation on board.

Any other ideas are highly recommended.


Use realtime systems for reading digital sensors
Temperature compensation for HX711 and / or load cell?
Temperature compensation for HX711 and / or load cell?
Use realtime systems for reading digital sensors
#2

Dear Martin,

we always had planned to ramp up such a setup you apparently did right now. Very cool, thanks! Actually, we talked with @tiz (btw. he is also a Martin) about the very same thing you are showing us right now, a DIY climate chamber – would it actually be the correct phrase for it?

Good luck to you and all others who might join here to draw further conclusions from that and to improve our shared knowledge to improve the respective implementations. Thanks again for going up there and keep up the spirit!

Unfortunately, I’m not that much of a hardware guy to be able to give reasonable recommendations about that topic. Saying that, I’d like to encourage all others who feel ready to contribute valuable things here.

Cheers,
Andreas.


P.S.: Feel free to start an appropriate thread named “DIY climate chamber” or similar, where specific details about this endeavor could be discussed related to the temperate compensation thing we are coming from. [edit: @clemens did already, thanks!]


#4

Very cool, ahm, hot! :-) There are a lot of assumptions regarding load cells and temperature. So it would be really nice to have some facts. What is the influence of

  • the load cell
  • the cable
  • the electronic part

For testing it would be also nice to have the cable outside the climate chamber or have load cell and electronics at a constant temperature but heat up the cable e.g. with a bit hot air from one side only to simulate sun radiation.

Would it be possible to justify your scale first! A difference from 25 000 to 50 000 can mean 50 g so neglectable or 5 000 g so a significant change! Without this calibration the raw values are a bit useless or at least less meaningfull. :-)


#5

Hi,
thanks for the cheering words, it is nice to see that my work is also interesting to others and may help you to build better scales. I will open an thread named “DIY climate chamber”, the setup is very simple.

First of all, i will also do all measurements with a ADS1232. to see the difference between the HX711 and the ADS1232. But it will take a while, i just ordered the parts, and delivery will take 6-8 weeks :)

I will do the test with a calibrated weight of 20kg. Then we will see how much the delta in raw-values means delta in weight. With both datasets, we can justify the scale offline.
I keep you informed.


#6

Thank you so much! Personally (as a software guy), I’d be interested which ADS123x driver would be used these days when doing things on Arduino, as I am guessing you are also doing?

The last time I heard from the community, the arduino/libraries/ADS1231 at master · hiveeyes/arduino · GitHub was en vogue and the ESP8266 was becoming a thing, so we have been able to contribute Fix compilation errors for ADS1231 library on ESP8266 · hiveeyes/arduino@e123247 · GitHub there.

However, I don’t actually know which hardware you are using with your setup, but …

ah! Are you still running the same setup? If so, you won’t probably care about Arduino drivers anyway.

However, I would like to encourage you to do so! We moved the relevant discussion to Use realtime systems for reading values from digital sensors in order to reduce distraction by these topics here.


Use realtime systems for reading digital sensors
#9

I have the first data with loaded cell – the heating phase is still in progress, I have data up to +15°C

  1. A hysteresis-effect is clearly visible (upper right plot): The cell itself or more likely the cooling/heating gradient is too big. Temperature-Sensor, load-cell and electronics doesn’t have the same temperature. Less heating power will slow the heating gradient, but I can’t change the cooling part. But since the correlation is very linear, probably one steady state point at -20°C will be enough. After the heating phase is done (40°C is reached) it turn off the heating and let the system cool down by its own. This is a very slow gradient, let’s see what’s happening.

  2. I played with the numbers, here my thoughts,results.
    3 possible ways to get from the raw-data to the actual weight in grams.
    (1) Classic way data is transformed with one scalar offset and one ratio value.
    (2) like (1), but with a correction-term
    (3) both, the offset and the ratio is a linear function of the temperatur

The results :

On the left side the cell is unloaded, right side loaded with 20000g.
first line -> raw value vs. temperatur
second line -> weight calculated with formula (1)
third line -> weight calculated with formula (2)
fourth line -> weight calculated with formula (3)

Comparing (2) and (3), shows, formula (3) is the better way.
I also tried a polynom third-order, but this doesn’t get better results. So keep it as simple as possible, a linear function is doing the job quite good.

todo :

  1. Get rid of the hysteresis coming from the gap between the temperatures (slower down the temperature-gradient)
  2. Which part is causing the temperature dependencies? Subject : “put cell, electronics and cable separately outside the freezer”
  3. ADS1232
  4. Maybe i find an other test-weight with 40kg to check the linearity in terms of load.

So far so good - i will keep you informed


Introduction to MicroPython
Observing weight drift with my setup
#10

Great research and nice findings! A temperature conpensated fluctuation of ± 20 g over a range from -18 to 25 °C is awesome.

Also interesting that measurements with no load are not so reliable as with a certain load. But this reflects also the most datasheets.

It’s your known setup, a Bosche H30A with HX711 on a Raspberry Pi Zero, isn’t it?


#11

Yes, this is my setup.


#15

Hi there,

I just found the post Low Budget Environmental Chamber - Product Testing - Electrical Engineering Stack Exchange interesting to read.

Enjoy and keep up the spirit.

Cheers,
Andreas.

P.S.: I will make this post into a Wiki article. If you want to collect further resources here, feel free to edit as appropriate.


#16

Hi,
regarding the question : Which part is causing the temperature dependencies?

I wasn’t expecting that, bit it is clearly the load cell! A bit disapointing, since i thought the BOSCHE Cells are better. cell is unloaded, i have 3 more sets of scales one by one is going in the chamber the next days.

Wer_hat_den_Temp_Gang


#17

What exactly does here the ordinate show, which unit and scaling?


#18

In the previous diagram the ordinate shows the raw value of the HX711.

Here in grams :

Wer_hat_den_Temp_Gang_Celsius

I just have measurements with the cell unloaded, which is not optimal (since there should always be a minimum load on the cell), but still, you clearly see :
The temperature-dependency is not coming from the HX711!

I am disappointed, I thought Bosche cells are better.
I probably will do the measurments also with loaded cell, but i don’t know when, since i don’t have a lot of time right now.
I asked Bosche, but i just got the test specs and the norm (Metrological regulation for load cells) and i don’t understand the reading :)
r060-e00(1).pdf (1006,3 KB)


#19

No, look at Bosche’s H30A datasheet, they clearly state, that they don’t require a minimum load (Mindestvorlast (E min) = 0 ), so for this load cell it is a legitimate load case. Second, this is how you can measure the temperature drift of zero (aka offset) - also needed as Bosche unfortunately does not state these drifts but instead only refers to the OIML… 8(

Better than what?

Your results are good: over a temperature range of about 58 K (-20…+38°C) the scale shows an abs. offset change of about 520 grams (could be shown as a differential error of ±260g). This is 9g / K error (for comparision: @thias ’ H30A shows about 8,7g / K). These results were achieved while stressing the cell with an ever wider temperature range than specified as compensated range (to -20 rather than to -10°C) - and no additional non-linearity has been observed. This also remains a good result.

What is the Emax for this measured H30A cell, 150 or 200kg ?


#20

It is a 100kg Cell, so the verification interval is 100kg/3000=33grams.

I am not sure if interpret that right, but in the linked PDF
5.5.1.1 Temperature limits
Excluding temperature effects on minimum dead load
output, the load cell shall perform within the limits of
error in 5.1.1 over the temperature range of – 10 °C to

  • 40 °C, unless otherwise specified as in 5.5.1.2 below.

The error is defined in 5.1.1, which is about one verification interval (Table 5 Maximum permissible errors (mpe) on pattern evaluation), so max 33grams over the temperature rang of -10 to +40°C.

This is my interpretation, i am not sure if i understand that correct.


#21

Now, all 4 scales are calibrated, the difference between the setups is not negligible.
So without individual temperature compensation - at least for me - the accuracy with the H40A is not sufficient!

Load= 20kg
first plot : without temperature compensation offset and ratio calculated @ 15°C
second plot : with temp. comp. offset(T) and ratio (T)
third plot : same as second, but y-axes is zoomed to see the actual error


#22

What are the 4 scales / cells / setups?


#23

HX711 and Bosche H40A.


#24

Sorry to bother you again, @zmaier. ;-) You have in the first graph 4 lines, purple, yellow, orange and blue, this are the same setups? All with a HX711 and a Bosche H40?? So why has the purple one nearly no temperature effect and the yellow one such a big? I fear I do not understand the difference of the 4 “settings”. May you clarify this, thanks!

Is the only difference that you are using different load cells (but all H40 from Bosche with the same max. weight?).


#25

The 4 lines are 4 setups each with a HX711 and a H40A-100kg.
Why setup 4 is good, all others not, i don’t know.
I have no clue.


#26

Can you imagine what was special / other on the purple setup? Other power source, flux cleaned vs. not cleaned? screw terminals vs. cable soldered? Cut / shorted cable? Really no difference??! The purple setup is great. So in case we can find “the error” – and it is not inside the Bosche H40 this would be great! ;-) Many thanks again for the effort and time you spent!