Πίνακας περιεχομένων:

Κλίμακα μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711: 5 βήματα (με εικόνες)
Κλίμακα μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711: 5 βήματα (με εικόνες)

Βίντεο: Κλίμακα μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711: 5 βήματα (με εικόνες)

Βίντεο: Κλίμακα μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711: 5 βήματα (με εικόνες)
Βίντεο: Ξεκινώντας με το arduino θεωρητικά + παράδειγμα (βίντεο) 2024, Νοέμβριος
Anonim
Ζυγαριά μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711
Ζυγαριά μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711
Ζυγαριά μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711
Ζυγαριά μπάνιου Arduino με κύτταρα φορτίου 50 κιλών και ενισχυτή HX711

Αυτό το εγχειρίδιο περιγράφει πώς να φτιάξετε μια ζυγαριά χρησιμοποιώντας άμεσα διαθέσιμα από τα ράφια.

Χρειαζονται ΥΛΙΚΑ:

  1. Arduino - (αυτός ο σχεδιασμός χρησιμοποιεί ένα τυπικό Arduino Uno, θα πρέπει να λειτουργούν και άλλες εκδόσεις ή κλώνοι Arduino)
  2. HX711 on board breakout - Αυτό το μικροτσίπ είναι ειδικά κατασκευασμένο για την ενίσχυση των σημάτων από τις κυψέλες φόρτωσης και την αναφορά τους σε άλλο mircocontroller. Οι κυψέλες φορτίου συνδέονται σε αυτόν τον πίνακα και αυτός ο πίνακας λέει στο Arduino τι μετρούν οι κυψέλες φορτίου.
  3. Κυψέλες φόρτωσης 50kg (x4) - Οι κυψέλες φορτίου είναι μεταλλικά μέρη ειδικά διαμορφωμένα, τα οποία έχουν κόλλα κόλλας. Οι μετρητές τάσης είναι αντιστάσεις που αλλάζουν την αντοχή τους όταν κάμπτονται. Όταν το μεταλλικό τμήμα κάμπτεται, η αντίσταση της κυψέλης φορτίου αλλάζει (το HX711 μετρά αυτή τη μικρή αλλαγή στην αντίσταση με ακρίβεια). Μπορείτε να αγοράσετε τις κυψέλες φορτίου και το HX711 ως κιτ εδώ: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Εάν αγοράσετε το κιτ, αφήστε μια κριτική! Είναι πραγματικά χρήσιμο για μελλοντικούς αγοραστές.
  4. Στιβαρή επίπεδη επιφάνεια τοποθέτησης - ένα άκαμπτο κομμάτι από σκληρό ξύλο ή μέταλλο είναι ιδανικό
  5. Σύρματα σε διάφορα χρώματα για σύνδεση όλων των εξαρτημάτων
  6. Τροφοδοσία για Arduino

Βήμα 1: Τοποθετήστε τα κελιά φορτίου

Τοποθετήστε τα κελιά φορτίου
Τοποθετήστε τα κελιά φορτίου
Τοποθετήστε τα κελιά φορτίου
Τοποθετήστε τα κελιά φορτίου

Τοποθετήστε τα 4 κελιά φορτίου στο κάτω μέρος της κλίμακας στις τέσσερις γωνίες. Το Epoxy λειτουργεί καλά για να τα κρατάει στη θέση τους. Δείτε το διάγραμμα στερέωσης, δείχνει ποια επιφάνεια πρέπει να τοποθετηθεί στη βάση και ποια επιφάνεια πρέπει να αγγίξει το πάτωμα.

Βήμα 2: Επαληθεύστε τη σύνδεση καλωδίων φόρτωσης

Επαληθεύστε την καλωδίωση φόρτωσης κελιού
Επαληθεύστε την καλωδίωση φόρτωσης κελιού

Το διάγραμμα καλωδίωσης γίνεται υποθέτοντας ότι η κυψέλη φορτίου είναι κατασκευασμένη όπως αυτή η εικόνα.

Για να βεβαιωθείτε ότι το έχετε καταφέρει σωστά, βεβαιωθείτε ότι δύο ακροδέκτες στις κυψέλες φορτίου έχουν τη μεγαλύτερη αντίσταση μεταξύ τους (π.χ. Μαύρο και Λευκό, για να ταιριάζει με το σχηματικό), συνδέστε τα σε ένα μεγάλο βρόχο αντιστοίχισης χρωμάτων, όπως το BB WW BB WW και στη συνέχεια διεγείρετε (E+/E-) δύο αντίθετες κεντρικές βρύσες (R) και αίσθηση (A+/A-) στο άλλο ζεύγος κεντρικών χτυπημάτων.

Αυτή η σελίδα στο Sackexchange έχει ακόμα καλύτερες πληροφορίες:

Βήμα 3: Καλωδίωση των κυψελών φορτίου και HX711

Καλωδίστε τα κελιά φορτίου και HX711
Καλωδίστε τα κελιά φορτίου και HX711
Καλωδίστε τα κελιά φορτίου και HX711
Καλωδίστε τα κελιά φορτίου και HX711
Καλωδίστε τα κελιά φορτίου και HX711
Καλωδίστε τα κελιά φορτίου και HX711

Δείτε το διάγραμμα καλωδίωσης για τον τρόπο σύνδεσης των κυψελών φορτίου, HX711 και Arduino.

Μερικά από τα καλώδια των κυψελών φορτίου συνδέονται μεταξύ τους για να σχηματίσουν αυτό που ονομάζεται διάταξη γέφυρας Wheatstone. Αυτό μπορεί να μπερδευτεί λίγο. Μια καλή επιλογή για τη σύνδεση όλων των κυψελών φορτίου με καθαρό και εύκολο τρόπο κατανόησης είναι ο πίνακας συνδυασμού κυψελών φορτίου SparkFun -

Αυτή η διάταξη επιτρέπει τα φορτία σε όλους τους διαφορετικούς αισθητήρες κυψελών φορτίου να συνδυαστούν και να μετρηθούν ταυτόχρονα.

Βήμα 4: Προσθέστε τη βιβλιοθήκη HX711 στο Arduino IDE σας

Η βιβλιοθήκη HX711 είναι διαθέσιμη εδώ:

Δείτε αυτόν τον σύνδεσμο στον ιστότοπο Arduino για οδηγίες σχετικά με τον τρόπο προσθήκης της βιβλιοθήκης στο Arduino IDE:

Βήμα 5: Βαθμονόμηση και ζύγιση

Το Sparkfun διαθέτει εξαιρετικά προγράμματα Arduino για την εκτέλεση της κλίμακας. Οι πιο ενημερωμένες εκδόσεις είναι διαθέσιμες στο GitHub και ανατυπώνονται παρακάτω:

Το πρώτο βήμα λογισμικού είναι ο καθορισμός συντελεστών βαθμονόμησης για την κλίμακα. Για να το κάνετε αυτό, εκτελέστε αυτόν τον κώδικα:

/*

Παράδειγμα με τη χρήση του SparkFun HX711 breakout board με μια κλίμακα Από: Nathan Seidle SparkFun Electronics Ημερομηνία: 19 Νοεμβρίου 2014 Άδεια: Αυτός ο κωδικός είναι δημόσιος τομέας, αλλά μου αγοράζετε μια μπύρα αν το χρησιμοποιήσετε και συναντηθούμε κάποτε (άδεια Beerware). Αυτό είναι το σκίτσο βαθμονόμησης. Χρησιμοποιήστε το για να καθορίσετε τον παράγοντα βαθμονόμησης που χρησιμοποιεί το κύριο παράδειγμα. Εξάγει επίσης το μηδενικό_παράγοντα χρήσιμο για έργα που έχουν μόνιμη μάζα στην κλίμακα μεταξύ των κύκλων ισχύος. Ρυθμίστε την κλίμακα σας και ξεκινήστε το σκίτσο ΧΩΡΙΣ βάρος στην κλίμακα Μόλις εμφανιστούν οι ενδείξεις, τοποθετήστε το βάρος στην κλίμακα Πατήστε +/- ή a/z για να ρυθμίσετε τον παράγοντα βαθμονόμησης έως ότου οι ενδείξεις εξόδου να ταιριάζουν με το γνωστό βάρος Χρησιμοποιήστε αυτόν τον παράγοντα βαθμονόμησης στο παράδειγμα σκίτσο Αυτό το παράδειγμα υποθέτει λίρες (λίβρες). Εάν προτιμάτε τα κιλά, αλλάξτε το Serial.print ("lbs"). γραμμή σε κιλά. Ο συντελεστής βαθμονόμησης θα είναι σημαντικά διαφορετικός αλλά θα σχετίζεται γραμμικά με λίβρες (1 λίβρα = 0,453592 κιλά). Ο συντελεστής βαθμονόμησής σας μπορεί να είναι πολύ θετικός ή πολύ αρνητικός. Όλα εξαρτώνται από τη ρύθμιση του συστήματος κλίμακας σας και την κατεύθυνση που οι αισθητήρες εκτρέπουν από μηδενική κατάσταση. Αυτός ο κώδικας χρησιμοποιεί την εξαιρετική βιβλιοθήκη του bogde: "https://github.com/bogde/HX711" η βιβλιοθήκη του bogde κυκλοφορεί υπό μια GNU GENERAL PUBLIC LICENSE Arduino pin 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND Οι περισσότερες καρφίτσες στο Arduino Uno θα είναι συμβατές με DOUT/CLK. Ο πίνακας HX711 μπορεί να τροφοδοτηθεί από 2,7V έως 5V, οπότε η τροφοδοσία Arduino 5V πρέπει να είναι εντάξει. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale? float calibration_factor = -7050; //-7050 δούλεψε για τη μέγιστη ρύθμιση κλίμακας 440lb μου void setup () {Serial.begin (9600); Serial.println ("σκίτσο βαθμονόμησης HX711"); Serial.println ("Αφαίρεση όλου του βάρους από την κλίμακα"); Serial.println ("Αφού ξεκινήσουν οι αναγνώσεις, τοποθετήστε το γνωστό βάρος στην κλίμακα"). Serial.println ("Πατήστε + ή a για να αυξήσετε τον συντελεστή βαθμονόμησης"); Serial.println ("Πατήστε - ή z για μείωση του συντελεστή βαθμονόμησης"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (); scale.tare (); // Επαναφορά της κλίμακας σε 0 long zero_factor = scale.read_average (); // Λάβετε μια βασική ανάγνωση Serial.print ("Συντελεστής μηδέν:"); // Αυτό μπορεί να χρησιμοποιηθεί για να εξαλείψει την ανάγκη απόσβεσης της κλίμακας. Χρήσιμο σε έργα μόνιμης κλίμακας. Serial.println (zero_factor); } void loop () {scale.set_scale (calibration_factor); // Προσαρμογή σε αυτόν τον συντελεστή βαθμονόμησης Serial.print ("Ανάγνωση:"); Serial.print (scale.get_units (), 1); Serial.print ("lbs"); // Αλλάξτε το σε kg και επαναπροσαρμόστε τον συντελεστή βαθμονόμησης εάν ακολουθείτε τις μονάδες SI όπως ένα λογικό άτομο Serial.print ("calibration_factor:"); Serial.print (calibration_factor); Serial.println (); if (Serial.available ()) {char temp = Serial.read (); if (temp == ' +' || temp == 'a') calibration_factor += 10; else if (temp == ' -' || temp == 'z') calibration_factor -= 10; }}

Αφού βαθμονομήσετε την κλίμακα, μπορείτε να εκτελέσετε αυτό το δείγμα προγράμματος και, στη συνέχεια, να το σπάσετε για δικούς σας σκοπούς:

/*

Παράδειγμα με τη χρήση του SparkFun HX711 breakout board με μια κλίμακα Από: Nathan Seidle SparkFun Electronics Ημερομηνία: 19 Νοεμβρίου 2014 Άδεια: Αυτός ο κωδικός είναι δημόσιος τομέας, αλλά μου αγοράζετε μια μπύρα αν το χρησιμοποιήσετε και συναντηθούμε κάποτε (άδεια Beerware). Αυτό το παράδειγμα δείχνει την έξοδο βασικής κλίμακας. Δείτε το σκίτσο βαθμονόμησης για να λάβετε το calibration_factor για τη συγκεκριμένη ρύθμιση της κυψέλης φορτίου. Αυτό το παράδειγμα κώδικα χρησιμοποιεί την εξαιρετική βιβλιοθήκη του bogde: "https://github.com/bogde/HX711" η βιβλιοθήκη του bogde κυκλοφορεί με μια GNU GENERAL PUBLIC LICENSE Το HX711 κάνει ένα καλό πράγμα: διαβάζει κελιά φορτίου. Ο πίνακας διάσπασης είναι συμβατός με οποιοδήποτε κύτταρο φορτίου με βάση τη γέφυρα από σιτάρι, το οποίο θα επιτρέπει στον χρήστη να μετράει τα πάντα, από μερικά γραμμάρια έως δεκάδες τόνους. Arduino pin 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND Ο πίνακας HX711 μπορεί να τροφοδοτηθεί από 2,7V έως 5V, οπότε η τροφοδοσία Arduino 5V πρέπει να είναι εντάξει. */#include "HX711.h" #define calibration_factor -7050.0 // Αυτή η τιμή λαμβάνεται χρησιμοποιώντας το σκίτσο SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 HX711 scale? void setup () {Serial.begin (9600); Serial.println ("demo κλίμακας HX711"); scale.begin (LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale (calibration_factor); // Αυτή η τιμή λαμβάνεται με τη χρήση της κλίμακας σκίτσο SparkFun_HX711_Calibration.tare (); // Υποθέτοντας ότι δεν υπάρχει βάρος στην κλίμακα κατά την εκκίνηση, επαναφέρετε την κλίμακα στο 0 Serial.println ("Αναγνώσεις:"). } void loop () {Serial.print ("Ανάγνωση:"); Serial.print (scale.get_units (), 1); //scale.get_units () επιστρέφει ένα float Serial.print ("lbs"); // Μπορείτε να το αλλάξετε σε kg, αλλά θα πρέπει να επαναδιαμορφώσετε τον calibration_factor Serial.println (); }

Συνιστάται: