Inhoudsopgave:

Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker - Ajarnpa
Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker - Ajarnpa

Video: Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker - Ajarnpa

Video: Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker - Ajarnpa
Video: weight machine||Arduino weight scale 2024, November
Anonim
Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker
Arduino-weegschaal met loadcellen van 50 kg en HX711-versterker
Arduino-badkamerweegschaal met loadcellen van 50 kg en HX711-versterker
Arduino-badkamerweegschaal met loadcellen van 50 kg en HX711-versterker

Deze Instructable beschrijft hoe u een weegschaal kunt maken met behulp van kant-en-klare onderdelen.

Benodigde materialen:

  1. Arduino - (dit ontwerp gebruikt een standaard Arduino Uno, andere Arduino-versies of klonen zouden ook moeten werken)
  2. HX711 op breakout board - Deze microchip is speciaal gemaakt om de signalen van loadcellen te versterken en te rapporteren aan een andere mircocontroller. De loadcellen worden op dit bord aangesloten en dit bord vertelt de Arduino wat de loadcellen meten.
  3. Weegcellen van 50 kg (x4) - Weegcellen zijn speciaal gevormde metalen onderdelen waarop rekstrookjes zijn gelijmd. De rekstrookjes zijn weerstanden die hun weerstand veranderen wanneer ze worden gebogen. Wanneer het metalen onderdeel buigt, verandert de weerstand van de load cell (de HX711 meet deze kleine weerstandsverandering nauwkeurig). Je kunt de loadcellen en HX711 hier als kit kopen: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Als je de kit koopt, laat dan een review achter! Het is erg handig voor toekomstige kopers.
  4. Stevig vlak montageoppervlak - een stijf stuk hardhout of metaal is ideaal
  5. Draden in verschillende kleuren voor het verbinden van alle onderdelen
  6. Voeding voor Arduino

Stap 1: Monteer de loadcellen

Monteer de loadcellen
Monteer de loadcellen
Monteer de loadcellen
Monteer de loadcellen

Monteer de 4 weegcellen aan de onderkant van de schaal in de vier hoeken. Epoxy werkt goed om ze op hun plaats te houden. Zie het montageschema, deze laat zien welk oppervlak op de basis moet worden gemonteerd en welk oppervlak de vloer moet raken.

Stap 2: Controleer de laadcelbedrading

Controleer de bedrading van de loadcel
Controleer de bedrading van de loadcel

Het bedradingsschema is gemaakt in de veronderstelling dat de loadcel is geconstrueerd zoals op deze afbeelding.

Om er zeker van te zijn dat je het goed doet, moet je uitzoeken welke twee terminals op de loadcellen de hoogste weerstand tussen hen hebben (bijv. Zwart en wit, om overeen te komen met het schema), bedraad ze in een grote kleurafstemmingslus, zoals BB WW BB WW en bekrachtig (E+/E-) twee tegenover elkaar liggende middenaftakkingen (R) en voel (A+/A-) op het andere paar middenaftakkingen.

Deze pagina op Sackexchange heeft nog betere informatie:

Stap 3: Bedraad de loadcellen en HX711

Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711
Bedraad de loadcellen en HX711

Zie het bedradingsschema voor het aansluiten van de loadcellen, HX711 en Arduino.

Sommige van de loadceldraden zijn met elkaar verbonden om een zogenaamd Wheatstone-brugarrangement te vormen. Dit kan een beetje verwarrend zijn. Een goede optie om alle loadcellen op een schone, gemakkelijk te begrijpen manier aan te sluiten, is het SparkFun loadcell-combinatorbord -

Door deze opstelling kunnen de belastingen op alle verschillende loadcelsensoren worden gecombineerd en in één keer worden gemeten.

Stap 4: voeg HX711-bibliotheek toe aan uw Arduino IDE

De HX711-bibliotheek is hier beschikbaar:

Zie deze link op de Arduino-website voor instructies over het toevoegen van de bibliotheek aan uw Arduino IDE:

Stap 5: Kalibreer en weeg

Sparkfun heeft geweldige Arduino-programma's om de schaal uit te voeren. De meest up-to-date versies zijn beschikbaar op GitHub en hieronder herdrukt:

De eerste softwarestap is het bepalen van de kalibratiefactoren voor de weegschaal. Voer hiervoor deze code uit:

/*

Voorbeeld met het SparkFun HX711 breakoutboard met een weegschaal Door: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licentie: Deze code is publiek domein, maar je koopt een biertje voor me als je dit gebruikt en we ontmoeten elkaar ooit (Beerware-licentie). Dit is de kalibratieschets. Gebruik het om de kalibratiefactor te bepalen die in het hoofdvoorbeeld wordt gebruikt. Het geeft ook de zero_factor weer die nuttig is voor projecten met een permanente massa op de schaal tussen vermogenscycli. Stel uw weegschaal in en start de schets ZONDER een gewicht op de weegschaal Zodra de metingen worden weergegeven, plaatst u het gewicht op de weegschaal Druk op +/- of a/z om de kalibratiefactor aan te passen totdat de uitvoerwaarden overeenkomen met het bekende gewicht Gebruik deze kalibratiefactor op de voorbeeldschets In dit voorbeeld wordt uitgegaan van ponden (lbs). Als u de voorkeur geeft aan kilogrammen, wijzigt u de Serial.print("lbs"); lijn naar kg. De kalibratiefactor zal aanzienlijk verschillen, maar is lineair gerelateerd aan lbs (1 lbs = 0,453592 kg). Uw kalibratiefactor kan zeer positief of zeer negatief zijn. Het hangt allemaal af van de instelling van uw weegschaalsysteem en de richting waarin de sensoren afbuigen vanuit de nultoestand. Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND De meeste pins op de Arduino Uno zijn compatibel met DOUT/CLK. Het HX711-bord kan worden gevoed van 2,7V tot 5V, dus de Arduino 5V-voeding zou in orde moeten zijn. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 schaal; float kalibratiefactor = -7050; //-7050 werkte voor mijn 440lb max scale setup void setup() {Serial.begin(9600); Serial.println ("HX711 kalibratieschets"); Serial.println("Verwijder al het gewicht van de weegschaal"); Serial.println("Nadat de metingen zijn begonnen, plaatst u het bekende gewicht op de weegschaal"); Serial.println("Druk op + of a om de kalibratiefactor te verhogen"); Serial.println("Druk op - of z om de kalibratiefactor te verlagen"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); schaal.set_schaal(); schaal.tarra(); // Stel de schaal opnieuw in op 0 long zero_factor = scale.read_average (); //Krijg een baselinewaarde Serial.print("Zero factor: "); //Dit kan worden gebruikt om de noodzaak om de weegschaal te tarreren te verwijderen. Nuttig in permanente schaalprojecten. Serial.println(nul_factor); } void loop() { scale.set_scale(calibration_factor); // Pas deze kalibratiefactor aan Serial.print ("Lezen: "); Serial.print(scale.get_units(), 1); Serial.print ("lbs"); // Wijzig dit in kg en pas de kalibratiefactor opnieuw aan als u SI-eenheden volgt zoals een verstandig persoon Serial.print ("kalibratiefactor: "); Serial.print (kalibratiefactor); Serieel.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') kalibratiefactor += 10; anders if(temp == '-' || temp == 'z') kalibratiefactor -= 10; } }

Nadat u de weegschaal hebt gekalibreerd, kunt u dit voorbeeldprogramma uitvoeren en het vervolgens voor uw eigen doeleinden hacken:

/*

Voorbeeld met het SparkFun HX711 breakoutboard met een weegschaal Door: Nathan Seidle SparkFun Electronics Datum: 19 november 2014 Licentie: Deze code is publiek domein, maar je koopt een biertje voor me als je dit gebruikt en we ontmoeten elkaar ooit (Beerware-licentie). Dit voorbeeld demonstreert de uitvoer van de basisschaal. Zie de kalibratieschets om de kalibratiefactor voor uw specifieke loadcel-opstelling te krijgen. Deze voorbeeldcode gebruikt de uitstekende bibliotheek van bogde:"https://github.com/bogde/HX711" De bibliotheek van bogde wordt vrijgegeven onder een GNU GENERAL PUBLIC LICENSE De HX711 doet één ding goed: loadcellen lezen. Het breakout board is compatibel met elke op tarwesteen gebaseerde loadcel waarmee een gebruiker alles kan meten, van enkele grammen tot tientallen tonnen. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Het HX711-bord kan worden gevoed van 2,7V tot 5V, dus de Arduino 5V-voeding zou in orde moeten zijn. */ #include "HX711.h" #define Calibration_factor -7050.0 //Deze waarde wordt verkregen met behulp van de SparkFun_HX711_Calibration sketch #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 schaal; void setup() { Serial.begin(9600); Serial.println ("HX711 schaaldemo"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibratiefactor); //Deze waarde wordt verkregen met behulp van de SparkFun_HX711_Calibration sketch scale.tare(); //Ervan uitgaande dat er bij het opstarten geen gewicht op de weegschaal staat, stelt u de weegschaal opnieuw in op 0 Serial.println ("Lezingen:"); } void loop() { Serial.print("Lezen: "); Serial.print(scale.get_units(), 1); //scale.get_units() retourneert een float Serial.print("lbs"); //U kunt dit wijzigen in kg, maar u moet de kalibratiefactor Serial.println(); }

Aanbevolen: