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

Έλεγχος μπαταρίας με θερμοκρασία και επιλογή μπαταρίας: 23 βήματα (με εικόνες)
Έλεγχος μπαταρίας με θερμοκρασία και επιλογή μπαταρίας: 23 βήματα (με εικόνες)

Βίντεο: Έλεγχος μπαταρίας με θερμοκρασία και επιλογή μπαταρίας: 23 βήματα (με εικόνες)

Βίντεο: Έλεγχος μπαταρίας με θερμοκρασία και επιλογή μπαταρίας: 23 βήματα (με εικόνες)
Βίντεο: Ξύλο μεταξύ κάμεραμαν του ΣΚΑΙ και πολίτη 2024, Νοέμβριος
Anonim
Image
Image
Αλλαγή από το έργο βάσης
Αλλαγή από το έργο βάσης

Δοκιμαστής χωρητικότητας μπαταρίας.

Με αυτήν τη συσκευή μπορείτε να ελέγξετε τη χωρητικότητα μπαταρίας 18650, οξέος και άλλων (η μεγαλύτερη μπαταρία που δοκίμασα Είναι μπαταρία 6v Acid 4, 2A). Το αποτέλεσμα της δοκιμής είναι σε milliampere/ώρες.

Δημιουργώ αυτήν τη συσκευή επειδή το χρειάζομαι για να ελέγξω τη χωρητικότητα της πλαστής μπαταρίας της Κίνας.

Για λόγους ασφάλειας, πρόσθεσα, χρησιμοποιώντας ένα θερμίστορ, τη θερμοκρασία της αντίστασης ισχύος και της μπαταρίας για να αποφύγω την υπερβολική ζέστη, με αυτό το κόλπο μπορώ να ελέγξω την μπαταρία 6v Acid χωρίς να πυρπολήσω την πλακέτα (στον κύκλο εκφόρτισης για λίγο, μεταβείτε στην αντίσταση θερμής ισχύος και η συσκευή περιμένει 20 δευτερόλεπτα για να μειώσει τη θερμοκρασία).

Επιλέγω μικρό μικροελεγκτή atmega328 συμβατό nano (eBay).

Όλος ο κωδικός είναι εδώ.

Βήμα 1: Αλλαγή από το έργο βάσης

Έκλεψα την ιδέα από το έργο του OpenGreenEnergy και ξανακάνω τον πίνακα για να προσθέσω λειτουργίες, οπότε τώρα γίνε πιο γενικός.

v0.1

  • Το VCC του Arduino υπολογίζεται τώρα αυτόματα.
  • Προστέθηκε μεταβλητή για να αλλάξετε τη ρύθμιση με πιο άνετο τρόπο.
  • Προστέθηκε ποσοστό απόρριψης
  • Προστέθηκε θερμοκρασία μπαταρίας και αντίσταση ισχύος

v0.2

  • Προστέθηκε η δυνατότητα επιλογής μπαταρίας
  • Δημιουργήθηκε πρωτότυπο πίνακα (δείτε το σχηματικό), με την οθόνη, το κουμπί και το ηχείο έξω από τον πίνακα γιατί στο μέλλον θα ήθελα να δημιουργήσω ένα πακέτο.
  • Προστέθηκε διαχείριση του ορίου θερμοκρασίας στην αντίσταση ισχύος, ώστε να μπορώ να αποκλείσω τη διαδικασία όταν η θερμοκρασία ανέβει πέραν των 70 ° (πάνω από αυτή τη μείωση της αντίστασης ισχύος θερμοκρασίας).

v0.3

Σύντομα ένας πίνακας από αυτήν την υπηρεσία

Βήμα 2: V0.2 του Δ. Σ

V0.2 του Δ. Σ
V0.2 του Δ. Σ

Στο v0.2 για υποστήριξη διαφόρων τύπων μπαταριών, δημιούργησα μια δομή που πρέπει να γεμίσει με όνομα μπαταρίας, ελάχιστη τάση και μέγιστη τάση (χρειάζομαι βοήθεια για να την γεμίσω: P).

// Δομή μπαταρίας typestruct BatteryType {char name [10]; float maxVolt? float minVolt? }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Τώρα χρησιμοποιώ ένα σετ αντιστάσεων 10k για το διαχωριστή τάσης για να διαβάσω τη διπλή θερμοκρασία της αναλογικής εισόδου. Εάν θέλετε να αλλάξετε την υποστήριξη τάσης, πρέπει να αλλάξετε αυτήν την τιμή (εξηγήστε καλύτερα στη συνέχεια):

// Αντίσταση τάσης μπαταρίας

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Αντίσταση τάσης αντίστασης ισχύος #καθορίστε RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0

Εάν δεν χρησιμοποιείτε θερμίστορ, ορίστε αυτό σε false:

#define USING_BATTERY_TERMISTOR true

#define USING_RESISTO_TERMISTOR true

Εάν χρησιμοποιείτε διαφορετική οθόνη i2c, πρέπει να ξαναγράψετε αυτήν τη μέθοδο:

κενή κλήρωση (άκυρη)

Στο έργο, μπορείτε να βρείτε συναρπαστικά σχήματα, φωτογραφίες και πολλά άλλα.

Βήμα 3: Πίνακας ψωμιού: Ο ελεγκτής εμφάνισης χαρακτήρων I2c επεκτάθηκε

Breadboard: Ο ελεγκτής οθόνης χαρακτήρων I2c επεκτάθηκε
Breadboard: Ο ελεγκτής οθόνης χαρακτήρων I2c επεκτάθηκε

Χρησιμοποίησα μια γενική οθόνη χαρακτήρων και έχτισα το χειριστήριο i2c και το χρησιμοποίησα με την προσαρμοσμένη βιβλιοθήκη μου.

Αλλά αν θέλετε, μπορείτε να πάρετε έναν κανονικό ελεγκτή i2c (λιγότερο από 1 €) με μια τυπική βιβλιοθήκη, ο κώδικας παραμένει ο ίδιος. Όλος ο κώδικας οθόνης είναι σε λειτουργία κλήρωσης, ώστε να μπορείτε να τον αλλάξετε χωρίς να αλλάξετε άλλα πράγματα.

Καλύτερα να εξηγηθεί εδώ.

Βήμα 4: Πίνακας ψωμιού: Οθόνη χαρακτήρων με ενσωματωμένο το I2c

Breadboard: Οθόνη χαρακτήρων με ενσωματωμένο I2c
Breadboard: Οθόνη χαρακτήρων με ενσωματωμένο I2c

Το ίδιο σχήμα χωρίς έλεγχο i2c επεκτάθηκε.

Βήμα 5: Πραγματοποίηση

Για τη μέτρηση της τάσης χρησιμοποιούμε την αρχή ενός διαχωριστή τάσης (περισσότερες πληροφορίες στη Wikipedia).

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

batResValueGnd / (batResValueVolt + batResValueGnd)

Έβαλα τις 2 αντιστάσεις της τιμής batResValueVolt και batResValueGnd μετά και πριν από το καλώδιο αναλογικής ανάγνωσης.

batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

Το δείγμα 1 είναι οι μέσες αναλογικές αναγνώσεις.

vcc αναφορά τάσης Arduino.

Η 1023.0 είναι η μέγιστη τιμή αναφοράς της αναλογικής ανάγνωσης (η αναλογική ανάγνωση Arduino πηγαίνει από το 0 στο 1023).

Για να πάρετε το ρεύμα χρειάζεστε τάση μετά και πριν από αντίσταση ισχύος.

Όταν έχετε το μέτρο η τάση μετά και πριν από την αντίσταση ισχύος μπορείτε να υπολογίσετε χιλιοστόμετρο που καταναλώνει την μπαταρία.

Το MOSFET χρησιμοποιείται για την εκκίνηση και τη διακοπή της αποστράγγισης της μπαταρίας από την αντίσταση ισχύος.

Για λόγους ασφαλείας έβαλα 2 θερμίστορ για την παρακολούθηση της θερμοκρασίας της μπαταρίας και της αντίστασης ισχύος.

Βήμα 6: Επεκτασιμότητα

Εκτατο
Εκτατο
Εκτατο
Εκτατο

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

Εάν θέλετε τάση στήριξης μεγαλύτερη από 10v, πρέπει να αλλάξετε την τιμή της αντίστασης της μπαταρίας και της αντίστασης σύμφωνα με τον τύπο

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

στο σχήμα Τάση ισχύος αντίστασης

Τάση ισχύος αντιστάτη GND 1/2/(Τάση ισχύος αντιστάτη 2/2 + Τάση ισχύος αντιστάτη GND 1/2)

Το ροζ έχει κολλήσει

Βήμα 7: Λίστα μερών

Ποσότητα Τμήμα Ιδιότητες

  • 2 5mm Screw TermInal PCB Mount Screw Terminal Block 8A 250V LW SZUS (eBay)
  • 1 κλώνος Arduino Pro Mini (συμβατό Nano) (eBay)
  • 1 Basic FET P-Channel IRF744N ή IRLZ44N (eBay)
  • 11 Αντίσταση αντίστασης 10kΩ 10kΩ (eBay)
  • 2 Αισθητήρας θερμοκρασίας (Θερμίστορ) 10kΩ; (eBay)
  • * Γενική μορφή ανδρικής κεφαλίδας male (αρσενικό). (eBay)
  • * Γενική μορφή γυναικείας κεφαλίδας ♀ (θηλυκό). (eBay)
  • 1 πίνακας PerfBoard Πρωτότυπος πίνακας 24x18 (eBay)
  • 10R, 10W

    αντίσταση ισχύος (eBay) Βρίσκω τη δική μου σε μια παλιά τηλεόραση crt.

Βήμα 8: Πίνακας: Επαναφορά, κουμπί Gnd E για επιλογή μπαταρίας

Πίνακας: Επαναφορά, κουμπί Gnd E για επιλογή μπαταρίας
Πίνακας: Επαναφορά, κουμπί Gnd E για επιλογή μπαταρίας

Στο αριστερό μέρος των ακίδων μπορείτε να βρείτε το κουμπί και το βομβητή.

Χρησιμοποιώ 3 κουμπιά:

  1. ένα για αλλαγή τύπου μπαταρίας?
  2. ένα για να ξεκινήσει η αποφόρτιση της επιλεγμένης μπαταρίας.
  3. Στη συνέχεια, χρησιμοποιώ το pin reset για επανεκκίνηση όλων και ενεργοποίηση νέας λειτουργίας.

Όλος ο πείρος έχει ήδη τραβηχτεί, οπότε πρέπει να ενεργοποιήσετε με το VCC

Η επαναφορά ενεργοποιείται με το GND

Το ροζ έχει κολλήσει

Βήμα 9: Πίνακας: I2c και ακίδες τροφοδοσίας

Πίνακας: I2c και ακίδες τροφοδοσίας
Πίνακας: I2c και ακίδες τροφοδοσίας

Στη βάση μπορείτε να δείτε τα VCC, GND και SDA, SCL για εμφάνιση (και άλλα στο μέλλον).

Το ροζ έχει κολλήσει

Βήμα 10: Πίνακας: Θερμίστορ και μέτρηση τάσης

Πίνακας: Thermistor and Measuring Voltage
Πίνακας: Thermistor and Measuring Voltage

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

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

Το ροζ έχει κολλήσει

Βήμα 11: Πίνακας: Αντίσταση στη μέτρηση της τάσης

Πίνακας: Αντίσταση στη μέτρηση της τάσης
Πίνακας: Αντίσταση στη μέτρηση της τάσης
Πίνακας: Αντίσταση στη μέτρηση της τάσης
Πίνακας: Αντίσταση στη μέτρηση της τάσης

Εδώ μπορείτε να δείτε την αντίσταση που επιτρέπει την υποστήριξη τάσης διπλάσια από τον πείρο arduino (10v), πρέπει να την αλλάξετε για να υποστηρίξει περισσότερη τάση.

Το ροζ έχει κολλήσει

Βήμα 12: Βήμα συγκόλλησης: Όλες οι καρφίτσες

Βήμα συγκόλλησης: Όλες οι καρφίτσες
Βήμα συγκόλλησης: Όλες οι καρφίτσες
Βήμα συγκόλλησης: Όλες οι καρφίτσες
Βήμα συγκόλλησης: Όλες οι καρφίτσες

Αρχικά προσθέτω όλες τις καρφίτσες και το κολλάω.

Βήμα 13: Βήματα συγκόλλησης: Αντίσταση Pulldown και θερμίστορ

Βήματα συγκόλλησης: Αντίσταση Pulldown και θερμίστορ
Βήματα συγκόλλησης: Αντίσταση Pulldown και θερμίστορ
Βήματα συγκόλλησης: Αντίσταση Pulldown και θερμίστορ
Βήματα συγκόλλησης: Αντίσταση Pulldown και θερμίστορ

Στη συνέχεια, προσθέτω όλο το ρυθμιστικό ανύψωσης (για κουμπιά) και το σύνδεσμο i2c (οθόνη).

Στη συνέχεια, η αντίσταση ισχύος θερμίστορ Είναι πολύ σημαντικό, με την όξινη μπαταρία να ζεσταίνεται πολύ.

Βήμα 14: Βήματα συγκόλλησης: MOSFET, Αντίσταση στον έλεγχο τάσης

Βήματα συγκόλλησης: MOSFET, Αντοχή στον έλεγχο τάσης
Βήματα συγκόλλησης: MOSFET, Αντοχή στον έλεγχο τάσης
Βήματα συγκόλλησης: MOSFET, Αντοχή στον έλεγχο τάσης
Βήματα συγκόλλησης: MOSFET, Αντοχή στον έλεγχο τάσης

Τώρα πρέπει να εισάγουμε το mosfet για να ενεργοποιήσουμε την εκφόρτιση και την αντίσταση στον έλεγχο της τάσης.

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

Βήμα 15: Κωδικός

Ο μικροελεγκτής είναι συμβατός nano, οπότε πρέπει να ρυθμίσετε το IDE σας για να ανεβάσετε ένα Arduino Nano.

Για να εργαστείτε πρέπει να κατεβάσετε τον κώδικα από το αποθετήριο github μου.

Θα πρέπει να προσθέσετε 3 βιβλιοθήκες:

  1. Wire: τυπική βιβλιοθήκη arduino για πρωτόκολλο i2c.
  2. Βιβλιοθήκη Termistor από εδώ όχι η βιβλιοθήκη που μπορείτε να βρείτε στο arduino IDE, αλλά η έκδοση μου.
  3. LiquidCrystal_i2c: εάν χρησιμοποιείτε εκτεταμένη/προσαρμοσμένη έκδοση προσαρμογέα i2c (η δική μου έκδοση) πρέπει να κάνετε λήψη της βιβλιοθήκης από εδώ, εάν χρησιμοποιείτε το τυπικό στοιχείο, μπορείτε να πάρετε τη βιβλιοθήκη από το arduino IDE, αλλά όλα εξηγούνται καλύτερα εδώ.

Δεν δοκιμάζω την LCD με την τυπική βιβλιοθήκη, μου φαίνεται ότι είναι εναλλάξιμα, αλλά αν υπάρχει κάποιο πρόβλημα, μη διστάσετε να επικοινωνήσετε μαζί μου.

Βήμα 16: Αποτέλεσμα μετά τη συναρμολόγηση

Image
Image
Αποτέλεσμα μετά τη συναρμολόγηση
Αποτέλεσμα μετά τη συναρμολόγηση
Αποτέλεσμα μετά τη συναρμολόγηση
Αποτέλεσμα μετά τη συναρμολόγηση

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

Βήμα 17: Αρχικά επιλέξτε Τύπος μπαταρίας

Επιλέξτε πρώτα Τύπος μπαταρίας
Επιλέξτε πρώτα Τύπος μπαταρίας

Όπως περιγράφεται έχουμε έναν χάρτη αξίας με διαμόρφωση μπαταρίας.

// Δομή μπαταρίας typestruct BatteryType {char name [10]; float maxVolt? float minVolt? }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Βήμα 18: Ξεκινήστε την εκφόρτιση

Ξεκινήστε την εκφόρτιση
Ξεκινήστε την εκφόρτιση
Ξεκινήστε την εκφόρτιση
Ξεκινήστε την εκφόρτιση

Κάντε κλικ στο δεύτερο κουμπί έναρξης εκφόρτωσης.

Στην οθόνη μπορείτε να δείτε τρέχον milliampere, milliampere/ώρες, ποσοστό εκφόρτισης, τάση μπαταρίας και θερμοκρασία αντίστασης ισχύος και μπαταρίας.

Βήμα 19: Εξαιρέσεις: Η μπαταρία αφαιρέθηκε

Image
Image
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας

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

Βήμα 20: Εξαιρέσεις: Προειδοποίηση θερμοκρασίας

Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας
Εξαιρέσεις: Προειδοποίηση θερμοκρασίας

Εάν η θερμοκρασία (μπαταρία ή αντίσταση ισχύος) είναι υψηλή, η διαδικασία εκφόρτισης πάει σε παύση.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° στο φύλλο δεδομένων (Derating resistors) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Η προεπιλεγμένη τιμή για τη μέγιστη θερμοκρασία είναι 50 ° για την μπαταρία και 69 για την αντίσταση ισχύος.

Όπως μπορείτε να δείτε στο σχόλιο, η αντίσταση ισχύος επηρεάζεται από την απομείωση όταν υπερβαίνει τις 70 °.

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

Βήμα 21: Δοκιμή έντασης

Δοκιμή έντασης
Δοκιμή έντασης

Το αποτέλεσμα της δοκιμής έντασης είναι καλό.

Βήμα 22: Συσκευασία

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

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

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

Όταν έχω λίγο χρόνο το δημιουργώ και το δημοσιεύω.

Συνιστάται: