More on load cell temperature compensation

Hi Adam ! Great to learn that somebody is looking at what I have done. I am not sure many people are interested and indeed temperature compensation is a “nice to have” feature which doesn’t exist in most commercial scales. I was actually more motivated by finding a solution to this engineering problem than by improving the weight measure precision…

1 Like

Hi Henri,

I got referred to your load cell temperature compensation post on Hiveeyes, when I was exploring a post considering thermal drift management of load cells in combination with the HX711 ADC at the Arduino Forum.

In your example is shown that your approach reduced the thermal drift of a Bosch HX40 load cell by nearly a factor 8 to only 2 g (1 sigma over a 3 day period) which I think is a very good result indeed. If I understand correct the Bosch HX40 uses 4 strain gages (2 in compression and 2 in tensile mode:Single point load cell H40A | BOSCHE) in a full Wheatstone bridge and as such the load cells response is (partly) temperature compensated.

However, in your application you want to stretch the load cell into a high resolution range where its response shows some remaining temperature dependency in the order of a few g per K. Given the temperature dependency, derived by calibration, and the load cell temperature you should be able to correct for thermal variation improving the measurement resolution of the HX40. In your application you’ve measured the temperature of the environment rather than the load cell itself and you state that the load cell temperature won’t keep up instantly with environmental temperature variations because of its thermal mass and the limited heat-exchange with its environment.

To overcome this, you propose a thermal ‘model’ that estimates the load cell temperature response when it is exposed to a varying environmental temperature. A sophisticated but also elaborate approach used in various high accuracy systems where accuracy is valued above added complexity.

When I analyzed your data-file I was surprised to notice that according to your model the estimated load cell temperature is at most deviating 0.25 deg C from the ambient temperature during an ambient temperature variation of about 10 deg C per 12 hours. In your example the calculating effort to derive the load cells temperature from the ambient temperature variation with the suggested model adds up to a max correction of only 1 g compared to a more simple temperature correction using the ambient temperature.

Only if the ambient temperature variations are steeper or the delay time of the load cell is higher, the additional correction by the model will get significant with respect to your variation-goal of about 2 g. So this questions why to use the elaborate calculations which barely helps to improve the thermal drift correction, and in case it would why don’t put a temperature sensor onto the load cell directly so you obtain the load cells temperature by measurement instead of additional and elaborate calculations?

Despite this, I think, for this case, the thermal correction is quite useful and interesting as it shows to be able to reduce the measurement variation to 2 g (1 sigma over a 3 day period), and if I understand from your LOADCELL_DIVIDER value the measurement range of the H40A was 100 kg, you’ve achieved a noise level of only 20 ppm. This is at least 2-3 orders better as suggested achievable by National Instruments (How Is Temperature Affecting Your Strain Measurement Accuracy? - NI).

Your post inspired me in trying to extend the measurement range of some cheep halve-bridge load cells but this attempt failed due to higher drift values exceeding the thermal related drift see graph below, and for that I think the Bosch H40A load cells seem more suited.

I hope this may of be of some help for those who want to extend the normal operation range of load cells for their specific applications.

Regards,
Geert

2 Likes

Bonjour Geert,

I apologize because for some reasons, I didn’t get the notification about your post and therefore haven’t had a chance to respond earlier. Very sorry for that.

With my limited knowledge in physics, I believe that all what you say is perfectly correct and there is obviously room for improvement. But I also believe that this discussion is very much for “techies” like you and me but probably much less relevant for ordinary people that just want a scale which works.

I must confess that in the day to day life, temperature compensation is not a “must have” feature and cases where temperature related drift is a problem are not very usual. But it is was a nice technical topic to tackle and I enjoyed the time I spent on it as well as enjoy reading all your perfectly relevant and precise technical comments.

All the best ! Henri

PS: it good to get a confirmation that the cheap bathroom type of load scales are not suited for beehive scales.

Bonjour Henri,

Thanks for your response.

Sorry for not being clear enough, but is was not my intention to state that the thermal compensation is not required… in contrary I’m convinced that thermal compensation is of high significance to be able to push the physical limits of Loadcells as you, and ordinary people, tend to do in your application (long term stability of a few grams at a total range of 100 kg, exposed to ambient-temperature fluctuations).

And indeed it may become a too detailed technical discussion for the “non techies”, but my remark was that there are more compensation options to chose from, and, unfortunate, it requires some skills to choose wisely. I think your work is outstanding and is capable to compensate for dynamic thermal effects, which requires some skills to implement correctly.

But, as you showed in your example, it only adds stability compared to stationary, less complex, thermal compensation if the thermal dynamic effects are substantial high. I realize now that my alternative to your approach by repositioning the temperature sensor at the loadcell is also not really self explaining as it takes some insights how to mount a sensor as close as possible to, but without exposing mechanical strain to the loadcell to ensure stable loadcells readings.

All of this requires some skills to be able to implement it correctly but if you keep in mind the variety of technologies which are implemented inside an industrial-scale, that meets your requirements and achievement, are of much higher level of complexity and manifold (and thus expense) as we “techies” can imagine.

I’ve continued and partial succeeded to improve the noise/drift of the cheap/low-end loadcells but am not fully satisfied. Can you elaborate in more details on what hardware you achieved your outstanding results above, like type Bosche loadcell (including quality-grade) and accompanying data-acquisition-ADC (I’m using a HX711 green-board (cheap and brandless), which is also under suspicion for drift (my own experience but also found other posts)), and where to pursue them at acceptable expense?

Thanks in advance.
Regards, Geert

Bonjour Geert,
I am using Bosche H40 load cell and HX711 ADC for data acquisition (that I bought from SparkFun here). My results are probably a bit over optimized because during my tests the scale was in a closed box, with no direct sun shine on it. Also the load cell is only 100Kg capacity, which probably minimizes fluctuations versus 200Kg load cell.
If you happen to find a solution enabling to use the cheap bathroom scale type of load cells, that would be an incredible contribution. Keep us informed of your progress. Thanks ! Henri

I don’t think there is a solution for the bathroom scale sensors. The reason is: Not only changes in temperature are responsible for the fluctuate output but also creep, an unforeseeable and unpredictable change in weight based on different factors e.g. bathroom scale sensors are not designed for continuous load and deforming (not reversible).

But it’s OT here in this thread and we can discuss it on Scales with bathroom load sensors

Hi Clemens,
Thanks for spearing me from another feasibility-quest of cheap loadcells ;-).
However, for me they could be acceptable because I may be a strange bee in the hive and it would be fair to tell this upfront. My interest is not weighing bee’s but weighing beer, and more specific during its fermentation. During this process honey (or (grain)sugars) is converted into alcohol and carbon dioxide which leaves my ‘hive’ (fermentation-vessel) as a gas. The loss of carbon dioxide per fermentation-batch amounts in the order of 5-10% by weight and for me this an important indicator how the fermentation-process is progressing. For this I’m looking for a weighing scale that can weigh up to 100 kg with drift/variation below 0.05 (app 50 g) over a week period exposed to limited ambient variations in humidity (40 - 80) and temperature (5-10 C). From all the Hiveyees-stories I read so far I understand my requirements are peanuts to the level what hiveeyes want to achieve. So actually I’m trying to ‘steal’ some of your hiveeyes-solutions for my application. But in exchange I’m willing to share some of my insights eventually including a measuring method which will exclude Seebeck thermal-electrical parasitic disturbance in loadcell circuits. I’m not sure for bee’s but some ant-colonies do cooperate with other organisms to the benefit of both, and maybe this can work also for Hiveeyes and Brewies species. So let’s find out.
Rather to summarize than to repeat previous work I understand that you in a way were involved in a comparison of various cheap(er) single load cells activity/topic started by Juergen 6.5 years ago where you showed the Bosche H30 had the best stability performance of 20 g for a 200 kg range (0.01%)(Comparison of Different Load Cells for a 4-Point Scale). Futhermore, in this post above Henri proved to be able to reduce the variation down to only 10 g for a 200 kg range scale (0.005%) by additional temperature compensation. From other topics, concerning the loadcells stability, I understand there is no clear way yet to qualify the stability from the loadcells specification-sheet. Considering the Thermal drift and Creep specification in Juergen’s overview, I would conclude that all observed loadcell variation are more or less within spec although they may not meet your requirements. On the other hand the more expensive Bosche H30/H40 fits your requirements but I couldn’t find any specification which can confirm this. Do you have by any chance the specification-sheet for the Bosche H30/H40 wrt to Thermal drift and Creep? According to the specification I obtained for the cheap bathroom loadcells, they may perform up to at least 1 order worse, so chances of meeting your requirement are close to zero as you also concluded. I wonder if you’re requirements will bound you to expensive loadcells due to their superior performance, apart from the make you own scale joy, wouldn’t it be cheaper to pursue a balance from OpenBeeLab http://www.openhivescale.org/? Did anyone tried the physical tara-ing option, remove weigh → zero reading → replace weigh, to exclude drift effects which opens the path for cheap/inferior loadcells?
Best regards,
Geert

Hi all,
I found your post after some research about the strange behaviour of load cells.
Your analysis is very intresting.
But, I built a Scale with the economic load cells (GitHub - Slaykristian/ArniUino).
Errors are present and as you studied, there is a conclamated temperature relation.
In particular, I noted that variations depending by the action of value variation (not depending by the Celsius degrees) more that by the own final value.
I’m not an electrical engineer, but a civil engineer… But some of my colleagues that are from the first category, suggest me a solution for the error copensation.
They said that, because load cells are cheapest than yours, I can add 4 load cells with another HX711 and load these by a note weight, i.e. 2kg.
Every 30 min., when a new data read it starts, the scale reads data from the 2kg loaded group of cells, evaluate the difference due by the error, and use this parameter in order to compense the weight reading of the others 4 load cells under the hive.
What do you think about this? It could be a different solution, suitable for more cheap load cells solutions?

Thank you.

Christian

Bonjour Christian,
It’s always interesting to test new approaches but based on the randomness of the errors you get with cheap load cells, I doubt that two sets of such load cells will drift the same way. It you try, please let us know and have fun !
-Henri

I would try to implement a capacitor located on HX711 power input.
I hope to find a compensation of tension variations.
If it will not changes, I’ll try to reinvent the device by using a Bosche H40 cell.

Regards,

Christian

Hi Christian,

I Agree with Henri, the drift-tolerances of these load cells are too poor compared to the expected drift-limit in your application, that it is very likely you’ll end up with a non matching reference-weight drift compared to the beehive-weight drift.

Henri’s tests showed that even the ‘best known’ Single point Bosche H40E load cells, with for me still unknown drift specifications, but my guess having 1 order better drift tolerances as the cheap half-bridge bathroom-scale load cells, have a unique drift sensitivity and as a result these wouldn’t be suitable as a drift-reference without further calibration.
Despite my low expectations the proof is in the testing, which is of course up to you.

If you would go ahead, allow me to suggest to pick best half-bride load cells from a ‘dozen’ by calibration of sensitivity to weight and thermal drift. Best meaning: least deviation in weight sensitivity in combination with low drift sensitive and least deviation in drift behavior.

The benefit of the half-bridge load cells is that you can select the position of the load cells in the Wheatstone-bridge, for which you can compensate the individual load cell drift to obtain a less drift sensitive measurement system compared to the individual load cells.

I’m not a statistical engineer but I can recall that basic normal-distribution statistics suggest it takes a population of 100x to reduce the variation by 1 order so you probably need more like a gross than a dozen load cells to start with (100x 4 = 400 units), which all need to be calibrated on weight- and drift-sensitivity…
So the dilemma is if you’re either better off (in price and time) with the Bosche Single point load cells, or, since you’ll find multiple assembly possibilities, which you can use for other beehives.

Would be nice to read about your decision and progress-learnings.

Best regards,

Geert

Dear all,
At the end I search on this forum and I choose to follow your suggestions.
Maybe I’m wrong and newbie on this forum, but is not so easy to find a consumptive post with all the “strenghtness” and “weakness” of the different load cells.
The derive of the half bridge cells is very bad.
As Henri said, there are a lot of random measurements.
So.
I don’t like the solution with one single point load cell.
I would like to keep the solution with 2 parallel “bars” maybe made with alloy.
I read several post in this forum about czl601 load cells. So, I want to buy 2 pcs. 100kg each . But I don’t find a clear analysis about temperature effect (which says if the effect is high but compensable) and about the arduino solutions with them.

Ich betreibe eine BOB-Waage mit einer Bosche H30A Wägezelle seit 2 Monaten in einem Abstellraum um die Stabilität zu beobachten. Das Licht kommt von einem Nordfenster, die Temperaturschwankungen sind gering, die Feuchtigkeitsschwankungen kommen, wenn ich meine Wäsche zum Trocknen aufhänge oder es regnet.
Im Bild zeige ich die Messwerte vom 1. bis zum 29. Februar.

Die Gewichtsschwankungen ( 30 g ) bei Temperaturschwankung ( 8 °C ) sind so gering, dass es sich meiner Meinung nach nicht lohnt, über komplizierte Temperaturkompensation bei Bienenstöcken ( 30 kg ) nachzudenken.

1 Like

@didilamken, thanks for sharing your one month stability performance of your BOB with Bosche H30A.
@Slaykristian, Also Diedrich, shows a fair month-stability with the Bosche type load cells although I guess the ambient condition variation was reasonably mild compared to real outdoor conditions sure for my ambient in February ;-).

Concerning your ‘doubt’ about what selection criterion to maintain, I think this is indeed an issue and I think also an unexplored area at this forum. This forum presents at least some good performing Bosche Single point load cells, but strangely enough Bosche don’t share any specification on this performance on their website and their technical support either don’t know or play dumb.

Obviously we’re using the Load Cells way beyond their normal operation window wrt to accuracy/stability, so the specification and the one-off experience of Diedrich and Henri might be an indication but is no guarantee that you’ll end up with a stable BOB. As a consequence we have to figure out ourself a way out or accept the variation.

Regards, Geert

PS, I’m about to finish some additional test exploring the strange thermal drift of the half-bridge load cells as summarized in my post above from November last year. I think I have some evidence that the strange non-linearity in the observed thermal-drift is related to dehydration and hydration of the load cells when they are exposed to a thermal cycle to determine the thermal-drift. I’ll share my results on short notice.

Thank you for this answer.

I’m pretty shure that I’ll try with this solution
I would like to buy 2 CZL-601 100kg.

Anyway, as beekeeper, I think that differences of also max +/- 100g on the real weight, are not so big in an enviroment which variates its weight generally in winter so slowly. The real use of theese datas is parallel to understood the behavior during hney harvest, which a significative variation could be more also than 1,5-2kg per day.

My hardware config is made by an arduino uno… That’s is supplied by 5V from a 12V battery charged by a photovoltaic panel.

I think that there are a lot of repentine variation of current and potential during the solar charge that cause some apparently randomized measures. I said “apparently”, because the real thing is that sometime the variation is -1kg and after 30 min, comes back to original values.

Hi Christian,

If your tolerances are less strict you might have reasonable chance getting acceptable drifting single point load cells.
I’m not a beekeeper so I wonder if in winter the hive-weight is not varying that much, wouldn’t you desire for this higher resolution to detect something is going on in the hive…

Wrt the ‘peeks’ spike caused by voltage variation of your power supply: to read you load cells, do you use an ADC which has a voltage regulator on board and performs a ratio metrical measurement (so the Wheatstone response signal relative to the Wheatstone supply voltage)? These ADC should not be (too) sensitive for voltage variation of your power supply. For example the HX711 provides these features but I’m sure there are several alternatives.

Good luck with your project.

Best regards,

Geert

Thanks Geert for your reply.
Generally during the winter, in a good honeybees family, you can observe a normal consumption peak rate of storaged honey which is around 3Kg in late december/january and 2kg for the rest.
When you observe a variation of 1kg in defect, during a single week, you have to check if something bad happened or if the colony is passed away…
Is much more usefull, in order to have an idea of the colony’s health, to have a temperature/humidity sensor inside the hive. I have one for inside datas and one for the outside. The mass of honeybees migrating inside tha hive, sometimes on the right or left or upside or downside … it moves on continuosly. When the core of the colony migrates close to the sensor, the temperature is near to 25°C (with peak of 30°C as well, even if outside you have 0°C or less). When is quite far, temperature is around 21°-22°C. Humidity must be between 50-60% in any case. This is normal for these incredible creatures…
If suddendly these values drift more or less equal to the external datas, that’s could mean “death” or “big damages” on the colony.

About the weight, is much more usefull to reason on the average values variation during a certain interval of time, than a single point value.
So, I think that if you weight an Hive of honeybees, the beekeeper has to learn previously how to understand the datas.
Variations around +/- 0,1kg between 12h are not so relevant and significative.
When you collect datas during an entire day, you have to do some statistics, you can may use Matlab tools (thinkspeak has this feature). But all entire reasoning must be doing by considering the curves of variations between the average values in ex. during 3 days. In this way, you can do your interpreation and plan some eventually activities.

Hi Henri and others who may be interested,

The dissatisfying results of my temperature drift calibration shown in my post above (Nov 1st last year) and your hope to come with a solution to be able to control the creep/drift encouraged me to do some additional tests and I think I have a strong lead the creep/drift I observe is related to ambient humidity affecting the moisture content of the load cells. In a thread started by Gino (Observing weight drift with my setup), Gino came to the same conclusion however, since he was good with the result he seized further investigation on the origin of the creep/drift he observed. In that thread Andreas suggested solder-flux remains in combination with humidity-variation may cause a humidity dependent parasitic ‘short’-circuit between the HX711 pins, resulting in creep/drift at the ADC response. My temperature drift calibration for 8# load cells shows that only for 1 load cell the observed drift seems dominated by temperature, for all others temperature-drift is only a minor fraction of the total observed drift. In my set-up the elevated load cell temperature is realized by placing the load cells on a hot plate which can be heated about 30 degC above ambient in about 90 minutes. The temperature of the load cell is recorded with a thermocouple attached to the metal-housing of the load cell. To be able to measure the response of the half bridge load cell with the HX711 a reference load cell is electrically connected to realize a full Wheatstone bridge. Since the HX711 and this reference load cell are not on the hot-plate, but are exposed to fairly constant ambient conditions (temperature and humidity) during the calibration cycle (total about 180 min) the observed response should be related to the heated load cell, so ruling out ‘short’-cutting solder-flux remains between the HX711 pins (which were also cleaned) as the root cause. On the other hand the drift shown in the graph must somehow be related to the exposure of the thermal cycle! Since heating also affects the moisture content and is therefore a common used drying process. To investigate the load cells sensitivity for humidity it would be desirable to expose the load cell to a dryer ambient without changing the temperature. One way available for me was placing the load cell in a plastic bag containing some Silica Gel (the little bags that are used to control humidity in shipment boxes for electronics). The ambient conditions inside the bag are logged with an wireless Brifit logger which shows that the humidity inside is about 20 % lower compared the ambient outside the bag. The HX711 ADC response to load cell LC7 after placing it inside the bag is shown below:

Or when taking the load cell out of the bag after long term exposure in the bag:

Typical the full response evolves to a few ppm for a variation in RH of about 20 %%, However, it may take hours to reach an equilibrium. Note the load cells are in a 4x load cell Wheatstone-bridge configuration having a load-sensitivity of about 10 ppm/kg → a drift of 100 g for a variation of 20 % RH.

So it seems that the thermal cycle is indeed dehydrating the load cell to a level where its response drifts, and as a result I wondered, when repeating the thermal-cycle, the moister in the load cell comes to a equilibrium and as a result the humidity-drift during the thermal cycle is minimal. So for load cell LC5 inside the bag on top of the Hot-Plate, I repeated the thermal cycle 5x resulting in the following response cycles:



These graphs show for LC5 indeed the humidity-drift is decreasing with each thermal cycle, and after 5 thermal cycles within a period of 30 h, the response evolves to a mainly dominated thermal drift, of about 0.096 ppm/K, and a cycle hysteresis of max 0.3 ppm.

For as far checked, all load cells may show individual drift behavior.

Load cells actually are based on strain gauges and Google-ing on strain-gauges and humidity gives several hits (see Errors and compensations) that describes suppressing humidity sensitivity requires encapsulating the gauges by epoxy or polyurethane type enamel. Apparently the enamel layer is sufficient to meet the specifications but not meeting the bee-hive weighing requirements, and probably Bosche uses a better or thicker sealant.

Next to the cheap half scale load cells I also pursued a cheap single point load cell (Washing Can 100 kg) and checkt its humidity sensitivity to 20 % RH variation:

Also this load cell show some humidity-drift in the order of 0.5 ppm per 20 % RH variation. Note the load sensitivity is 20 ppm/kg.

To conclude some approaches to tackle the observed drift:

Since, from measurement point of view, the drift is causing an offset, it would be best to tare-ing the scale mechanically by removing the load. This way all drift-compensations (thermal and humidity) need not to be known in detail and are fully compensated, which I think is the basic method used in industrial scales. However, it is not simple/cheap to remove the load from the load cell to be able to tare the drift out of the measurement.
Since not the hive-weight but the change in weight is at stake here, one could consider to investigate if a balance weighing concept with a course balance feature and a fine-balancing load cell is more appropriate here. In this way the fine-balancing load cell will not need this high drift-specifications as for the scale, so the load cell is used well within its specification.
Finally the humidity sensitivity might be reduced by additional encapsulation or controlling humidity variation (load cell in enclosed environment with silica gel…). But this still will require thermal drift compensation.

Best regards,

Geert

3 Likes

Interesting numbers Geert / @GeHan, many thanks for the investigation! The Bosche H30 for instance is IP65 rated, so I always thought that humidity could not be any issue, in case the wire connection is protected and not “open”. Just for the records, full bridge load cell was …?

Hi Clemens,

The IPxy code, or Ingress Protection code, indicates how well the inside of en enclosure is protected against dust (index x) and water in liquid phase (index y). IPx5 code ensures:

image

Strain gauges and their adhesive seem to be hygroscopic for which they exchange water-molecules (gas phase) with the ambient-air to swell/shrink to an extend where they create a mechanical load on the strain gauges, see HBKworld site:

But the varying moisture content may also lead to a varying parasitic short-circuit of the strain gauge: see link.

The capacity to exchange water molecules with its environment is suppress by a sealant but only to an extend that the creep/drift meets the load cells’ specification which is at least 1 order less stringent as the requirement for some Hiveeyes to limit the creep/drift below 100 g on a 100 kg load for over a period of 1 month!! So my guess is the required Ingress Protection to fulfill this requirement is well beyond IP65. Nevertheless, since Bosche provides one of the most stable load cells, they may have a superior sealant or sealant design.
HBK offers a strain gauge sealant (55 Euro for 30 ml, sufficient for 250x gauges, I assume 50x load cells), but it is unclear if this sealant is sufficient effective to meet the above requirements.

The results presented last November were recorded with a Wheatstone bridge containing 2x half bridge 50 kg cheap bath-room scale load cells in parallel, and the later presented results were recorded with a Wheatstone bridge containing 4x half bridge 50 kg cheap bath-room scale load cells configured according:

They are so cheap they don’t have a name or type indication but unlike the Bosche load cells they came with a specification sheet:

The 100 kg Single Point load cell was … first of all cheap (16 Euro) secondly Chinese : type ff634, manufactured by Leinggg and sold by Wascan at amazon: Wascan, gewichtssensor, 100 kg parallelle straalweegschaal sensor voor elektronische weegcellen met hoge precisie voor elektronische weegschaal : Amazon.nl: Zakelijk, industrie & wetenschap

Regards,

Geert

1 Like