INHOUDSOPGAWE:

Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker: 4 stappe (met foto's)
Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker: 4 stappe (met foto's)

Video: Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker: 4 stappe (met foto's)

Video: Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker: 4 stappe (met foto's)
Video: HX711 with a Four Wire Load Cell and Arduino | Step by Step Guide. 2024, Julie
Anonim
Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker
Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker
Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker
Arduino -weegskaal met 'n laaisel van 5 kg en HX711 -versterker

Hierdie instruksie beskryf hoe u 'n klein weegskaal kan maak met behulp van geredelik beskikbare dele uit die rak.

Materiaal benodig:

1. Arduino - hierdie ontwerp gebruik 'n standaard Arduino Uno, ander Arduino -weergawes of klone moet ook werk

2. HX711 op uitbreekbord - Hierdie mikroskyfie is spesiaal gemaak om die seine van vragselle te versterk en aan 'n ander mikrocontroller te rapporteer. Die vragselle sluit aan op hierdie bord, en hierdie bord vertel die Arduino wat die lasselle meet.

3. 5 kg laadsel - Laaiselle is spesiaal gevormde metaalonderdele wat rekmeters aan hulle gom plak. Die rekmeters is weerstande wat hul weerstand verander wanneer hulle gebuig word. As die metaaldeel buig, verander die weerstand van die lassel (die HX711 meet hierdie klein verandering in weerstand akkuraat). U kan beide die HX711 en die laadsel hier koop:

Gee 'n resensie as u die kit gekoop het! Dit is baie nuttig vir toekomstige kopers.

4. Stewige plat monteeroppervlak (x2) - 'n stywe stuk hardehout of metaal is ideaal.

5. Drade in verskillende kleure om al die onderdele aan te sluit

6. Kragtoevoer vir Arduino

Stap 1: Monteer die laaisel

Monteer die laaisel
Monteer die laaisel

Eerstens gaan ons die laadsel monteer. U houer sal uniek wees, maar hier is die riglyne wat u moet volg:

1. Die aluminium -laaisel moet 4 gatpunte hê en 'n etiket wat die rigting van die krag aandui. Monteer die sy sonder die etiket op die vaste oppervlak en monteer die kant met die etiket op die bewegende oppervlak. Die pyltjie op die gemerkte kant moet na onder wys in die rigting wat die platform sal beweeg wanneer 'n vrag toegedien word.

2. Die monteerplaat en die bewegende plaat moet albei so styf as moontlik wees

3. Maak seker dat jy 'n vorm van stewige afstandhouers tussen die monteerplate en die laadcel plaas. Afstandhouers of ringe werk beide goed. Die doel is dat enige krag wat op die bewegende plaat uitgeoefen word, veroorsaak dat die lassel buig en draai. Sonder afstandhouers sou vrag direk vanaf die bewegende plaat na die vaste plaat oorgedra word sonder om die lassel te beïnvloed.

Stap 2: Bedraad die laadselle en HX711

Bedraad die laaiselle en HX711
Bedraad die laaiselle en HX711

Sien die bedradingsdiagram vir die koppeling van die laadselle, HX711 en Arduino.

Op aluminiumvragselle is reeds verskeie rekmeters aan 'n Wheatstone -brug gekoppel. Al wat u hoef te doen is om die drade in die regte rigting aan die HX711 -bord te koppel.

Stap 3: Voeg HX711 -biblioteek by u Arduino IDE

Die HX711 -biblioteek is hier beskikbaar:

Sien hierdie skakel op die Arduino -webwerf vir instruksies oor hoe u die biblioteek by u Arduino IDE kan voeg:

Stap 4: Kalibreer en weeg

Kalibreer en weeg!
Kalibreer en weeg!

Sparkfun het uitstekende Arduino -programme om die skaal uit te voer. Die nuutste weergawes is beskikbaar op GitHub en hieronder herdruk:

Die eerste sagteware stap is om kalibrasie faktore vir die skaal te bepaal. Om dit te doen, voer hierdie kode uit:

/*

Voorbeeld van die gebruik van die SparkFun HX711 -uitbreekbord met 'n skaal Deur: Nathan Seidle SparkFun Electronics Datum: 19 November 2014 Lisensie: Hierdie kode is in die publieke domein, maar as u dit gebruik, koop u vir my 'n bier as ons mekaar ontmoet (Bierware -lisensie). Dit is die kalibrasie skets. Gebruik dit om die kalibrasie_faktor wat die hoofvoorbeeld gebruik, te bepaal. Dit lewer ook die zero_factor af wat nuttig is vir projekte met 'n permanente massa op die skaal tussen kragsiklusse. Stel u weegskaal op en begin die skets SONDER 'n gewig op die weegskaal Sodra lesings vertoon word, plaas die gewig op die skaal Druk +/- of a/z om die kalibrasie_faktor aan te pas totdat die uitsetlesings by die bekende gewig pas. Gebruik hierdie kalibrasie_faktor op die voorbeeldskets Hierdie voorbeeld veronderstel pond (lbs). Verander die Serial.print ("lbs") as u kilogram verkies; lyn na kg. Die kalibreringsfaktor sal aansienlik verskil, maar dit sal lineêr verband hou met £ (0.453592 kg). U kalibreringsfaktor kan baie positief of baie negatief wees. Dit hang alles af van die opstelling van u skaalstelsel en die rigting wat die sensors van nultoestand af buig. Hierdie voorbeeldkode gebruik die uitstekende biblioteek van bogde: "https://github.com/bogde/HX711" bogde se biblioteek word vrygestel onder 'n GNU GENERAL PUBLIC LICENSE Arduino pen 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Die meeste pen op die Arduino Uno sal verenigbaar wees met DOUT/CLK. Die HX711 -bord kan van 2,7V tot 5V aangedryf word, dus die Arduino 5V -krag behoort goed te wees. */ #sluit "HX711.h" in #definieer LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 skaal; float kalibrasie_faktor = -7050; //-7050 het gewerk vir my maksimum opstelling van 440lb leemte opstelling () {Serial.begin (9600); Serial.println ("HX711 kalibrasie skets"); Serial.println ("Verwyder alle gewig van die skaal"); Serial.println ("Nadat die lesings begin is, plaas die gewig op die skaal"); Serial.println ("Druk + of a om die kalibrasiefaktor te verhoog"); Serial.println ("Druk - of z om die kalibrasiefaktor te verlaag"); skaal. begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); skaal.tare (); // Stel die skaal terug na 0 lang zero_factor = scale.read_average (); // Kry 'n basislynlesing Serial.print ("Nul faktor:"); // Dit kan gebruik word om die behoefte om die weegskaal te tareer, te verwyder. Nuttig in permanente skaalprojekte. Serial.println (zero_factor); } leemte -lus () {scale.set_scale (kalibrasie_faktor); // Pas aan by hierdie kalibreringsfaktor Serial.print ("Reading:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Verander dit na kg en pas die kalibrasiefaktor weer aan as u SI-eenhede volg soos 'n gesonde persoon Serial.print ("calibration_factor:"); Serial.print (kalibrasie_faktor); Serial.println (); as (Serial.available ()) {char temp = Serial.read (); as (temp == ' +' || temp == 'a') kalibrasie_faktor += 10; anders as (temp == ' -' || temp == 'z') kalibrasie_faktor -= 10; }}

Nadat u die skaal gekalibreer het, kan u hierdie voorbeeldprogram uitvoer en dit dan vir u eie doeleindes inbreek:

/*

Voorbeeld van die gebruik van die SparkFun HX711 -uitbreekbord met 'n skaal Deur: Nathan Seidle SparkFun Electronics Datum: 19 November 2014 Lisensie: Hierdie kode is in die publieke domein, maar as u dit gebruik, koop u vir my 'n bier as ons mekaar ontmoet (Bierware -lisensie). Hierdie voorbeeld toon basiese skaaluitset. Sien die kalibrasie -skets om die kalibrasie_faktor vir u spesifieke vragselopstelling te kry. Hierdie voorbeeldkode gebruik die uitstekende biblioteek van bogde: "https://github.com/bogde/HX711" bogde se biblioteek word vrygestel onder 'n GNU ALGEMENE OPENBARE LISENSIE Die HX711 doen een ding goed: lees vragselle. Die uitbreekbord is verenigbaar met enige laadsel gebaseer op koring-brug, wat die gebruiker in staat moet stel om alles van 'n paar gram tot tientalle ton te meet. Arduino -pen 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Die HX711 -bord kan van 2,7V tot 5V aangedryf word, sodat die Arduino 5V -krag goed moet wees. *** ongeldige opstelling () {Serial.begin (9600); Serial.println ("demo van die HX711 -skaal"); skaal. begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (kalibrasie_faktor); // Hierdie waarde word verkry deur die SparkFun_HX711_Calibration sketch scale.tare () te gebruik; // Gestel daar is geen gewig op die weegskaal by die aanvang nie, stel die weegskaal terug op 0 Serial.println ("Lesings:"); } leemte -lus () {Serial.print ("Lees:"); Serial.print (scale.get_units (), 1); //scale.get_units () gee 'n vlot Serial.print ("lbs") terug; // U kan dit na kg verander, maar u moet die kalibrasie_faktor Serial.println () heraktoreer; }

Aanbeveel: