Ψηφιακή ζύγιση με χρήση Cell Cell και Arduino

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτήν την ανάρτηση πρόκειται να μάθουμε για την κυψέλη φόρτισης με βάση το στέλεχος. Θα διερευνήσουμε τι είναι το Strain Gauge, τι είναι το Cell Cell, το αποτέλεσμα θερμοκρασίας στο μετρητή πίεσης, η αντιστάθμιση θερμοκρασίας με τη γέφυρα Wheatstone και τον ενισχυτή Load cell HX711, και τέλος θα μάθουμε πώς να κατασκευάσουμε μια μηχανή ζύγισης με βάση το Arduino, εφαρμόζοντας το cell cell ως τον αισθητήρα βάρους.

Αυτή η ανάρτηση ασχολείται με τις μεθόδους μέτρησης και μέτρησης βάρους και την εφαρμογή των μεθόδων σε ένα κύκλωμα ζύγισης με βάση το Arduino.



Όλοι μας αρέσει να βλέπουμε το βάρος μας ανεξάρτητα από την ηλικία μας, ένα μικρό παιδί μπορεί να λατρεύει να βλέπει την αύξηση του βάρους του και οι ενήλικες μπορεί να αρέσει να βλέπουν την απώλεια βάρους του. Το βάρος είναι μια ζωτική ιδέα από την αρχαιότητα που βοήθησε στο εμπόριο αγαθών, στην ανάπτυξη επιστημονικών εξοπλισμών και εμπορικών προϊόντων.

Στη σύγχρονη εποχή, μετράμε βάρη σε χιλιόγραμμα, χιλιοστόγραμμα ακόμη και μικρογραμμάρια για εργαστηριακούς σκοπούς. Ένα γραμμάριο είναι ίδιο σε ολόκληρο τον κόσμο, όλη η συσκευή μέτρησης βάρους πρέπει να μετρά το ίδιο. Η μαζική παραγωγή ενός χαπιού με μικρή διαφορά λίγων χιλιοστογραμμάρια δοσολογίας είναι αρκετή για να κάνει ένα σωσίβιο χάπι σε ένα χάπι αυτοκτονίας.



Τι είναι το βάρος;

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

Η μάζα είναι η ποσότητα της φυσικής ύλης που υπάρχει σε ένα αντικείμενο.

Το βάρος εξαρτάται από έναν ακόμη παράγοντα: τη βαρύτητα.

Η βαρύτητα είναι σταθερή σε όλο τον κόσμο (Υπάρχουν μικρές διαφορές στη βαρύτητα λόγω του μη ομοιόμορφου σφαιρικού σχήματος της γης, αλλά είναι πολύ μικροσκοπική). Το βάρος 1 Kg στη γη θα έχει βάρος 160 γραμμάρια στο φεγγάρι με την ίδια ακριβώς μάζα, επειδή το φεγγάρι έχει πολύ πιο αδύναμη βαρυτική έλξη.

Τώρα ξέρετε τι είναι το βάρος και ποιοι είναι οι παράγοντες που κάνουν ένα αντικείμενο βαρύ.

Τι είναι το μετρητή πίεσης:

Ο μετρητής τάσης είναι ένας μορφοτροπέας ή ένας αισθητήρας που μετρά την καταπόνηση (παραμόρφωση) σε ένα αντικείμενο. Αυτό εφευρέθηκε από τον ηλεκτρολόγο μηχανικό Edward E. Simmons και τον μηχανικό μηχανικό Arthur Claude Ruge.

Εικόνα του Strain Gauge:

Αισθητήρας μετρητή πίεσης

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

Όταν εφαρμόζουμε βάρος ή δύναμη στην επιφάνεια παραμορφώνεται και το μανόμετρο παραμορφώνεται επίσης. Η παραμόρφωση του μανόμετρου προκαλεί την αλλαγή της ηλεκτρικής αντίστασης του μεταλλικού φύλλου.

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

Στην πραγματική ζωή, η αλλαγή στην αντίσταση του μανόμετρου είναι πολύ ασήμαντη στην ανίχνευση. Για να ανιχνεύσουμε μικρές αλλαγές στην αντίσταση χρησιμοποιούμε τη γέφυρα Wheatstone.

Ας δούμε ποια είναι η γέφυρα Wheatstone με λίγα λόγια.

Κατανόηση μιας γέφυρας Wheatstone:

Μια πέτρινη γέφυρα σιταριού είναι ένα κύκλωμα που μπορεί να χρησιμοποιηθεί για τον προσδιορισμό της άγνωστης αντίστασης. Η γέφυρα Wheatstone επινοήθηκε από τον Samuel Hunter Christie, αργότερα η γέφυρα Wheatstone ενισχύθηκε και διαδόθηκε από τον Sir Charles

Wheatstone.

Εικόνα του κυκλώματος γέφυρας Wheatstone:

Κύκλωμα γέφυρας Wheatstone

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

Χρησιμοποιώντας πέτρινη γέφυρα σιταριού μπορούμε να μετρήσουμε την αντίσταση σε χιλιοστά ohm.

Η πέτρινη γέφυρα σιταριού αποτελείται από 4 αντιστάσεις, από τις τέσσερις, 3 είναι γνωστή αντίσταση και μία είναι άγνωστη αντίσταση.

Η διαφορά δυναμικού (τάση) εφαρμόζεται στα σημεία 'A' και 'C' και από τα σημεία 'B' και 'D' συνδέεται ένα βολτόμετρο.

Εάν όλες οι αντιστάσεις είναι ίσες, δεν θα ρέει ρεύμα στα σημεία 'B' και 'D' και το βολτόμετρο θα διαβάζει μηδέν. Αυτό ονομάζεται ισορροπημένη γέφυρα.

Εάν η αντίσταση μιας αντίστασης είναι διαφορετική από τις άλλες τρεις αντιστάσεις, θα υπάρχει ροή τάσης μεταξύ των σημείων 'B' και 'D' και το βολτόμετρο θα διαβάσει κάποια τιμή ανάλογη με την άγνωστη αντίσταση. Αυτό ονομάζεται μη ισορροπημένη γέφυρα.

Εδώ η άγνωστη αντίσταση είναι ο μετρητής τάσης, όταν αλλάζει η αντίσταση, αντανακλά στο βολτόμετρο.

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

Ας συζητήσουμε τώρα πώς η θερμοκρασία επηρεάζει την απόδοση του μετρητή πίεσης.

Επιδράσεις θερμοκρασίας στο Strain Gauge:

Ο μετρητής τάσης είναι ευαίσθητος στη θερμοκρασία και μπορεί να βλάψει τις πραγματικές μετρήσεις βάρους / δύναμης. Όταν υπάρχει αλλαγή στη θερμοκρασία περιβάλλοντος, το μεταλλικό φύλλο υποβάλλεται σε επέκταση μετάλλου, η οποία επηρεάζει άμεσα την αντίσταση.

Μπορούμε να ακυρώσουμε το φαινόμενο θερμοκρασίας χρησιμοποιώντας τη γέφυρα Wheatstone. Ας δούμε πώς μπορούμε να αντισταθμίσουμε τη θερμοκρασία χρησιμοποιώντας τη γέφυρα Wheatstone.

Αντιστάθμιση θερμοκρασίας:

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

Τι είναι το Cell Cell;

Το Load cell είναι προφίλ αλουμινίου με μανόμετρο προσαρμοσμένο σε 4 πλευρές στη διαμόρφωση γέφυρας Wheatstone.

Απεικόνιση του κελιού φόρτωσης:

Φόρτωση συσκευής κυψέλης

Αυτός ο τύπος κυψέλης φορτίου είναι άκαμπτος και χρησιμοποιείται συνήθως σε βιομηχανίες. Υπάρχουν 4 βίδες στήριξης, η μία πλευρά είναι βιδωμένη σε σταθερή επιφάνεια και το άλλο άκρο βιδώνεται σε ένα στήριγμα (ας πούμε καλάθι) για να συγκρατεί το προς μέτρηση αντικείμενο.

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

Μια γεμάτη γέφυρα αποτελείται από 4 ακροδέκτες, δηλαδή E +, E-, τα οποία είναι καλώδια διέγερσης μέσω των οποίων εφαρμόζεται η τάση τροφοδοσίας. Τα άλλα δύο καλώδια είναι S + και S-, τα οποία είναι καλώδια σήματος, από τα οποία μετράται η τάση.

Τώρα αυτές οι τάσεις βρίσκονται στο εύρος των millivolt δεν είναι αρκετά ισχυρές για να διαβάζει και να επεξεργάζεται ένας μικροελεγκτής. Χρειαζόμαστε ενίσχυση και μικροσκοπικές αλλαγές πρέπει να είναι ορατές στον μικροελεγκτή. Για να γίνει αυτό, υπάρχει ειδική μονάδα που ονομάζεται ενισχυτές κυψέλης φόρτωσης, ας ρίξουμε μια επισκόπηση σχετικά με αυτό.

Ενισχυτής κυψέλης φόρτωσης HX711:

Εικόνα της μονάδας ενισχυτή κυψέλης HX711:

Φορτώστε τον ενισχυτή κυψέλης HX711

Ο ενισχυτής κυψέλης φορτίου βασίζεται στον IC HX711, ο οποίος είναι αναλογικός προς ψηφιακός μετατροπέας 24-bit ειδικά σχεδιασμένος για μετρήσεις βάρους. Έχει διαφορετικά επιλέξιμα κέρδη 32, 64 και 128 και λειτουργεί σε 2,6 έως 5,5 V.
Αυτός ο πίνακας ξεμπλοκαρίσματος βοηθά στην ανίχνευση μικρών παραλλαγών στο στοιχείο φόρτωσης. Αυτή η ενότητα απαιτεί τη λειτουργία βιβλιοθήκης HX711.h

Arduino ή οποιουσδήποτε άλλους μικροελεγκτές.

Το στοιχείο φόρτωσης θα συνδεθεί με τη μονάδα HX711 και η μονάδα θα συνδεθεί με το Arduino. Το κύκλωμα μέτρησης βάρους πρέπει να αναπτυχθεί με αυτόν τον τρόπο.

Εν κατακλείδι, τώρα ξέρετε τι είναι ο μετρητής πίεσης, τι είναι η γέφυρα Wheatstone, οι επιδράσεις της θερμοκρασίας στο μετρητή πίεσης, η αντιστάθμιση θερμοκρασίας και ποιος είναι ο ενισχυτής κυψελών φορτίου.

Έχουμε κατανοήσει πλήρως το θεωρητικό μέρος του σχεδιασμού κλίμακας ζύγισης από την παραπάνω συζήτηση, τώρα ας δούμε πώς μπορεί να χρησιμοποιηθεί ένα κελί loas για την κατασκευή μιας μηχανικής κλίμακας ζύγισης χρησιμοποιώντας το Arduino

Σχεδιάζοντας μια μηχανή ψηφιακής ζύγισης χρησιμοποιώντας το Arduino

Στις ακόλουθες συζητήσεις θα μάθουμε πώς να κατασκευάσουμε μια μηχανή ψηφιακής κλίμακας βάρους χρησιμοποιώντας το Arduino το οποίο μπορεί να μετρήσει βάρη από λίγα γραμμάρια έως 40 κιλά (ανάλογα με τις προδιαγραφές του στοιχείου φόρτωσης) με εύλογη ακρίβεια. Θα μάθουμε για την ταξινόμηση των κυψελών φορτίου ακριβείας και θα βαθμονομήσουμε το προτεινόμενο κύκλωμα και θα ολοκληρώσουμε τη μηχανή κλίμακας βάρους.

Σημείωση: Αυτό το κύκλωμα ενδέχεται να μην συμμορφώνεται με τα πρότυπα που απαιτούνται για την εμπορική εφαρμογή.

Οι μηχανές κλίμακας βάρους χρησιμοποιούνται σε διάφορες ποικιλίες συναλλαγών και έρευνας που κυμαίνονται από χιλιοστόγραμμα έως αρκετούς τόνους. Η μέγιστη κλίμακα της προτεινόμενης κλίμακας βάρους εξαρτάται από τις προδιαγραφές του στοιχείου φόρτωσης. Υπάρχουν σειρές από 500 γραμμάρια, 1 κιλό, 5 κιλά, 10 κιλά, 20 κιλά και 40 κιλά κ.λπ.

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

Ταξινόμηση κατηγορίας ακρίβειας κυψελών φορτίου:

Οι διαφορετικές κατηγορίες ακρίβειας ορίζονται για διαφορετικά είδη εφαρμογών. Η παρακάτω ταξινόμηση είναι από τη χαμηλότερη ακρίβεια έως το υψηλότερο εύρος ακρίβειας.

Τα κελιά φόρτωσης με χαμηλότερη ακρίβεια (αλλά λογικά ακριβή) ταξινομούνται ως D1, C1 και C2. Αυτό είναι αρκετό για αυτό το έργο. Αυτά τα φορτία χρησιμοποιούνται για τη μέτρηση του βάρους της άμμου, του τσιμέντου ή του νερού.

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

Τα C4, C5, C6 είναι τα καλύτερα στην ακρίβεια της κατηγορίας, αυτοί οι βαθμοί κυψελών φορτίου χρησιμοποιούνται για τη μέτρηση σε γραμμάρια έως μικρογραμμάρια. Αυτά τα μαθήματα βαθμού χρησιμοποιούνται σε ζυγαριές καταστημάτων, παρακολούθηση παραγωγής μεγάλης κλίμακας, συσκευασία τροφίμων και εργαστηριακή χρήση κ.λπ.

Ας δούμε τώρα τις τεχνικές λεπτομέρειες του έργου.

Διάγραμμα κυκλώματος:

Φόρτωση σύνδεσης κυψέλης HX711 σε Arduino και φόρτωση κυψέλης.

Φόρτωση σύνδεσης κυψέλης HX711 σε Arduino και φόρτωση κυψέλης.

Το έργο αποτελείται από πλακέτα ενισχυτή κυψελών Arduino, Load cell και HX711 και έναν υπολογιστή. Η έξοδος μπορεί να παρακολουθείται στη σειριακή οθόνη του Arduino IDE.

Ο εγκέφαλος του έργου είναι όπως πάντα το arduino, μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο Arduino board. Το HX711 είναι 24 bit ADC, το οποίο μπορεί να βρει το πιο λεπτό εύκαμπτο λόγω βάρους στο κελί φόρτωσης. Μπορεί να λειτουργήσει από 2,7 V έως 5 V. Η ισχύς παρέχεται από την πλακέτα Arduino.

Η κυψέλη φορτίου έχει τέσσερα σύρματα γενικά, η οποία είναι η έξοδος από το διαμορφωμένο γέφυρα πίεσης Wheatstone.

Το κόκκινο καλώδιο είναι E +, το μαύρο καλώδιο είναι E-, το πράσινο καλώδιο είναι A- και το άσπρο καλώδιο είναι A +. Ορισμένες μονάδες HX711 καθορίζουν το όνομα των ακροδεκτών του στοιχείου φόρτωσης και μερικές μονάδες HX711 καθορίζουν τα χρώματα των καλωδίων, ένα τέτοιο μοντέλο απεικονίζεται στο διάγραμμα κυκλώματος.

Ο ακροδέκτης DATA του HX711 συνδέεται με τον ακροδέκτη # 3 του Arduino και ο ακροδέκτης ρολογιού του HX711 συνδέεται με τον ακροδέκτη # 2 του Arduino.

Πώς να τοποθετήσετε το κελί φόρτωσης:

πώς να εγκαταστήσετε ένα loadcell με το Arduino

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

Ένα λεπτό ξύλο ή λεπτή πλάκα μπορεί να χρησιμοποιηθεί για τη συγκράτηση του βάρους μέτρησης όπως απεικονίζεται παραπάνω.

Έτσι, όταν τοποθετείτε ένα βάρος, η κυψέλη φόρτωσης κάμπτει έτσι το μετρητή πίεσης και αλλάζει την αντίστασή του, η οποία μετριέται από τη μονάδα HX711 και τροφοδοτείται στο Arduino.

Μόλις ολοκληρωθεί η εγκατάσταση του υλικού, ας ανεβάσετε τον κώδικα και να βαθμονομήσετε.

Βαθμονόμηση του κυκλώματος:

Υπάρχουν δύο προγράμματα το ένα είναι το πρόγραμμα βαθμονόμησης (εύρεση του παράγοντα βαθμονόμησης). Ένας άλλος κωδικός είναι το πρόγραμμα μέτρησης βάρους, ο συντελεστής βαθμονόμησης που βρέθηκε από τον κωδικό προγράμματος βαθμονόμησης πρέπει να εισαχθεί στο πρόγραμμα μέτρησης βάρους.

Ο συντελεστής βαθμονόμησης καθορίζει την ακρίβεια της μέτρησης βάρους.

Κατεβάστε τη βιβλιοθήκη HX711 εδώ: github.com/bogde/HX711

Κωδικός προγράμματος βαθμονομήσεων:

//-------------------- --------------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -96550
char var
void setup()
{
Serial.begin(9600)
Serial.println('------------- Weight Scale Calibration --------------')
Serial.println('Press Q,W,E,R or q,w,e,r to increase calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press A,S,D,F or a,s,d,f to decrease calibration factor by 10,100,1000,10000 respectively')
Serial.println('Press 'T' or 't' for tare')
scale.set_scale()
scale.tare()
long zero_factor = scale.read_average()
Serial.print('Zero factor: ')
Serial.println(zero_factor)
}
void loop()
{
scale.set_scale(CalibrationFactor)
Serial.print('Reading: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
Serial.print('Calibration Factor is: ')
Serial.println(CalibrationFactor)
Serial.println('--------------------------------------------')
if (Serial.available())
{
var = Serial.read()
if (var == 'q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'a')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'w')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 's')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'e')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'd')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'r')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'f')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 'Q')
{
CalibrationFactor = CalibrationFactor + 10
}
else if (var == 'A')
{
CalibrationFactor = CalibrationFactor - 10
}
else if (var == 'W')
{
CalibrationFactor = CalibrationFactor + 100
}
else if (var == 'S')
{
CalibrationFactor = CalibrationFactor - 100
}
else if (var == 'E')
{
CalibrationFactor = CalibrationFactor + 1000
}
else if (var == 'D')
{
CalibrationFactor = CalibrationFactor - 1000
}
else if (var == 'R')
{
CalibrationFactor = CalibrationFactor + 10000
}
else if (var == 'F')
{
CalibrationFactor = CalibrationFactor - 10000
}
else if (var == 't')
{
scale.tare()
}
else if (var == 'T')
{
scale.tare()
}
}
}
//-------------------- --------------------//

Τρόπος βαθμονόμησης:

  • Με την ολοκλήρωση της εγκατάστασης υλικού ανεβάστε τον παραπάνω κωδικό.
  • Αφαιρέστε τη λεπτή πλάκα ή το ξύλο που χρησιμοποιείται για τη συγκράτηση του βάρους συμπεριλαμβανομένων των δύο βιδών (η άλλη πλευρά του στοιχείου φόρτωσης πρέπει να στερεωθεί σε βάση)
  • Ανοίξτε τη σειριακή οθόνη.
  • Τοποθετήστε ένα γνωστό βάρος στο κελί φόρτωσης απευθείας, 100 γραμμάρια (ας πούμε).
  • Τύπος Q, W, E, R για αύξηση του συντελεστή βαθμονόμησης κατά 10.100.1000.10000 αντίστοιχα.
  • Τύπος A, S, D, F για μείωση του συντελεστή βαθμονόμησης κατά 10.100.1000.10000 αντίστοιχα.
  • Πατήστε 'Enter' μετά από κάθε αύξηση ή μείωση του συντελεστή βαθμονόμησης.
  • Αυξήστε ή μειώστε τον συντελεστή βαθμονόμησης έως ότου εμφανιστεί το σωστό βάρος του γνωστού υλικού βάρους.
  • Η λειτουργία απόβαρου είναι να ρυθμίσετε τη ζυγαριά στο μηδέν, αυτό είναι χρήσιμο όταν θέλετε να μετρήσετε το βάρος του νερού (ας πούμε) χωρίς το βάρος του μπολ. Τοποθετήστε το μπολ πρώτα, πιέστε το απόβαρο και ρίξτε το νερό.
  • Σημειώστε τον συντελεστή βαθμονόμησης και σημειώστε τον αφού εμφανιστεί το βάρος γνώσης.

Τώρα μπορεί να μετρήσει άγνωστα βάρη.

Κωδικός προγράμματος μέτρησης βάρους:

//---------------- ----------------//
#include
const int out = 3
const int clck = 2
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
Serial.begin(9600)
Serial.println('Press 'T' or 't' to tare')
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
Serial.print('Weight: ')
Serial.print(scale.get_units(), 3)
Serial.println(' Kilogram')
if (Serial.available())
{
char var = Serial.read()
if (var == 't')
{
scale.tare()
}
if (var == 'T')
{
scale.tare()
}
}
}
//---------------- ----------------//

float CalibrationFactor = -12000

Αντικαταστήστε το -12000 με τον συντελεστή βαθμονόμησης που βρήκατε. Μπορεί να είναι αρνητικός ή θετικός.

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

Μηχανή κλίμακας βάρους που χρησιμοποιεί οθόνη LCD

Το παραπάνω άρθρο εξήγησε ένα σύστημα ζύγισης με βάση το Arduino χρησιμοποιώντας τον υπολογιστή σας, στην ακόλουθη ενότητα θα προσπαθήσουμε να δημιουργήσουμε μια πρακτική έκδοση του μηχανήματος κλίμακας βάρους προσθέτοντας οθόνη LCD 16 x 2, έτσι ώστε να μην εξαρτώνται από έναν υπολογιστή κατά τη μέτρηση βάρη. Σε αυτήν την ανάρτηση προτείνονται δύο εκδόσεις, μία με οθόνη LCD 'I2C' 16 x 2 και μία χωρίς οθόνη LCD 'I2C' 16 x 2.

Εδώ δίνονται δύο επιλογές, έτσι ώστε οι αναγνώστες να μπορούν να επιλέξουν το σχέδιο σύμφωνα με τις ανάγκες τους. Η κύρια διαφορά μεταξύ των δύο είναι οι συνδέσεις καλωδίων με τη μονάδα προσαρμογέα I2C, απαιτούνται μόνο 4 καλώδια (Vcc, GND, SCL και SDA) για τη λειτουργία της οθόνης LCD, ενώ χωρίς προσαρμογέα I2C χρειάζεστε πολλά καλώδια για να συνδεθείτε μεταξύ της οθόνης Arduino και LCD.

Ωστόσο, και οι δύο λειτουργούν ακριβώς το ίδιο, ορισμένοι προτιμούν το I2C σε σχέση με το συμβατικό και κάποιοι προτιμούν το αντίστροφο, οπότε εδώ είναι και τα δύο σχέδια.

Ας ρίξουμε μια ματιά στη συμβατική σχεδίαση LCD:

Διάγραμμα κυκλώματος:

arduino, οθόνη LCD 16 x 2 και ποτενσιόμετρο 10K για ρύθμιση της αντίθεσης οθόνης LCD

Στο παραπάνω σχήμα έχουμε το arduino, οθόνη LCD 16 x 2 και ποτενσιόμετρο 10K για ρύθμιση της αντίθεσης οθόνης LCD.

3,3 V μπορούν να τροφοδοτηθούν από το Arduino σε οθόνη LCD για οπίσθιο φωτισμό. Παρέχεται ένα κουμπί για να μηδενιστεί η ένδειξη βάρους. Αυτή η λειτουργία θα εξηγηθεί λεπτομερώς στο τέλος.

Πρόκειται απλώς για σύνδεση μεταξύ LCD και Arduino, η σύνδεση μεταξύ κυψέλης φόρτωσης και ενισχυτή κυψέλης φόρτωσης με Arduino εμφανίζεται στην προηγούμενη ενότητα.

Κωδικός για μηχανή κλίμακας βάρους LCD:

// -------- Program developed by R.GIRISH -------//
#include
#include
const int rs = 10
const int en = 9
const int d4 = 8
const int d5 = 7
const int d6 = 6
const int d7 = 5
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
void setup()
{
lcd.begin(16, 2)
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0, 0)
lcd.print(' Weight Scale')
lcd.setCursor(0, 1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Tare ......')
lcd.setCursor(0, 1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

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

Circuit Diagram Arduino και οθόνη LCD με προσαρμογέα I2C:

Οθόνη Arduino και LCD με προσαρμογέα I2C

Εδώ έχουμε μια οθόνη Arduino και LCD με προσαρμογέα I2C στο πίσω μέρος. Τώρα οι συνδέσεις καλωδίων απλοποιούνται και είναι ευθείες προς τα εμπρός.

Απεικόνιση της ενότητας I2C:

Ενότητα I2C

Αυτή η μονάδα μπορεί να κολληθεί απευθείας στο πίσω μέρος μιας κανονικής οθόνης LCD 16 x 2 ή ακόμη και 20 x 4 και να ακολουθήσει το σχηματικό διάγραμμα.

Και πάλι, ανατρέξτε στην προηγούμενη ενότητα για σύνδεση κυψέλης φόρτωσης, ενισχυτή κυψέλης φόρτωσης και Arduino.

Κατεβάστε την ακόλουθη βιβλιοθήκη για βάση I2C:

github.com/marcoschwartz/LiquidCrystal_I2C

github.com/PaulStoffregen/Wire

Κωδικός για κύκλωμα βάρους με βάση το I2C:

// -------- Program developed by R.GIRISH -------//
#include
#include
#include
const int out = 3
const int clck = 2
const int Tare = 4
HX711 scale(out, clck)
float CalibrationFactor = -12000 // Replace -12000 the calibration factor.
LiquidCrystal_I2C lcd(0x27, 16, 2)
void setup()
{
lcd.init()
lcd.backlight()
pinMode(Tare, INPUT)
digitalWrite(Tare, HIGH)
lcd.setCursor(0,0)
lcd.print(' Weight Scale')
lcd.setCursor(0,1)
lcd.print(' Machine')
delay(2000)
scale.set_scale(CalibrationFactor)
scale.tare()
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Weight:')
lcd.print(scale.get_units(), 3)
lcd.print(' Kg')
delay(200)
if (digitalRead(Tare) == LOW)
{
scale.tare()
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Tare ......')
lcd.setCursor(0,1)
lcd.print('Setting to 0 Kg.')
delay(1000)
}
}
// -------- Program developed by R.GIRISH -------//

ΣΗΜΕΙΩΣΗ:

Πρέπει να εισαγάγετε τον συντελεστή βαθμονόμησης στον κωδικό πριν ανεβάσετε έναν από τους κωδικούς στο Arduino.

float CalibrationFactor = -12000

Η απόκτηση του συντελεστή βαθμονόμησης εξηγείται σε μία από τις προηγούμενες ενότητες παραπάνω.

Λειτουργία απόβαρου:

Η λειτουργία απόβαρου σε κλίμακα βάρους είναι να μηδενίσει τις μετρήσεις. Για παράδειγμα, εάν έχουμε ένα καλάθι στο οποίο φορτώνονται τα προϊόντα, τότε το καθαρό βάρος θα είναι το βάρος του καλαθιού + το βάρος των εμπορευμάτων.

Εάν πατήσουμε το κουμπί απόβαρου με καλάθι στο κελί φόρτωσης πριν από τη φόρτωση των εμπορευμάτων, το βάρος του καλαθιού θα παραμεληθεί και μπορούμε να μετρήσουμε μόνο το βάρος των εμπορευμάτων.

Εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με αυτό το πρακτικό κύκλωμα ζύγισης LCD με βάση το Arduino, παρακαλούμε εκφράστε στην ενότητα σχολίων για να λάβετε μια γρήγορη απάντηση.




Προηγούμενο: Κύκλωμα επαφής στερεάς κατάστασης για αντλίες κινητήρα Επόμενο: Πώς να φτιάξετε μετασχηματιστές Step Down