- Μέτρηση μεμονωμένης τάσης κυψέλης σε σειρά μπαταριών
- Διαφορικό κύκλωμα για τη μέτρηση της μεμονωμένης τάσης κυψέλης
- Διάγραμμα κυκλώματος
- Σχεδιασμός και Κατασκευή PCB χρησιμοποιώντας το Easy EDA
- Υπολογισμός και παραγγελία δειγμάτων στο διαδίκτυο
- Δοκιμή του κυκλώματος παρακολούθησης τάσης
- Μέτρηση της τάσης των κυττάρων λιθίου με χρήση του Arduino
- Προγραμματισμός του Arduino
- Ατομική οθόνη τάσης κυττάρων λειτουργεί
Η χιλιομετρική απόσταση και η απόδοση ενός ηλεκτρικού οχήματος εξαρτάται από την χωρητικότητα και την απόδοση της μπαταρίας του. Η διατήρηση της μπαταρίας σε πλήρη υγεία είναι ευθύνη του Συστήματος Διαχείρισης Μπαταριών (BMS). Το BMS είναι μια εξελιγμένη μονάδα σε ένα EV που κάνει πολλή δραστηριότητα όπως η παρακολούθηση των κυττάρων, η εξισορρόπησή τους και ακόμη και η προστασία τους από τις αλλαγές θερμοκρασίας. Το έχουμε ήδη μάθει αρκετά σε αυτό το άρθρο του Συστήματος Διαχείρισης Μπαταρίας, οπότε ελέγξτε τα εάν είστε νέοι εδώ.
Για να κάνουμε οτιδήποτε, το πρώτο βήμα για το BMS θα ήταν να γνωρίζουμε την τρέχουσα κατάσταση των κυττάρων στην μπαταρία λιθίου. Αυτό γίνεται μετρώντας την τάση και το ρεύμα (μερικές φορές επίσης τη θερμοκρασία) των κυψελών στη συσκευασία. Μόνο με αυτές τις δύο τιμές, το BMS θα μπορούσε να υπολογίσει το SOC ή το SOH και να πραγματοποιήσει εξισορρόπηση κυττάρων κ.λπ. Έτσι, η μέτρηση της τάσης και του ρεύματος της κυψέλης είναι ζωτικής σημασίας για οποιοδήποτε κύκλωμα BMS, είτε πρόκειται για μια απλή τράπεζα τροφοδοσίας ή μπαταρία φορητού υπολογιστή ή τόσο περίπλοκο πακέτο όσο το EV / Ηλιακές μπαταρίες.
Σε αυτό το άρθρο θα μάθουμε πώς μπορούμε να μετρήσουμε την μεμονωμένη τάση κυψέλης των κυττάρων που χρησιμοποιούνται σε μια μπαταρία λιθίου. Για χάρη αυτού του έργου θα χρησιμοποιήσουμε τέσσερα κελιά λιθίου 18650 συνδεδεμένα σε σειρά για να σχηματίσουμε μια μπαταρία και να σχεδιάσουμε ένα απλό κύκλωμα χρησιμοποιώντας op-amp για τη μέτρηση των μεμονωμένων τάσεων κυψέλης και την εμφάνισή του σε μια οθόνη LCD χρησιμοποιώντας το Arduino.
Μέτρηση μεμονωμένης τάσης κυψέλης σε σειρά μπαταριών
Το πρόβλημα με τη μέτρηση της μεμονωμένης τάσης κυψέλης σε μια μπαταρία συνδεδεμένης σειράς είναι ότι, το σημείο αναφοράς παραμένει το ίδιο. Η παρακάτω εικόνα δείχνει το ίδιο
Για απλότητα, ας υποθέσουμε ότι και οι τέσσερις κυψέλες βρίσκονται σε επίπεδο τάσης 4V όπως φαίνεται παραπάνω. Τώρα αν χρησιμοποιήσουμε έναν μικροελεγκτή όπως το Arduino για τη μέτρηση της τάσης του κυττάρου, δεν θα έχουμε κανένα πρόβλημα στη μέτρηση της τάσης του 1ου κυττάρου αφού έχει το άλλο άκρο συνδεδεμένο στη γείωση. Όμως, για τα άλλα κελιά πρέπει να μετρήσουμε την τάση αυτού του κελιού μαζί με τα προηγούμενα κελιά, για παράδειγμα όταν μετράμε την τάση του 4ου κελιού θα μετρήσουμε την τάση και των τεσσάρων κυττάρων μαζί. Αυτό συμβαίνει επειδή το σημείο αναφοράς δεν μπορεί να αλλάξει από το έδαφος.
Πρέπει λοιπόν να εισαγάγουμε ένα επιπλέον κύκλωμα εδώ που θα μπορούσε να μας βοηθήσει να μετρήσουμε τις μεμονωμένες τάσεις. Σε ακατέργαστο τρόπο είναι να χρησιμοποιήσετε ένα δυνητικό διαχωριστικό για να χαρτογραφήσετε τα επίπεδα τάσης και στη συνέχεια να τα μετρήσετε, αλλά αυτή η μέθοδος θα μειώσει την ανάλυση της τιμής ανάγνωσης σε περισσότερο από 0,1V. Ως εκ τούτου, σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το Op-Amp Differential Circuit για να μετρήσουμε τη διαφορά μεταξύ κάθε ακροδέκτη κυψέλης για τη μέτρηση της μεμονωμένης τάσης.
Διαφορικό κύκλωμα για τη μέτρηση της μεμονωμένης τάσης κυψέλης
Γνωρίζουμε ήδη ένα Op-Amp όταν εργαζόμαστε ως διαφορικός ενισχυτής δίνει τη διαφορά μεταξύ των δύο τιμών τάσης που παρέχονται στον ακροδέκτη αντιστροφής και στον αντιστρεφόμενο πείρο. Έτσι, για να μετρήσουμε τις τάσεις των 4 κυττάρων χρειαζόμαστε τρεις διαφορικούς op-amp όπως φαίνεται παρακάτω.
Σημειώστε ότι αυτή η εικόνα προορίζεται μόνο για αναπαράσταση. το πραγματικό κύκλωμα χρειάζεται περισσότερα εξαρτήματα και θα συζητηθεί αργότερα σε αυτό το άρθρο. Το πρώτο op-amp O1 μετρά την τάση του 2ου κυττάρου υπολογίζοντας τη διαφορά μεταξύ του τερματικού 2ου κυττάρου και του τερματικού 1ου κυττάρου που είναι (8-4). Ομοίως, το Op-amp O2 και το O3 μετρά την τάση 3ου και 4ου κυττάρου αντίστοιχα. Δεν έχουμε χρησιμοποιήσει ένα op-amp για το 1ο κελί, καθώς θα μπορούσε να μετρηθεί άμεσα.
Διάγραμμα κυκλώματος
Το πλήρες διάγραμμα κυκλώματος για την παρακολούθηση της τάσης πολλαπλών κυττάρων στη μπαταρία λιθίου παρέχεται παρακάτω. Το κύκλωμα σχεδιάστηκε χρησιμοποιώντας το EasyEDA και θα χρησιμοποιήσουμε το ίδιο για την κατασκευή του PCB μας.
Όπως μπορείτε να δείτε, έχουμε δύο πακέτα Quad Rail to Rail Υψηλής τάσης op-amp OPA4197 στο κύκλωμα μας και τα δύο τροφοδοτούνται από τη συνολική τάση πακέτου. Το ένα IC (U1) χρησιμοποιείται ένα κύκλωμα προσωρινής προσωρινής μνήμης γνωστό ως οπαδός τάσης, ενώ το άλλο IC (U2) χρησιμοποιείται για το σχηματισμό του κυκλώματος διαφορικού ενισχυτή. Απαιτείται κύκλωμα buffer για να αποφευχθεί η φόρτωση μεμονωμένων κυψελών, το οποίο δεν έχει ρεύμα πρέπει να καταναλώνεται από ένα μόνο κελί, αλλά να σχηματίζει μόνο το πακέτο ως σύνολο. Επειδή το κύκλωμα buffer έχει πολύ υψηλή αντίσταση εισόδου μπορούμε να χρησιμοποιήσουμε για να διαβάσουμε την τάση από το κελί χωρίς να αντλήσουμε ισχύ από αυτό.
Και οι τέσσερις op-amps στο IC U1 χρησιμοποιούνται για να ρυθμίσουν την τάση των τεσσάρων στοιχείων αντίστοιχα. Οι τάσεις εισόδου από τα κελιά επισημαίνονται από B1 + έως B4 + και η ρυθμισμένη τάση εξόδου επισημαίνεται από B1_Out έως B4_Out. Αυτή η ρυθμισμένη τάση αποστέλλεται στη συνέχεια στον ενισχυτή διαφορών για τη μέτρηση της μεμονωμένης τάσης κυψέλης όπως συζητήθηκε παραπάνω. Η τιμή όλων των αντιστάσεων έχει οριστεί σε 1Κ, δεδομένου ότι το κέρδος του διαφορικού ενισχυτή ορίζεται σε ενότητα. Μπορείτε να χρησιμοποιήσετε οποιαδήποτε τιμή αντίστασης, αλλά όλες πρέπει να έχουν την ίδια τιμή, εκτός από τις αντιστάσεις R13 και R14. Αυτές οι δύο αντιστάσεις σχηματίζουν έναν πιθανό διαχωριστή για τη μέτρηση της τάσης πακέτου της μπαταρίας, ώστε να μπορούμε να τη συγκρίνουμε με το άθροισμα των μετρημένων τάσεων κυψέλης.
Rail to Rail, υψηλής τάσης Op-Amp
Το παραπάνω κύκλωμα απαιτεί από εσάς να χρησιμοποιήσετε έναν ενισχυτή υψηλής τάσης Rail to Rail όπως το OPA4197 για δύο λόγους. Τόσο το Op-Amp IC λειτουργούν με την τάση πακέτου που είναι το μέγιστο (4.3 * 4) 17.2V, επομένως το Op-amp πρέπει να είναι ικανό να χειρίζεται υψηλές τάσεις. Επίσης από το ότι χρησιμοποιούμε ένα κύκλωμα buffer, η έξοδος του ρυθμιστικού διαλύματος θα πρέπει να είναι ίσο με συσκευάσει τάσης για το 4 Th τερματικό κυττάρου, που σημαίνει ότι η τάση εξόδου θα πρέπει να είναι ίσο με το λειτουργικό τάση του op-amp, ως εκ τούτου πρέπει να χρησιμοποιήσουμε μια ράγα για να Ράγα op-amp
Εάν δεν μπορείτε να βρείτε op-amp από ράγα σε ράγα, μπορείτε να αντικαταστήσετε το IC με απλό LM324. Αυτό το IC μπορεί να χειριστεί υψηλή τάση, αλλά δεν μπορεί να λειτουργήσει ως ράγα σε ράγα, οπότε πρέπει να χρησιμοποιήσετε μια αντίσταση έλξης 10k στον πρώτο πείρο του U1 Op-Amp IC.
Σχεδιασμός και Κατασκευή PCB χρησιμοποιώντας το Easy EDA
Τώρα που το κύκλωμα μας είναι έτοιμο, είναι καιρός να το κατασκευάσουμε. Επειδή το Op-Amp που χρησιμοποιώ είναι διαθέσιμο μόνο σε πακέτο SMD, έπρεπε να κατασκευάσω ένα PCB για το κύκλωμα μου. Έτσι, όπως πάντα έχουμε χρησιμοποιήσει το ηλεκτρονικό εργαλείο EDA που ονομάζεται EasyEDA για να κατασκευάσουμε το PCB μας, επειδή είναι πολύ βολικό στη χρήση, καθώς διαθέτει μια καλή συλλογή αποτυπώματος και είναι ανοιχτού κώδικα.
Αφού σχεδιάσουμε το PCB, μπορούμε να παραγγείλουμε τα δείγματα PCB από τις υπηρεσίες κατασκευής PCB χαμηλού κόστους. Προσφέρουν επίσης υπηρεσίες προμήθειας συστατικών όπου διαθέτουν μεγάλο απόθεμα ηλεκτρονικών εξαρτημάτων και οι χρήστες μπορούν να παραγγείλουν τα απαιτούμενα συστατικά τους μαζί με την παραγγελία PCB.
Ενώ σχεδιάζετε τα κυκλώματα και τα PCB σας, μπορείτε επίσης να κάνετε τα σχέδια κυκλωμάτων και PCB σας δημόσια, ώστε άλλοι χρήστες να μπορούν να τα αντιγράψουν ή να τα επεξεργαστούν και να επωφεληθούν από την εργασία σας, έχουμε επίσης δημοσιοποιήσει ολόκληρες τις διατάξεις κυκλωμάτων και PCB για αυτό το κύκλωμα, ελέγξτε ο παρακάτω σύνδεσμος:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Μπορείτε να δείτε οποιοδήποτε στρώμα (Top, Bottom, Topsilk, bottomsilk κ.λπ.) του PCB επιλέγοντας το επίπεδο από το παράθυρο «Layers». Πρόσφατα εισήγαγαν επίσης μια επιλογή προβολής 3D, ώστε να μπορείτε επίσης να δείτε το PCB μέτρησης τάσης πολλαπλών κυττάρων, σχετικά με το πώς θα φροντίσει την κατασκευή χρησιμοποιώντας το κουμπί 3D View στο EasyEDA:
Υπολογισμός και παραγγελία δειγμάτων στο διαδίκτυο
Μετά την ολοκλήρωση του σχεδιασμού αυτού του κυκλώματος μέτρησης τάσης κυψέλης λιθίου, μπορείτε να παραγγείλετε το PCB μέσω του JLCPCB.com. Για να παραγγείλετε το PCB από το JLCPCB, χρειάζεστε το Gerber File. Για να κατεβάσετε αρχεία Gerber του PCB σας απλώς κάντε κλικ στο κουμπί Δημιουργία αρχείου επεξεργασίας στη σελίδα επεξεργασίας EasyEDA και, στη συνέχεια, κατεβάστε το αρχείο Gerber από εκεί ή μπορείτε να κάνετε κλικ στην παραγγελία στο JLCPCB όπως φαίνεται στην παρακάτω εικόνα. Αυτό θα σας ανακατευθύνει στο JLCPCB.com, όπου μπορείτε να επιλέξετε τον αριθμό των PCB που θέλετε να παραγγείλετε, πόσα στρώματα χαλκού χρειάζεστε, το πάχος PCB, το βάρος του χαλκού και ακόμη και το χρώμα PCB, όπως το στιγμιότυπο που φαίνεται παρακάτω:
Αφού κάνετε κλικ στην παραγγελία στο κουμπί JLCPCB, θα σας μεταφέρει στον ιστότοπο JLCPCB όπου μπορείτε να παραγγείλετε οποιοδήποτε έγχρωμο PCB σε πολύ χαμηλή τιμή που είναι $ 2 για όλα τα χρώματα. Ο χρόνος κατασκευής τους είναι επίσης πολύ μικρότερος, δηλαδή 48 ώρες με παράδοση DHL 3-5 ημερών, βασικά θα λάβετε τα PCB σας εντός μιας εβδομάδας από την παραγγελία. Επιπλέον, προσφέρουν επίσης έκπτωση 20 $ στην αποστολή για την πρώτη παραγγελία σας.
Αφού παραγγείλετε το PCB, μπορείτε να ελέγξετε την πρόοδο παραγωγής του PCB σας με ημερομηνία και ώρα. Μπορείτε να το ελέγξετε μεταβαίνοντας στη σελίδα λογαριασμού και να κάνετε κλικ στο σύνδεσμο "Πρόοδος παραγωγής" κάτω από το PCB, όπως φαίνεται στην παρακάτω εικόνα.
Μετά από μερικές ημέρες παραγγελίας PCB, πήρα τα δείγματα PCB σε ωραία συσκευασία, όπως φαίνεται στις παρακάτω εικόνες.
Αφού βεβαιωθείτε ότι τα ίχνη και τα ίχνη ήταν σωστά. Προχώρησα στη συναρμολόγηση του PCB, χρησιμοποίησα γυναικείες κεφαλίδες για να τοποθετήσω το Arduino Nano και το LCD, ώστε να μπορώ να τα αφαιρέσω αργότερα αν τα χρειάζομαι για άλλα έργα. Ο εντελώς συγκολλημένος πίνακας μοιάζει με αυτό παρακάτω
Δοκιμή του κυκλώματος παρακολούθησης τάσης
Αφού κολλήσετε όλα τα εξαρτήματα, απλώς συνδέστε την μπαταρία στον σύνδεσμο H1 της πλακέτας. Έχω χρησιμοποιήσει καλώδια σύνδεσης για να βεβαιωθώ ότι δεν θα αλλάξω τη σύνδεση στο μέλλον κατά λάθος. Να είστε πολύ προσεκτικοί για να μην το συνδέσετε με λάθος τρόπο, καθώς θα μπορούσε να οδηγήσει σε βραχυκύκλωμα και να καταστρέψει τις μπαταρίες ή το κύκλωμα μόνιμα. Το PCB μου με τη μπαταρία που χρησιμοποίησα για τη δοκιμή φαίνεται παρακάτω.
Τώρα χρησιμοποιήστε το πολύμετρο στον ακροδέκτη H2 για να μετρήσετε τις μεμονωμένες τάσεις πώλησης. Το τερματικό σημειώνεται με αριθμούς για την αναγνώριση της τάσης κυψέλης που μετράται το ρεύμα. Με εδώ μπορούμε να συμπεράνουμε ότι το κύκλωμα λειτουργεί. Αλλά για να το κάνουμε πιο ενδιαφέρον, ας συνδέσουμε μια οθόνη LCD και να χρησιμοποιήσουμε ένα Arduino για να μετρήσουμε αυτές τις τιμές τάσης και να την εμφανίσουμε στην οθόνη LCD.
Μέτρηση της τάσης των κυττάρων λιθίου με χρήση του Arduino
Το κύκλωμα σύνδεσης του Arduino με το PCB μας φαίνεται παρακάτω. Δείχνει πώς να συνδέσετε το Arduino Nano σε LCD.
Ο ακροδέκτης κεφαλίδας H2 στο PCB πρέπει να είναι συνδεδεμένος με τους αναλογικούς πείρους της πλακέτας Arduino όπως φαίνεται παραπάνω. Οι αναλογικοί ακροδέκτες A1 έως A4 χρησιμοποιούνται για τη μέτρηση των τεσσάρων τάσεων κυψελίδας αντίστοιχα, ενώ ο ακροδέκτης A0 συνδέεται με τον ακροδέκτη pin v 'του P1. Αυτός ο πείρος v 'μπορεί να χρησιμοποιηθεί για τη μέτρηση της συνολικής τάσης της συσκευασίας Έχουμε επίσης συνδέσει τον 1ο πείρο του P1 με τον πείρο Vin του Arduino και τον 3ο πείρο του P1 o τον πείρο γείωσης του Arduino για να τροφοδοτήσουμε το Arduino με την μπαταρία.
Μπορούμε να γράψουμε ένα πρόγραμμα για τη μέτρηση και των τεσσάρων τάσεων κυψέλης και της τάσης πακέτου της μπαταρίας και να την εμφανίσουμε στην οθόνη LCD. Για να το κάνω πιο ενδιαφέρον, έχω επίσης προσθέσει και τις τέσσερις τάσεις κυψέλης και συνέκρινα την τιμή με τη μετρούμενη τάση πακέτου για να ελέγξω πόσο κοντά μετράμε πραγματικά την τάση.
Προγραμματισμός του Arduino
Το πλήρες πρόγραμμα βρίσκεται στο τέλος αυτής της σελίδας. Το πρόγραμμα είναι πολύ απλό, απλώς χρησιμοποιούμε τη λειτουργία αναλογικής ανάγνωσης για να διαβάσουμε τις τάσεις κυψέλης χρησιμοποιώντας τη μονάδα ADC και να εμφανίσουμε την τιμή υπολογισμού τάσης στην οθόνη LCD χρησιμοποιώντας τη βιβλιοθήκη LCD.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Μέτρηση 1ης τάσης κυψέλης lcd.print ("C1:"); lcd.print (Cell_1);
Στο παραπάνω απόσπασμα μετρήσαμε την τάση του κελιού 1 και την πολλαπλασιάσαμε με 5/1023 για να μετατρέψουμε την τιμή 0 έως 1023 ADC σε πραγματική 0 έως 5V. Στη συνέχεια εμφανίζουμε την υπολογισμένη τιμή τάσης στην οθόνη LCD. Ομοίως, το κάνουμε και για τα τέσσερα κελιά και για τη συνολική μπαταρία. Έχουμε χρησιμοποιήσει επίσης τη μεταβλητή συνολική τάση για να συνοψίσουμε όλες τις τάσεις των κυττάρων και να την εμφανίσουμε στην οθόνη LCD όπως φαίνεται παρακάτω.
float Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Προσθέστε και τις τέσσερις μετρούμενες τιμές τάσης lcd.print ("Σύνολο:"); lcd.print (Σύνολο_Voltage);
Ατομική οθόνη τάσης κυττάρων λειτουργεί
Μόλις είστε έτοιμοι με το κύκλωμα και τον κωδικό, ανεβάστε τον κωδικό στην πλακέτα Arduino και συνδέστε την τράπεζα τροφοδοσίας στο PCB. Η οθόνη LCD θα πρέπει τώρα να εμφανίζει την ατομική τάση κυψέλης και των τεσσάρων κυψελών όπως φαίνεται παρακάτω.
Όπως μπορείτε να δείτε, η τάση που εμφανίζεται για τα κελιά 1 έως 4 είναι 3,78V, 3,78V, 3,82V και 3,84V αντίστοιχα. Τότε χρησιμοποίησα το πολύμετρο μου για να ελέγξω την πραγματική τάση αυτών των κυττάρων που αποδείχθηκε λίγο διαφορετική.
Μετρημένη τάση |
Πραγματική τάση |
3.78V |
3.78V |
3.78V |
3.78V |
3.82V |
3.81V |
3.84V |
3.82V |
Όπως μπορείτε να δείτε, έχουμε ακριβή αποτελέσματα για τα κελιά 1 και 2, αλλά υπάρχει ένα σφάλμα τόσο υψηλό όσο 200mV για τα κελιά 3 και 4. Αυτό είναι πολύ πιθανό να αναμένεται για το σχεδιασμό μας. Εφόσον χρησιμοποιούμε κύκλωμα διαφοροποίησης op-amp, η ακρίβεια της μετρούμενης τάσης θα μειωθεί καθώς ο αριθμός των κυψελών αυξάνεται.
Αλλά αυτό το σφάλμα είναι ένα σταθερό σφάλμα και μπορεί να διορθωθεί στο πρόγραμμα, λαμβάνοντας δείγματα αναγνώσεων και προσθέτοντας έναν πολλαπλασιαστή για τη διόρθωση του σφάλματος. Στην επόμενη οθόνη LCD μπορείτε επίσης να δείτε το άθροισμα της μετρημένης τάσης και την πραγματική τάση πακέτου που μετρήθηκε μέσω του δυνητικού διαχωριστή. Το ίδιο φαίνεται παρακάτω.
Το άθροισμα των τάσεων που μετρήθηκαν είναι 15,21V και η πραγματική τάση που μετράται μέσω του πείρου A0 του Arduino αποδεικνύεται ότι είναι 15,22V. Έτσι η διαφορά είναι 100mV που δεν είναι κακό. Ενώ αυτός ο τύπος κυκλώματος μπορεί να χρησιμοποιηθεί για μικρότερο αριθμό οινολάσπων όπως σε τράπεζες τροφοδοσίας ή μπαταρίες φορητού υπολογιστή. Το ηλεκτρικό όχημα BMS χρησιμοποιεί ειδικό τύπο IC όπως το LTC2943 επειδή ακόμη και ένα σφάλμα 100mV δεν είναι ανεκτό. Ωστόσο, μάθαμε πώς να το κάνουμε για κύκλωμα μικρής κλίμακας όπου η τιμή είναι περιορισμός.
Η πλήρης λειτουργία της ρύθμισης βρίσκεται στο παρακάτω βίντεο. Ελπίζω να απολαύσατε το έργο και να μάθετε κάτι χρήσιμο από αυτό. Εάν έχετε οποιεσδήποτε ερωτήσεις αφήστε τις στην ενότητα σχολίων ή χρησιμοποιήστε τα φόρουμ για πιο γρήγορες απαντήσεις.