Οι κύριες παράμετροι του πίνακα εμφανίζονται στον ίδιο τον πίνακα.
Το κύριο στοιχείο του πίνακα είναι το τσιπ INA219. Το τσιπ INA219, παρά το μικρό του μέγεθος και τον μικρό αριθμό των ακίδων του, έχει μεγάλες δυνατότητες. Ο μικροκυκλώνας μετρά την τάση στο βραχυκύκλωμα (στους ακροδέκτες Vin + και Vin_) - έναν αντιστάτη με χαμηλή αντίσταση και στον πείρο Vin σε σχέση με τον πείρο GND, με τη σειρά του. Τα αποτελέσματα υπολογισμού εγγράφονται σε καταχωρητές, μετά μεταδίδονται στον μικροελεγκτή μέσω του διαύλου επικοινωνίας I2C. Ένας βραχίονας με αντίσταση 0,1 ohms είναι εγκατεστημένος στον πίνακα. Η τάση στο τσιπ μετράει τον μετατροπέα αναλογικού προς ψηφιακό του ADC. Το ADC μπορεί να λειτουργήσει σε λειτουργίες 9, 10, 11, 12 κνήμης. Ο τρόπος λειτουργίας του τσιπ διαμορφώνεται με την αλλαγή του καταχωρητή διαμόρφωσης. Ο κατασκευαστής διαθέτει ένα δωρεάν πρόγραμμα, INA219 EVM, για τη διαμόρφωση του τσιπ INA219. Αρχείο προγράμματος - sboc271.zip
Φύλλο δελτίου δεδομένων στο chip INA291 -
Προβολή ηλεκτρονικού αρχείου:
Ο μικροκυκλώτης έχει τη δυνατότητα να ρυθμίζει την ακρίβεια των μετρήσεων του, με άλλα λόγια, είναι δυνατή η βαθμονόμηση των αποτελεσμάτων της μέτρησης.
Για να επαληθευτεί η λειτουργία της πλακέτας στο τσιπ INA219, συναρμολογήθηκε το ακόλουθο κύκλωμα.
Η τροφοδοσία του πίνακα με το τσιπ INA219 πρέπει να τροφοδοτείται από το ταμπλό Arduino ή άλλη πηγή ενέργειας.
Για να συνεργαστούμε με το board στο τσιπ INA219 στο σύστημα προγραμματισμού Arduino IDE, χρειαζόμαστε μια βιβλιοθήκη. Οι αναζητήσεις στο Internet έδωσαν θετικό αποτέλεσμα. Βρήκα αρκετές βιβλιοθήκες, αλλά μου δούλεψε μόνο με δύο.
Η πρώτη βιβλιοθήκη από το Adafruit βρέθηκε - Adafruit_INA219-master.zip
Λειτουργεί, αλλά δεν μπόρεσα να συνδεθώ με το τσιπ INA219 όταν άλλαξα τη διεύθυνση διαύλου I2C. Από προεπιλογή, μια πλακέτα με τσιπ INA219 έχει μια διεύθυνση διαύλου I2C 0x40. Επίσης, δεν σας επιτρέπει να διαμορφώσετε τον τρόπο λειτουργίας του τσιπ INA219.
Η δεύτερη βιβλιοθήκη στερείται των ελλείψεων της πρώτης. Η δεύτερη βιβλιοθήκη εργασίας είναι Arduino-INA219-master.zip
Πώς εγκαθίστανται οι βιβλιοθήκες στο σύστημα προγραμματισμού Arduino IDE; Μπορείτε να πάρετε την απάντηση σε αυτή την ερώτηση από τα άρθρα μου ή από τις πληροφορίες που δημοσιεύονται στο Internet.
Θέλω να χρησιμοποιήσω τον πίνακα με το τσιπ INA219 για πειράματα. Θα είναι πιο βολικό για μένα να δουλέψω με αυτό αν κολλήσω τον συνδετήρα και τις ακίδες του BLS πάνω στον πίνακα.
Συναρμολογήσαμε το κύκλωμα, συνδέσαμε τις ακίδες δεδομένων (SDA) και Clok (SCL) με την πλακέτα Arduino UNO. Συνδέστε την έξοδο δεδομένων (SDA) στην υποδοχή Α4, συνδέστε την έξοδο Clok (SCL) με την υποδοχή A5 της πλακέτας Arduino UNO. Στη συνέχεια, ανοίξτε το πρόγραμμα Arduino IDE. Έχω ήδη εγκαταστήσει βιβλιοθήκες. Ανοίγουμε ένα παράδειγμα της πρώτης βιβλιοθήκης.
Αλλάξα τη γραμμή 9 στον κώδικα αντί του 115200, ορίζω 9600. Διαφορετικά, θα εμφανιστούν μουντζούρες στην οθόνη σειριακής θύρας αντί για αριθμούς και γράμματα. Επίσης, ρύθμισα τη θύρα του υπολογιστή με ταχύτητα 9600. Αυτό το έλεγξα στην πράξη.
Καταρτίζουμε το παράδειγμα getcurrent. Φορτώνουμε τα δεδομένα στον ελεγκτή της επιτροπής Arduino UNO. Ανοίξτε την οθόνη σειριακής θύρας στο πρόγραμμα Arduino UNO και δείτε το αποτέλεσμα μέτρησης που προέκυψε από το τσιπ INA219.
Το αποτέλεσμα μέτρησης του τσιπ INA219 ήταν ακριβές.
Στη συνέχεια, αποφάσισα να αλλάξω τη διεύθυνση του λεωφορείου I2C. Και πριν από αυτό, καθόρισε τη διεύθυνση του λεωφορείου I2C του σκάφους INA219 με τη βοήθεια ενός σκίτσου, όπως έκανα στο άρθρο "Αρχική μετεωρολογικός σταθμός GY-BMP280-3.3 και Ds18b20»
Για να αλλάξω τη διεύθυνση διαύλου I2C του πίνακα από το τσιπάκι INA219, έβαλα το jumper και έκανα μια νέα διεύθυνση διαύλου I2C.
Τότε έχω κατεβάσει το παράδειγμα από τη δεύτερη βιβλιοθήκη.
Για να μπορέσει ο συνδυασμένος κώδικας (που μετατρέπεται σε μορφή κατάλληλη για εγγραφή στον μικροελεγκτή της πλατφόρμας Arduino UNO) να μπορεί να δουλεύει με το διοικητικό συμβούλιο στο chip INA219 με τη διεύθυνση 0x44, πρέπει να αλλάξετε τη γραμμή ina.begin () στο παράδειγμα. στη συμβολοσειρά ina.begin (68);
Γιατί 68; Και επειδή 68 = 0 x 44, 68 είναι ένας αριθμός στο σύστημα δεκαδικού αριθμού, 0 x 44 είναι ένας αριθμός στο σύστημα οκταδικού αριθμού.
Για να μεταφράσετε αριθμούς, μπορείτε να χρησιμοποιήσετε την τυπική αριθμομηχανή.
Μετά την αλλαγή της γραμμής σύνταξης του παραδείγματος, αναβοσβήνοντας τον κώδικα στο Arduino UNO στην οθόνη σειριακής θύρας, είδα τα εξής.
Καλή τύχη σε όλους στις προσπάθειές σας και τις πράξεις σας!
Κόστος: ~ 80