Connect with us

Load cell + hx711 = drifting value

Discussion in 'General Electronics Discussion' started by mikgol, May 22, 2016.

Scroll to continue with content
  1. mikgol


    Jul 6, 2013
    Hi there,

    I'm using a load cell (TAL220 10kg) and a HX711 with an Arduino to measure weight.

    I'm using the "HX711.h" Arduino library to read the values.

    Over time, the value drifts away and the device needs to be tare'd again. In my case, it drifts from 0.5 kg to 0.9 kg in a matter of minutes.

    I need it to not drift - I assumed that a load cell worked in a way where I could tare it and let it run for weeks and still get an accurate weight (or at least a stable value).

    Is the drift because of some software rounding thing in the library, or is it just not realistic to expect a load cell to not drift and it's simply not within the laws of physics on how they work?

    I'm hoping it's software, otherwise it's back to the drawing board with my project (it needs to stay on all the time and detect water level).
  2. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    Jan 21, 2010
    There are many reasons for drift. It could be:

    • The circuit is very sensitive to the supply voltage and that is fluctuating.
    • The sensor is temperature dependent and this is either varying or current through it is causing self-heating.
    • You have an error in your code.
    • Your ADC is not stable (it could be an unstable reference -- do you have a voltage reference or are you using the supply).
    • Your circuit is picking up noise and this is being seen as a weight on the cell.
    • You're not using the cell correctly.
    • There is some mechanical issue that is preventing free movement of something that results in a residual load left on the cell.
    Other people could probably come up with more.

    In short, you need to determine what the issue is and what you can do about it.

    A simple test is to display the raw ADC output while measuring the input to make sure that your reading tracks the ADC value and that the ADC value tracks the input voltage and that the input voltage tracks the load. This will point you at what is likely to be the value which is drifting and thus alloww you to concentrate on that particular part of your circuit.
    twister likes this.
  3. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    And it would immensely helpful if you were to post a complete schematic, including the load cell connections and how you zero-out the load cell and adjust its sensitivity (calibration).
  4. mikgol


    Jul 6, 2013
    Cheers for the replies guys.

    I appreciate the comprehensive list of what could be causing it Steve, especially the suggestion to try raw values - great idea! At least I can eliminate my theory about a software rounding error. I'll give that a go.

    Hevans1944, load cells have 4 wires, that feed into the HX711 board to amplify the tiny voltage changes. Here is a schematic:

    ... regarding calibrating them etc. there are some great youtube video's. I highly recommend a load cell if you need to measure weight in one of your future projects (although maybe for not a purpose like in my project - time will tell, but I will post my findings here to propagate load cell knowledge on the Internet)

    ... anyways, the scale works remarkably well (I am testing with water - 1 litre = 1KG), I guess I was hoping to hear some kind of physics explanation on how load cells work that would explain why it's not physically possible within the realms of this universe for load cells like this to hold a constant value for a constant weight. I guess Im being lazy and will have to google that one myself :)
  5. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    I guess you missed my point. I know how to hook up a load cell, how to provide a balance circuit to zero the load cell output, how to provide a circuit that allows the load cell output to be calibrated, and how to condition the load cell output prior to application to an A/D converter, in this case your HX711.

    What I don't know is whether you know how to properly do all those things. The link you posted does not inform me of that. It leads instead to a Google search result of using the string "hx711 schematic" for the search parameters. On the results page are lots of schematics showing how to interface the HX11. What I would like to know is how YOU interfaced the TAL220 to the HX11, since you are the one having drift problems. I have never seen drift like you describe in a precision load cell such as a Lebow or Honeywell. Who knows what kind of crap you get from China?

    The symptoms you describe can be caused by an incorrectly bonded strain gauge, among the other things that Steve mentioned. You should check the load cell hysteresis at full load capacity to see if it reliably returns to zero after repeated cycling. A poorly bonded strain gauge will have it all over the map, unable to hold a zero offset. Improper excitation not referenced to the A/D converter reference voltage will also cause zero drift, especially with a 24-bit A/D.
    (*steve*) likes this.
  6. samantha_philip


    Apr 25, 2019
    Unfortunately as much as many want load cells to be accurate they have a couple of inherent flaws which require a lot of extra electronics and engineering to overcome and thus become expensive. To get load cells to work accurately typically cost hundreds to thousands of dollars.

    The two main flaws offset drift and load hysteresis.

    The problem is a mechanical thing mostly caused by temperature and the mechanical properties of the materials of load cells. The type you have are aluminum, with temperature the metal structure expands and contracts and bending moment changes. In theory the whetstone bridge deals with this, but it isn't enough and you get offset drift over time. Keep the temperature stable and your measurement will be more stable, but it will still drift some.

    Load hysteresis is where the same load(let's say 5kg) measured from min load(0kg) to the 5kg load compared to 10kg load down to 5kg will return a different result. This is due to the mechanical properties of the load cell, effectively a memory. Therefore outputs from load cells can report curves in their range response to load, typical a positive curve on the upwards load and negative on the downwards load. Combine this with offset drift and results can lead to relative high error.

    Ways around the hysteresis is to use a load cell roughly one-third of the range you require, the negative is that you lose sensitivity to load. This can limit the load on load off difference which is more stable, but you lose sensitively to small changes.

    You could try adding a temperature sensor, plot different temperatures to load. Use varying loads as the different load will have possible different offset effects. It gets messy.

    There are reasons why accurate scales costs a lot.
    to learn more about load cells visit here:

    An electrical/electronics engineer looking to make a working product using this device might need to perform such an analysis and AUTOCAD helps with that.
    Last edited by a moderator: May 7, 2019
    hevans1944 likes this.
  7. Bluejets


    Oct 5, 2014
    Maybe just go digital.
    hevans1944 likes this.
  8. hevans1944

    hevans1944 Hop - AC8NS

    Jun 21, 2012
    Yes there is, but this is a really ancient thread that was abandoned by the OP almost three years ago (last seen here November 4, 2016). However, those of us who have been responsible for load cell and strain-gauge instrumentation over the past fifty years or so appreciate your efforts. The link to Tacuna Systems appears to be especially useful, for both the newbie as well as those who have been on the bleeding edge of this technology for a long time. I enjoyed visiting and reviewing information about this niche technology on their website pages.

    As you are no doubt aware, load cell performance is a mainly a materials issue. Hysteresis is an especially pesky problem, and even optical interferometer methods (where they are warranted) do not offer a "perfect" solution. However, in engineering, "gud enuf" is good enough. Even the cheap aluminum Asian crap has its place... somewhere. Joy-stick force controls, maybe?

    This has been the "correct" approach for a long time... ever since the advent of cheap, easily programmable, microprocessors. Even before that, manufacturers were offering "laser trimmed" analog components to make it easier to control offset and drift before the final conversion to a digital signal value. Now the trend seems to be to measure whatever "errors" exist in the analog circuitry and store corrections in a look-up table, or as a correction algorithm, depending on the nature of the error and how stable the corrections must be over time, temperature, shock, vibration, etc. I am amazed and forever grateful that the continued micro-miniaturization of electronics has brought so much inexpensive stability to my profession and hobby.

    When I started down this road, axial-leaded carbon-composition resistors with ten percent resistance tolerances were the norm. Some twenty years later, metal-film and carbon-film resistors with one percent resistance tolerances became de facto bench-stock parts. And today there is a huge range of resistors available, some barely visible to the naked eye, others with kilovolt capability and one percent or better value tolerances. And that's just one component! Similar advances have occurred across the board everywhere you look... with the possible exception of electro-chemical batteries. Still waiting (patiently) for a decent deep-cycle, long-life, fast-recharge battery while limping along with lithium-ion technology.:rolleyes:
    Bluejets likes this.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day