INHOUDSOPGAWE:

Arduino -spanningsskaal met 40 kg bagasielas en HX711 -versterker: 4 stappe
Arduino -spanningsskaal met 40 kg bagasielas en HX711 -versterker: 4 stappe

Video: Arduino -spanningsskaal met 40 kg bagasielas en HX711 -versterker: 4 stappe

Video: Arduino -spanningsskaal met 40 kg bagasielas en HX711 -versterker: 4 stappe
Video: Using IRF520 MOSFET Switch Button to Turn ON or OFF DC load 2024, November
Anonim
Arduino -spanningsskaal met bagasie -laaisel van 40 kg en HX711 -versterker
Arduino -spanningsskaal met bagasie -laaisel van 40 kg en HX711 -versterker

Hierdie instruksie beskryf hoe u 'n spanningsskaal 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. Spanvragsel (40 kg) met hakies. Daar is 2 opsies om een hiervan te kry. U kan een wat reeds gemaak is (maklik) koop, of u kan 'n goedkoop digitale bagasie -weegskaal uitmekaar haal en die laaisel verwyder (dit is moeiliker, maar u het moontlik al 'n lêer). U kan een koop wat reeds gemaak is met 'n HX711 hier:

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

4. Monteer hardeware. Afhangende van u toepassing, kan dit tou, skroewe, ritsbande wees, alles om die hakies vas te maak aan die krag wat u wil meet.

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
Monteer die laaisel
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 staalvragsel is 'n plaat met rekmeters wat aan die middel vasgeplak is. Die laadsel meet krag deur te bepaal hoeveel die lassel buig.

2. Hakies word deur gate in die ente van die lasselbalk vasgemaak. Die hakies is gevorm sodat die trekkrag in die middel van die lasselbalk uitgeoefen word. Vanweë hul vorm en die aanhegtingsplek buig die lasselstraal wanneer die hakies getrek word.

3. Haak die hakies vas aan wat u wil meet. Dit is die beste om dit te doen met iets wat vrylik kan beweeg (soos ketting, hake, sterk tou of ritsbande). U wil hê dat die lassel en die hakiesamestelling in die rigting van die vrag kan sentreer, sodat die meting akkuraat is.

Stap 2: Bedraad die laaisel en HX711

Bedraad die laaisel en HX711
Bedraad die laaisel en HX711

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

Op laai -selle soos in die bagasiestyl, soos hierbo getoon, is daar al meervoudige 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. Voer hierdie kode uit om dit te doen

/*

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: