Module – HX711 – Wheatstone brug A/D converter

Hardware

BESTELLEN

Een kleine module die nodig is om loadcellen correct uit te kunnen lezen.
De HX711 chip versterkt het signaal zodat de variaties van de load cell digitaal verwerkt kunnen worden een microcontroller.

Specificaties:

  • Spanningsbereik: 2.7-5V DC
  • Nomimaal stroomverbruik: 1.6mA
  • Stroomverbruik bij slaapstand: <1uA
  • 24-bits nauwkeurigheid
  • Mogelijkheid voor twee load cellen

Gewichtcellen

Weegcellen worden in de volksmond ook wel loadcell genoemd. Deze zijn ontworpen om kracht of gewicht te voelen onder een breed scala van ongunstige omstandigheden. Ze zijn niet alleen de meest essentiële deel van een elektronisch weegsysteem, maar ook de meest kwetsbare. Om zo effectief mogelijk de weegcel te krijgen, moet de gebruiker een grondig inzicht in de technologie, constructie en werking van dit unieke apparaat. Bovendien is het noodzakelijk dat de gebruiker de juiste weegcellen voor toepassing selecteert en de nodige zorg voor de loadcell tijdens de levensduur. Weegcellen worden toegepast in bijvoorbeeld weegschalen.

Hoe werken deze weegcellen?

Weegcellen zijn een elektronische sensors (een transducer) die gebruikt wordt om een gewicht om te zetten in een elektrisch signaal. De omzetting is indirect en gebeurt in twee fasen. Door een mechanische constructie wordt een metalen element een klein beetje vervormd (wet van Hooke). Dit element moet iets zwakker zijn dan de constructie waarin het is opgenomen. De vervorming (rek) van het element wordt gemeten met een vervormingssensor, die deze rek in een elektrisch signaal omzet.

Brug van Wheatstone

De vervormingssensor in een weegcel kan bestaan uit vier rekstrookjes, geplaatst in een brug van Wheatstone. Daarbij zijn twee van de rekstrookjes aan de rekkende zijde geplaatst en de twee andere aan de andere zijde, die gestuikt (samengedukt) wordt. Door aan elke zijde één rekstrookje in de rek- respectievelijk stuikrichting te plaatsen, en het andere loodrecht daarop, kunnen temperatuurinvloeden worden gecompenseerd. Immers de rekstrookjes die loodrecht op de rekrichting staan, worden niet gerekt door de doorbuiging van het element, maar wel door eventuele thermische uitzetting. Deze laatste is isotroop (richtingsonafhankelijk), zodat een hierdoor ontstane rek vanzelf wordt gecompenseerd. Deze opstelling in de brug van Wheatstone levert een optimale gevoeligheid. Daarnaast zijn er ook weegcellen met één of twee rekstrookjes.

Uitgangssignaal

Het uitgangssignaal van de rekstrookjes is in de orde van enkele millivolt en moet versterkt worden door een meetversterker voordat het gebruikt kan worden. Het uitgangssignaal van de meetversterker, doorgaans een gestandariseerd analoog 4-20 mA signaal, of 0-10V dat verder worden verwerkt. Voor een weging kan het, zo nodig via een lineariseringsalgoritme, in een uitleesbare krachtwaarde worden omgezet. In regelsystemen kan het in de regelkring worden toegepast.

Bedrading

(eng)
These colors correspond to the conventional color coding of load cells, where red, black, green and white wires come from the strain gauge on the load cell and yellow is an optional ground wire that is not hooked up to the strain gauge but is there to ground any small outside EMI (electromagnetic interference). Sometimes instead of a yellow wire there is a larger black wire, foil, or loose wires to shield the signal wires to lessen EMI.

Here we have a large black wire, some loose wires, and foil and loose wires respectively as EMI buffers

Wheatstone Bridge Node “Typical” Wire Color
Excitation+ (E+) or VCC RED
Excitation- (E-) or GND BLACK or YELLOW
Output+ (O+), Signal+ (S+), or Amplifier+ (A+) WHITE
O-, S-, or A- GREEN or BLUE

Some load cells might have slight variations in color coding such as blue instead of green or yellow instead of black or white if there are only four wires (meaning no wire used as an EMI buffer). You might have to infer a little from the colors that you have or check the datasheet on the load cell, but in general you will usually see these colors.

Bron: dexman.nl / learn.sparkfun.com


Druksensor

Deze MPS20N0040D-D druk sensor gebruikt ook een Wheatstone brug om de druk te kunnen bepalen, de pinout:

Pinout

Arduino

Gewichtcellen

Sluit de module aan volgens onderstaand overzicht:

 

Ander voorbeeld:


Druksensor

Hier is een voorbeeld van de MPS20N0040D-D sensor aangesloten op een HX711 A/D converter, op internet zijn veel schema’s en pinouts te vinden, maar die blijken na wat testen niet te werken, onze oplossing na wat experimenteren is het schema hieronder.

Opmerkelijk is wel dat PIN 4 wel gebruikt moet worden en PIN 3 niet aangesloten is (vraag is of de pinout dan wel goed is?)

Bron(nen):
forum.hobbycomponents.com #1 / forum.hobbycomponents.com #2


Script #1 – Simpele uitlezing

Script dat alleen het 24-bit getal weergeeft.

Het resultaat:


Script #2 – Zonder bibliotheek


Script #3 – Volledig voorbeeld inclusief calibratie

Resultaat:

Arduino Library

Installatie van Arduino IDE libraries: Arduino info

Informatie (ENG):

An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for reading load cells / weight scales.

It supports the architectures atmelavrespressif8266espressif32atmelsamteensy and ststm32 by corresponding PlatformIO targets.

HAL support

Hardware support

The library has been tested successfully on the following hardware.

  • ATmega328: Arduino Uno
  • ESP8266: WeMos D1 mini, Adafruit HUZZAH
  • ESP32: ESP32 DEVKIT V1, Heltec WiFi Kit 32, Adafruit Feather HUZZAH32
  • STM32 F1 (Cortex-M3): STM32F103C8T6 STM32 Blue Pill Board

Thanks, @bogde and @ClemensGruber!

Features

  1. It provides a tare() function, which “resets” the scale to 0. Many other implementations calculate the tare weight when the ADC is initialized only. I needed a way to be able to set the tare weight at any time. Use case: Place an empty container on the scale, call tare() to reset the readings to 0, fill the container and get the weight of the content.
  2. It provides a power_down() function, to put the ADC into a low power mode. According to the datasheet,

    When PD_SCK pin changes from low to high and stays at high for longer than 60μs, HX711 enters power down mode.

    Use case: Battery-powered scales. Accordingly, there is a power_up() function to get the chip out of the low power mode.

  3. It has a set_gain(byte gain) function that allows you to set the gain factor and select the channel. According to the datasheet,

    Channel A can be programmed with a gain of 128 or 64, corresponding to a full-scale differential input voltage of ±20mV or ±40mV respectively, when a 5V supply is connected to AVDD analog power supply pin. Channel B has a fixed gain of 32.

    The same function is used to select the channel A or channel B, by passing 128 or 64 for channel A, or 32 for channel B as the parameter. The default value is 128, which means “channel A with a gain factor of 128”, so one can simply call set_gain().

    This function is also called from the initializer method begin().

  4. The get_value() and get_units() functions can receive an extra parameter “times”, and they will return the average of multiple readings instead of a single reading.

How to calibrate your load cell

  1. Call set_scale() with no parameter.
  2. Call tare() with no parameter.
  3. Place a known weight on the scale and call get_units(10).
  4. Divide the result in step 3 to your known weight. You should get about the parameter you need to pass to set_scale().
  5. Adjust the parameter in step 4 until you get an accurate reading.

Download @ github.com

Afmetingen

GEEN GEGEVENS

Schema

Teardown

GEEN GEGEVENS

Datasheet

Fritzing

Downloads

GEEN GEGEVENS