Φορτιστής Arduino για μπαταρίες αυτοκινήτου. DIY ασύρματη φόρτιση στο Arduino

Ένα Arduino και το προστιθέμενο κύκλωμα φόρτισής του μπορούν να χρησιμοποιηθούν για την παρακολούθηση και τον έλεγχο της φόρτισης των μπαταριών NiMH, ως εξής:

Ολοκληρωμένη συσκευή

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

Πρώτον, είναι σημαντικό να σημειωθεί ότι δεν υπάρχει καθολική μέθοδοςφορτιστή που θα ήταν κατάλληλος για όλες τις μπαταρίες. Διαφορετικοί τύποι μπαταριών χρησιμοποιούν διαφορετικές χημικές διεργασίες για να λειτουργήσουν. Σαν άποτέλεσμα, ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙΟι μπαταρίες πρέπει να φορτίζονται διαφορετικά. Δεν μπορούμε να καλύψουμε όλους τους τύπους μπαταριών και τις μεθόδους φόρτισης σε αυτό το άρθρο. Έτσι, για λόγους απλότητας, θα επικεντρωθούμε στον πιο κοινό τύπο μπαταρίας AA, την μπαταρία Nickel Metal Hydride (NiMH).

αξεσουάρ

Λίστα εξαρτημάτων από αριστερά προς τα δεξιά:

  • ισχυρή αντίσταση 10 Ohm (τουλάχιστον 5 watt).
  • αντίσταση 1 MOhm;
  • πυκνωτής 1 μF;
  • Τρανζίστορ MOSFET IRF510;
  • αισθητήρας θερμοκρασίας TMP36;
  • Τροφοδοτικό 5 βολτ?

Πώς να φορτίσετε τις μπαταρίες NiMH AA

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

Υπάρχουν πολλοί τρόποι φόρτισης των μπαταριών NiMH. Η μέθοδος που χρησιμοποιείτε εξαρτάται κυρίως από το πόσο γρήγορα θέλετε να φορτίσετε την μπαταρία σας. Ο ρυθμός φόρτισης μετριέται σε σχέση με τη χωρητικότητα της μπαταρίας. Εάν η μπαταρία σας έχει χωρητικότητα 2500 mAh και τη φορτίζετε στα 2500 mA, τότε τη φορτίζετε με ρυθμό 1C. Εάν φορτίζετε την ίδια μπαταρία στα 250 mA, τότε τη φορτίζετε με ρυθμό C/10.

Στη διάρκεια γρήγορη φόρτισημπαταρία (σε ταχύτητες πάνω από C/10), πρέπει να παρακολουθείτε προσεκτικά την τάση και τη θερμοκρασία της μπαταρίας για να αποφύγετε την υπερφόρτισή της. Αυτό μπορεί να βλάψει σοβαρά την μπαταρία. Ωστόσο, όταν φορτίζετε την μπαταρία σας αργά (με ρυθμό χαμηλότερο από C/10), είναι πολύ λιγότερο πιθανό να καταστρέψετε την μπαταρία εάν την υπερφορτίσετε κατά λάθος. Επομένως, οι μέθοδοι αργής φόρτισης θεωρούνται γενικά πιο ασφαλείς και θα σας βοηθήσουν να αυξήσετε τη διάρκεια ζωής της μπαταρίας. Ως εκ τούτου, στον σπιτικό φορτιστή μας θα χρησιμοποιήσουμε χρέωση φόρτισης C/10.

Κύκλωμα φόρτισης

Για αυτό ΦορτιστήςΗ βάση είναι ένα κύκλωμα για τον έλεγχο της τροφοδοσίας με χρησιμοποιώντας Arduino. Το κύκλωμα τροφοδοτείται από μια πηγή 5 volt, όπως ένας προσαρμογέας AC ή μονάδα υπολογιστήθρέψη. Τα περισσότερα USBθύρες ακατάλληλες για αυτού του έργουλόγω των σημερινών περιορισμών. Η πηγή 5V φορτίζει την μπαταρία μέσω μιας ισχυρής αντίστασης 10 Ohm και ισχυρό MOSFETτρανζίστορ. Το τρανζίστορ MOSFET ρυθμίζει την ποσότητα του ρεύματος που ρέει μέσω της μπαταρίας. Η αντίσταση προστίθεται ως ένας απλός τρόπος ελέγχου του ρεύματος. Η παρακολούθηση της ποσότητας του ρεύματος γίνεται συνδέοντας κάθε ακροδέκτη αντίστασης στους αναλογικούς ακροδέκτες εισόδου του Arduino και μετρώντας την τάση σε κάθε πλευρά. Το τρανζίστορ MOSFET ελέγχεται από τον ακροδέκτη εξόδου Arduino PWM. Παλμοί σήματος διαμόρφωση πλάτους παλμούεξομάλυνση προς DC τάσηφίλτρο σε αντίσταση 1 MΩ και πυκνωτή 1 μF. Αυτό το σχήμαεπιτρέπει στο Arduino να παρακολουθεί και να ελέγχει το ρεύμα που διαρρέει την μπαταρία.


αισθητήρας θερμοκρασίας

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

Ως πρόσθετη προφύλαξη, έχει προστεθεί ένας αισθητήρας θερμοκρασίας TMP36 στον φορτιστή για την παρακολούθηση της θερμοκρασίας της μπαταρίας. Αυτός ο αισθητήραςπαράγει μια τάση που μεταβάλλεται γραμμικά με τη θερμοκρασία. Επομένως, σε αντίθεση με τα θερμίστορ, δεν απαιτεί βαθμονόμηση ή ζυγοστάθμιση. Ο αισθητήρας είναι εγκατεστημένος σε μια τρυπημένη οπή στο σώμα της θήκης της μπαταρίας και είναι κολλημένος στην οπή έτσι ώστε να πιέζει την μπαταρία όταν τοποθετείται στη θήκη. Οι ακροδέκτες του αισθητήρα συνδέονται στον δίαυλο 5V, στη θήκη και στον ακροδέκτη αναλογικής εισόδου του Arduino.

Υποδοχή μπαταρίας ΑΑ πριν και μετά την εγκατάσταση ενεργοποιημένη breadboard

Κώδικας


Ο κώδικας για αυτό το έργο είναι αρκετά απλός. Οι μεταβλητές στην αρχή του πηγαίου κώδικα σάς επιτρέπουν να διαμορφώσετε τον φορτιστή εισάγοντας τιμές για τη χωρητικότητα της μπαταρίας και την ακριβή αντίσταση της αντίστασης ισχύος. Προστέθηκαν επίσης μεταβλητές ασφαλούς ορίου. Η μέγιστη επιτρεπόμενη τάση μπαταρίας έχει ρυθμιστεί στα 1,6 βολτ. Η μέγιστη θερμοκρασία της μπαταρίας έχει ρυθμιστεί στους 35 βαθμούς Κελσίου. Ο μέγιστος χρόνος φόρτισης έχει οριστεί στις 13 ώρες. Εάν ξεπεραστεί κάποιο από αυτά τα όρια ασφαλείας, ο φορτιστής απενεργοποιείται.

Στο σώμα του προγράμματος μπορείτε να δείτε ότι το σύστημα μετρά συνεχώς την τάση στους ακροδέκτες μιας ισχυρής αντίστασης. Αυτό χρησιμοποιείται για τον υπολογισμό των τιμών τάσης σε όλη την μπαταρία και του ρεύματος που διαρρέει από αυτήν. Το ρεύμα συγκρίνεται με την τιμή στόχο, η οποία είναι C/10. Εάν το υπολογιζόμενο ρεύμα διαφέρει από τιμή στόχουπερισσότερο από 10 mA, το σύστημα προσαρμόζει αυτόματα την τιμή εξόδου για να τη διορθώσει.

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

Χωρητικότητα μπαταρίας Int = 2500; // Τιμή χωρητικότητας μπαταρίας σε mAh αντίσταση επίπλευσης = 10,0; // μετρημένη αντίσταση μιας ισχυρής αντίστασης int cutoffVoltage = 1600; // μέγιστη τάση μπαταρίας (σε mV) που δεν πρέπει να ξεπεραστεί. // Μέγιστη θερμοκρασίαμπαταρία που δεν πρέπει να ξεπεραστεί (σε βαθμούς C) //αποκοπής floatTemperatureF = 95; // μέγιστη θερμοκρασία μπαταρίας που δεν πρέπει να ξεπεραστεί (σε βαθμούς F) long cutoffTime = 46800000; // μέγιστος χρόνοςφόρτιση σε 13 ώρες, η οποία δεν πρέπει να ξεπεραστεί int outputPin = 9; // το καλώδιο σήματος εξόδου είναι συνδεδεμένο στην ψηφιακή ακίδα 9 int outputValue = 150; // τιμή του σήματος PWM εξόδου int analogPinOne = 0; // ο πρώτος αισθητήρας τάσης είναι συνδεδεμένος στην αναλογική ακίδα 0 float valueProbeOne = 0; // μεταβλητή για την αποθήκευση της τιμής στο analogPinOne float voltageProbeOne = 0; // υπολογισμένη τάση στο analogPinOne int analogPinTwo = 1; // ο δεύτερος αισθητήρας τάσης είναι συνδεδεμένος στην αναλογική ακίδα 1 float valueProbeTwo = 0; // μεταβλητή για την αποθήκευση της τιμής στο analogPinTwo float voltageProbeTwo = 0; // υπολογισμένη τάση στο analogPinTwo int analogPinThree = 2; // ο τρίτος αισθητήρας τάσης είναι συνδεδεμένος στην αναλογική ακίδα 2 float valueProbeThree = 0; // μεταβλητή για αποθήκευση της τιμής στο analogPinThree float tmp36Voltage = 0; // υπολογισμένη τάση σε αναλογικήPinThree float θερμοκρασίαC = 0; // υπολογισμένη θερμοκρασία αισθητήρα σε βαθμούς C //θερμοκρασία πλωτήραF = 0; // υπολογισμένη θερμοκρασία αισθητήρα σε βαθμούς F float voltageDifference = 0; // διαφορά μεταξύ τάσεων σε analogPinOne και analogPinTwo float μπαταρίαΤάση = 0; // υπολογισμένη τάση μπαταρίας ρεύμα πλεύσης = 0; // υπολογισμένο ρεύμα που διαρρέει το φορτίο σε (mA) float targetCurrent = μπαταρία Χωρητικότητα / 10; // Το στοχευόμενο ρεύμα εξόδου (σε mA) έχει ρυθμιστεί σε // C/10 ή 1/10 της χωρητικότητας της μπαταρίας ρεύμα πλεύσης Σφάλμα = 0; // διαφορά μεταξύ στόχου και πραγματικών ρευμάτων (σε mA) void setup() ( Serial.begin(9600); // setup σειριακή διεπαφή pinMode(outputPin, OUTPUT); // ορίστε την ακίδα ως έξοδο ) void loop() ( analogWrite(outputPin, outputValue); // γράψτε την τιμή εξόδου στην ακίδα εξόδου Serial.print("Output:"); // εμφάνιση των τιμών εξόδου για παρακολούθηση στον υπολογιστή Serial.println (outputValueProbeOne = analogRead(analogPinOne) // διαβάστε την τιμή εισόδου στον πρώτο ανιχνευτή voltageProbeOne = (valueProbeOne*5000) // υπολογίστε την τάση στον πρώτο ανιχνευτή. print("Voltage Probe One (mV): " // εμφάνιση της τάσης στον πρώτο ανιχνευτή Serial.println(voltageProbeOne valueProbeTwo = analogRead(analogPinTwo)); *5000)/1023, υπολογίστε την τάση του δεύτερου αισθητήρα σε χιλιοστά βολτ 5000 - voltageProbeTwo. ρεύμα = (voltageProbeTwo - voltageProbeOne) / αντίσταση; // Υπολογίστε το ρεύμα φόρτισης Serial.print("Target Current (mA): "); // εμφάνιση του τρέχοντος στόχου Serial.println(targetCurrent); Serial.print("Ρεύμα μπαταρίας (mA): "); // εμφάνιση του τρέχοντος Serial.println(current); τρέχονΣφάλμα = targetCurrent - τρέχον; // διαφορά μεταξύ στόχου και μετρούμενων ρευμάτων Serial.print("Τρέχον σφάλμα (mA): "); // εμφάνιση τρέχοντος σφάλματος ρύθμισης Serial.println(currentError); valueProbeThree = analogRead(analogPinThree); // διαβάστε την τιμή εισόδου του τρίτου αισθητήρα, tmp36Voltage = valueProbeThree * 5.0; // μετατροπή του σε τάση tmp36Voltage /= 1024.0; θερμοκρασίαC = (tmp36Τάση - 0,5) * 100 ; // μετατροπή με βάση μια εξάρτηση 10 mV ανά βαθμό με μετατόπιση 500 mV // ((τάση - 500 mV) πολλαπλασιαζόμενη επί 100) Serial.print("Θερμοκρασία (βαθμοί C)"); // εμφάνιση θερμοκρασίας σε βαθμούς Κελσίου Serial.println(temperatureC); /* θερμοκρασία F = (θερμοκρασίαC * 9,0 / 5,0) + 32,0; //μετατροπή σε βαθμούς Φαρενάιτ Serial.print("Θερμοκρασία (βαθμοί F)"); Serial.println(temperatureF); */ Serial.println(); // πρόσθετος κενές γραμμέςγια να διευκολύνετε την ανάγνωση δεδομένων κατά τον εντοπισμό σφαλμάτων Serial.println(); if(abs(currentError) > 10) // εάν το τρέχον σφάλμα ρύθμισης είναι αρκετά μεγάλο, τότε προσαρμόστε τάση εξόδου( outputValue = outputValue + currentError / 10; if(outputValue< 1) // выходное значение никогда не может быть ниже 0 { outputValue = 0; } if(outputValue >254) // η τιμή εξόδου δεν μπορεί ποτέ να είναι μεγαλύτερη από 255 (outputValue = 255; ) analogWrite(outputPin, outputValue); // γράψτε νέα τιμή εξόδου ) εάν (θερμοκρασία C > Θερμοκρασία αποκοπής C) // σταματήσει τη φόρτιση εάν η θερμοκρασία της μπαταρίας υπερβαίνει το ασφαλές όριο (Τιμή εξόδου = 0; Σειριακή.εκτύπωση ("Υπέρβαση μέγιστης θερμοκρασίας"); σταματήστε τη φόρτιση εάν η θερμοκρασία της μπαταρίας υπερβεί το ασφαλές όριο (outputValue = 0; ) */ if(batteryVoltage > cutoffVoltage) // σταματήστε τη φόρτιση εάν η τάση της μπαταρίας υπερβεί το ασφαλές όριο (outputValue = 0; Serial.print ("Max Voltage Exceeded" ) if(millis() > cutoffTime) // διακοπή φόρτισης εάν ο χρόνος φόρτισης έχει υπερβεί το όριο (outputValue = 0; Serial.print("Max Charge Time Exceeded"); ) delay(10000); // καθυστέρηση 10 δευτερόλεπτα πριν από την επόμενη επανάληψη του βρόχου)

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



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


Όχι λιγότερο σημαντικά στοιχεία θα είναι τα επαγωγικά, τα οποία μπορείτε να φτιάξετε με τα χέρια σας. Αυτά τα απλά πηνία τυλίγονται από χάλκινα σύρματα και ονομάζονται πηνία πυρήνα αέρα. Η δημιουργία μιας τέτοιας περιέλιξης για το σκοπό μας είναι πολύ απλή. Βρείτε έναν στρογγυλό κύλινδρο με διάμετρο περίπου 5 εκατοστά και τυλίξτε το σύρμα γύρω του έτσι ώστε κάθε στροφή να μην επικαλύπτει άλλη στροφή, αλλά ταυτόχρονα να είναι όσο το δυνατόν πιο κοντά στην άλλη στροφή. Ένας στρογγυλός κύλινδρος μπορεί να είναι, για παράδειγμα, ένας σωλήνας PVC. Ίσως χρειαστεί να χρησιμοποιήσετε κολλητική ταινίαή ταινία σε 2-3 σημεία για να διατηρηθεί η σταθερότητα της κατασκευής.


Εκτός από το Arduino και τα επαγωγικά, θα χρειαστούμε: ένα τρανζίστορ NPN τύπου 2N3055, ένα γέφυρα διόδου 1A (συγκρότημα διόδου, έχουν τέσσερις ακίδες), ένα LED, μία αντίσταση 100 ohm, δύο πυκνωτές 47 nF, μια μπαταρία 9 V για την τροφοδοσία του Arduino και κατά προτίμηση δύο πλακέτες πρωτοτύπων. Το διάγραμμα για τη σύνδεση των εξαρτημάτων για τη δημιουργία μιας συσκευής ασύρματης μετάδοσης δεδομένων φαίνεται στην παρακάτω εικόνα.



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


void setup() ( pinMode(13,OUTPUT); ) void loop() ( digitalWrite(13,HIGH); delay(0.5); digitalWrite(13,LOW); delay(0.5); )

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




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

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

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

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

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

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

Αισθητήρας υπερήχων

Για τη μέτρηση της απόστασης από ένα εμπόδιο, δοκιμάστηκαν δύο συσκευές:
  • Συμβατή μονάδα υπερήχων HC-SR04 με Arduino
  • Αισθητήρες στάθμευσης αυτοκινήτων HO 3800
Και οι δύο συσκευές λειτουργούν με την ίδια αρχή. Οι διαφορές έγκεινται στο μοτίβο κατεύθυνσης των αισθητήρων, στο μέγιστο εύρος ανίχνευσης εμποδίων και στο σχεδιασμό.
Σύγκριση παραμέτρων αισθητήρα:

Κατά τη διάρκεια των δοκιμών, αποδείχθηκε ότι οι μονάδες HC-SR04 έχουν ελαφρώς χειρότερη ικανότητα να ανιχνεύουν εμπόδια και να λειτουργούν σε δύσκολες κλιματολογικές συνθήκες (κρύο).

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

Πίνακας ελέγχου

Ως πίνακας ελέγχου επιλέχθηκε η πλατφόρμα Arduino. Στην περίπτωσή μας, οι πιο εφαρμόσιμες πλακέτες είναι οι μινιατούρες εκδόσεις: Arduino Mini, Arduino Nanoή Arduino ProΜίνι. Γενικά, μπορεί να χρησιμοποιηθεί οποιοσδήποτε άλλος ελεγκτής που παρέχει παρόμοιες δυνατότητες.

Μπαταρίες

Για την παροχή ρεύματος στη συσκευή, συνιστάται η χρήση στοιχείων μπαταρίας ιόντων λιθίου (Li-ion) ή νικελίου-υδριδίου μετάλλου (Ni-Mh).

Κατά τη λειτουργία σε κανονικές κλιματικές συνθήκες, είναι λογικό να χρησιμοποιείτε μπαταρίες Li-ion, οι οποίες έχουν τα ακόλουθα πλεονεκτήματα σε σύγκριση με το Ni-Mh:

  • ευκολία υλοποίησης του κυκλώματος φόρτισης
  • διαθεσιμότητα έτοιμων μονάδων φόρτισης
  • υψηλότερη τάση εξόδου
  • πολλαπλούς συνολικές διαστάσειςκαι δοχεία
Σε χαμηλές θερμοκρασίες, είναι προτιμότερο να χρησιμοποιείτε μπαταρίες Ni-Mh.

Η τάση στην έξοδο μιας μπαταρίας Ni-Mh (1,0 -1,4 V) δεν είναι αρκετή για τη λειτουργία της συσκευής. Για να λάβουμε τάση 5 V (απαραίτητη για τη λειτουργία τόσο του Arduino όσο και του αισθητήρα στάθμευσης), εκτός από τις μπαταρίες, θα χρησιμοποιήσουμε και έναν μετατροπέα ενίσχυσης DC-DC.

Για τη λειτουργία των μετατροπέων DC-DC που έχουμε επιλέξει, είναι απαραίτητο να παρέχεται τάση εισόδου 0,9-6,0 V. Για να αποκτήσετε την απαιτούμενη τάση εξόδου, θα μπορούσατε να χρησιμοποιήσετε ένα στοιχείο Ni-Mh με τάση 1,2 βολτ. Ωστόσο, καθώς μειώνεται η τάση εισόδου, μειώνεται και η χωρητικότητα φορτίου του μετατροπέα, άρα για σταθερή λειτουργίαΣυνιστάται να τροφοδοτείτε τη συσκευή με τουλάχιστον 2 V στην είσοδο του μετατροπέα (δύο στοιχεία Ni-Mh 1,2 V το καθένα ή ένα στοιχείο Li-ion με τάση 3,7 V). Σημειώστε ότι υπάρχουν μετατροπείς DC-DC για τους οποίους η τάση εισόδου 1,2 V δεν αρκεί.

Φόρτιση μπαταριών

Για Μπαταρίες Li-ionυπάρχουν πολλά έτοιμα φθηνές ενότητεςμε ένδειξη λήξης χρέωσης.

Στην περίπτωση των μπαταριών Ni-Mh, όλα είναι πιο περίπλοκα. Έτοιμες ενσωματωμένες λύσεις στην αγορά στο αυτή τη στιγμήΔεν έχουμε βρει. Για να φορτίσετε τις μπαταρίες Ni-Mh, μπορείτε να χρησιμοποιήσετε εξειδικευμένους εξωτερικούς φορτιστές ή να δημιουργήσετε το δικό σας κύκλωμα φόρτισης.

Ένας τρόπος για να φορτίσετε μια κυψέλη Ni-Mh είναι σειριακή σύνδεσημε μια μπαταρία δύο γραμμικών σταθεροποιητών LM317 (ή παρόμοιο): ο πρώτος - σε λειτουργία περιορισμού ρεύματος, ο δεύτερος - σε λειτουργία περιορισμού τάσης.

Η τάση εισόδου ενός τέτοιου κυκλώματος είναι 7,0-7,5 V. Ελλείψει ψύξης των σταθεροποιητών, δεν συνιστάται η υπέρβαση αυτής της τάσης. Τάση στο καθένα Μπαταρία Ni-MHΚατά τη διάρκεια της φόρτισης θα πρέπει να υπάρχει περίπου 1,45 V (τάση μιας πλήρως φορτισμένης κυψέλης Ni-Mh). Για να αποφευχθεί η υπερθέρμανση και η αστοχία των μικροκυκλωμάτων, το ρεύμα φόρτισης της μπαταρίας δεν πρέπει να υπερβαίνει τα 100 mA και μπορεί να αυξηθεί στα 200 mA όταν χρησιμοποιείτε κατάλληλα καλοριφέρ.

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

Τρομάζω

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

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

Πλαίσιο

Δεν μπορέσαμε να βρούμε ένα βολικό περίβλημα για τη σύνδεση του ζαχαροκάλαμου υπερήχων μεταξύ των περιβλημάτων μαζικής παραγωγής. Για να δοκιμάσουμε τη συσκευή, χρησιμοποιήσαμε μια 3D εκτυπωμένη πλαστική θήκη ABS. Για την εκτύπωση της θήκης σε εκτυπωτή 3D, αναπτύξαμε το ακόλουθο τρισδιάστατο μοντέλο:

Αποτέλεσμα δοκιμής πρωτοτύπων

Κατά τη διαδικασία ανάπτυξης, συγκεντρώθηκαν περισσότερες από 12 επιλογές προϊόντων. Κάθε νέο προϊόν εξαλείφει τις ελλείψεις των προηγούμενων: ​​κατά τη διαδικασία ανάπτυξης, μειώσαμε τις διαστάσεις και το βάρος του προϊόντος, επιλέξαμε έναν αισθητήρα υπερήχων που μας ικανοποίησε τόσο σε τιμή όσο και τεχνικές προδιαγραφές, εγκατέλειψε τη χρήση του καναλιού ήχου και βελτιστοποίησε τον αλγόριθμο λειτουργίας της συσκευής. Μαζί με τους τυφλούς (Bortnikov P.V., Shalintsev V.A.), πραγματοποιήθηκαν δοκιμές όλων των συναρμολογημένων προϊόντων. Ως αποτέλεσμα, λάβαμε το τελικό δείγμα.

Παρακάτω είναι τα θεμελιώδη ηλεκτρικό διάγραμμαανεπτυγμένη συσκευή:

Όταν αποσυναρμολογηθεί, το μπρελόκ υπερήχων λαιμού μοιάζει με αυτό:

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

  1. Αισθητήρας υπερήχων HC-SR04.
  2. Πίνακας ελέγχου Adruino Pro Mini.
  3. Επαναφορτιζόμενη μπαταρία 3,7 V 300 mAh.
  4. Μετατροπέας τάσης 0,9V ~ 5V σε 5V 600 mA.
  5. Μονάδα φόρτισης AC/DC 220V έως 5 V 1 A.
  6. Φορτιστής LA-520W.
  7. Συναγερμός: κινητήρας δόνησης για κινητό τηλέφωνο 4x10mm DC 3V.
  8. Κουμπί PB-22E60.
  9. Στέγαση Gainta G1906 (για μπρελόκ).
  10. Τρανζίστορ: bss138/bcr108 ή οπτοζεύκτης CPC1230N.
Η εμφάνιση και οι τιμές (συμπεριλαμβανομένης της παράδοσης από την Κίνα) των εξαρτημάτων που χρησιμοποιούνται για τη συναρμολόγηση της κεφαλής υπερήχων στο μπαστούνι φαίνονται στο σχήμα:

Από τα εξαρτήματα που χρησιμοποιούνται κατά τη συναρμολόγηση, τη μεγαλύτερη συνεισφορά στο κόστος της συσκευής έχει το περίβλημα που εκτυπώνεται με 3D.

Η εμφάνιση και οι τιμές (συμπεριλαμβανομένης της παράδοσης από την Κίνα) των εξαρτημάτων που χρησιμοποιούνται για τη συναρμολόγηση του μπρελόκ υπερήχων φαίνονται στο σχήμα:

Στο μέλλον, μπορείτε να αναπτύξετε μια βάση για το σώμα Gainta G1906 και να χρησιμοποιήσετε μια συσκευή με τέτοιο σώμα ως εξάρτημα για μπαστούνι.

Ένας από τους τρόπους μείωσης του κόστους των συσκευών είναι η εξοικονόμηση κόστους εργασίας και του κόστους παράδοσης εξαρτημάτων συσκευών στη Ρωσία, με την ανάπτυξη της παραγωγής απευθείας στην Κίνα.

Οι συσκευές που έχουμε αναπτύξει έχουν τα ακόλουθα χαρακτηριστικά:

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

Εμφάνιση του μπρελόκ λαιμού:

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

Η ομάδα της Electro-Labs παρουσίασε στο blog της ένα έργο για το Arduino που δεν είναι μόνο ενδιαφέρον, αλλά και χρήσιμο στην καθημερινή ζωή. Σε αυτό το έργο, αναπτύχθηκε μια προγραμματιζόμενη ασπίδα Arduino που λειτουργεί ως φορτιστής για μπαταρίες λιθίου. Η ασπίδα περιλαμβάνει οθόνη LCDκαι μια διεπαφή κουμπιού που επιτρέπει στον χρήστη να ρυθμίζει την τάση από 2V σε 10V και το ρεύμα από 50mA σε 1,1A. Η συσκευή παρέχει επίσης τη δυνατότητα ελέγχου της διαδικασίας φόρτισης.

Η ασπίδα βασίζεται στο τσιπ LT1510 και ελέγχεται από Arduino Uno. Η οθόνη που χρησιμοποιείται είναι μια απλή και προσιτή οθόνη LCD Nokia 5110. Συνδέεται μέσω Διεπαφή SPIκαι τροφοδοτείται από τάση 3,3V. Δεδομένου ότι οι ακίδες I/O του arduino λειτουργούν στα 5V, συνιστάται η σύνδεση της μονάδας LCD μέσω αντιστάσεων συνδεδεμένων σε σειρά στις γραμμές σήματος. Για να συνδεθείτε Μπαταρίες Li-IonΔιατίθενται δύο σύνδεσμοι. Τέσσερα κουμπιά ελέγχου συνδέονται με τις ακίδες A2-A5 του Arduino. Η τάση της μπαταρίας και το ρεύμα φόρτισης ελέγχονται μέσω των αναλογικών ακίδων A0 και A1. Λεπτομέριες μετατροπή αναλογικού σε ψηφιακόεξηγείται σε πηγαίος κώδικαςέργο. Δύο SMD LEDχρησιμοποιούνται για να υποδείξουν τη λειτουργία της συσκευής.

Το σχηματικό διάγραμμα του έργου αναπτύχθηκε στο SoloCapture από το πακέτο SoloPCBtools. Η ασπίδα μπορεί να λειτουργήσει χωρίς έλεγχο μικροελεγκτή. Όταν το Arduino δεν αναβοσβήνει, ο φορτιστής ορίζει από προεπιλογή τάση αποκοπής 4,2 V και μέγιστο ρεύμα φόρτισης 1,1 Α. Το PCB έχει σχεδιαστεί σε SoloPSB. Εργο πλακέτα τυπωμένου κυκλώματοςκαι το ίδιο το πρόγραμμα SoloPSB μπορείτε να το κατεβάσετε από το electro-labs.com. Οι διαστάσεις της ασπίδας επιλέγονται για τη θέση της στο Arduino Uno. LED, διασύνδεση με κουμπιά, οθόνη LCD και υποδοχές μπαταρίας βρίσκονται στο επάνω μέρος για ευκολία. Όλα τα άλλα στοιχεία βρίσκονται με αντιθετη πλευραασπίδα.

Η οθόνη LCD είναι προγραμματισμένη να εμφανίζει τέσσερις σελίδες που επιτρέπουν στον χρήστη να εισάγει παραμέτρους φόρτισης και να ελέγχει τη διαδικασία φόρτισης. Στην πρώτη σελίδα, ο χρήστης μπορεί να ρυθμίσει την τάση αποκοπής και το μέγιστο ρεύμα φόρτισης, να μεταβεί στη σελίδα κατάστασης μπαταρίας και να ξεκινήσει τη φόρτιση. Τα κουμπιά πάνω και κάτω χρησιμοποιούνται για τη μετακίνηση μεταξύ επιλογών και το δεξί και το αριστερό κουμπιά χρησιμοποιούνται για την αλλαγή παραμέτρων και την επιλογή επιλογών. Η δεύτερη σελίδα δείχνει την κατάσταση της μπαταρίας. Σε αυτό μπορείτε να δείτε την τρέχουσα τάση στην μπαταρία. Η τρίτη σελίδα δείχνει την τάση και το ρεύμα φόρτισης. Αριστερά ή κάντε δεξί κλικΣε αυτή τη σελίδα μπορείτε να σταματήσετε τη διαδικασία φόρτισης και να επιστρέψετε στη σελίδα ρύθμισης παραμέτρων. Όταν φτάσει η τάση της μπαταρίας καθορισμένη τιμή, ο φορτιστής σταματά και εμφανίζει το μήνυμα "Charge Complete". Για έξοδο, πατήστε το αριστερό πλήκτρο.

Ελεγκτής Arduino PWM ηλιακή φόρτιση
Πώς να φτιάξετε έναν πολύ μικρό, απλό και φθηνό ελεγκτή ηλιακής φόρτισης PWM με το Arduino Pro Mini για ρυθμίσεις εκτός δικτύου 12V. Το PCB έχει το ίδιο μέγεθος με την πλακέτα Pro mini, ώστε να μπορούν να στερεωθούν μεταξύ τους. Το PCB σχεδιάζει για μια γενική πρωτότυπη πλακέτα.

Σύνδεση και χρήση αυτού Ελεγκτής Arduino ηλιακό φορτίοπολύ απλό - υπάρχουν 2 καλώδια εισόδου από τον πίνακα ηλιακούς συλλέκτες(+ και -) και 2 έξοδοι οδηγούν σε μπαταρία μολύβδου-οξέος. Η βάση του ηλιακού πάνελ και οι μπαταρίες συνδέονται μεταξύ τους. Οποιοδήποτε φορτίο πρέπει να συνδεθεί απευθείας στους ακροδέκτες της μπαταρίας και ο ελεγκτής φόρτισης θα χειριστεί αυτόματα τα υπόλοιπα.

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


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

Περιγραφή κυκλώματος και λειτουργίας:

Η λειτουργία βασίζεται στο τρανζίστορ N-καναλιού MOS IRF3205 Ψηλή πλευράαλυσίδες. Αυτό απαιτεί τάση πύλης μεγαλύτερη από 12 V για να ενεργοποιηθεί σωστά το MOSFET. Προκειμένου να εξαλειφθεί η ανάγκη για εξωτερικό Προγράμματα οδήγησης MOSFET, κινείται από μια αντλία φόρτισης που δημιουργήθηκε με διόδους, 2 πυκνωτές και δύο εξόδους Καρφίτσες Arduino PWM (3 και 11). Ο ακροδέκτης A1 μετρά την τάση μπαταρίακαι η ακίδα 9 ελέγχει τον κύκλο ON/OFF του MOSFET. Η ενσωματωμένη λυχνία LED Arduino Pro Mini που είναι συνδεδεμένη στον ακροδέκτη 13 χρησιμοποιείται για να δείξει τον τρέχοντα κύκλο του σήματος PWM.

Ο ρυθμιστής τάσης και όλοι οι πυκνωτές γύρω (C6, C5 και C4) θα μπορούσαν να εξαλειφθούν καθώς υπάρχει ρυθμιστής που περιλαμβάνεται στο Arduino Pro Mini. Ωστόσο, επειδή χρησιμοποιούσα μια φθηνή πλακέτα κλώνου, δεν ήθελα να βασιστώ στην ικανότητά της να υποστηρίζει υψηλότερες τάσεις από 12 V για περισσότερο από μεγάλες περιόδουςχρόνος. Το LP2950 είναι πολύ φθηνό και αποδοτικό έως και 30 βολτ, οπότε αξίζει να το έχετε στο σκάφος ούτως ή άλλως.


Λίστα ανταλλακτικών: Ρυθμιστής χαμηλής τάσης LP2950ACZ-5.0 Τρανζίστορ 2N3904 2N3906 x 2 N-channel MOSFET IRF3205 Αντιστάσεις 82K (1%) 20K (1%) 220K x3 (0,4W είναι αρκετό) 4KW1 είναι αρκετό 4K7 x4 Diode. P6KE33CA 90SQ035 (ή οποιαδήποτε παρόμοια 35V ελάχιστη δίοδος Schottky 9A) Πυκνωτές 47N/50V x2 κεραμικά 220P/100V κεραμικά 1M/50V (1000nF) κεραμικά 4M7/10V tantalum 1M/10V tantalum 1M/10V

Το κύκλωμα και ο κωδικός για αυτόν τον ελεγκτή φόρτισης είναι του Julian Ilett, αυτός είναι ο εγκέφαλος πίσω από αυτό έξυπνο πράγμα. Όλα αυτά είναι απλά εξελιγμένη τεκμηρίωση και κατάλληλο σχέδιο PCB για να ταιριάζει απόλυτα με την πλακέτα Arduino Pro Mini. Μοιράζεται ένα βίντεο με έναν πιο αποτελεσματικό ρυθμιστή φόρτισης Arduino MPPT, αλλά η κατασκευή του είναι πολύ πιο περίπλοκη και το έργο δεν έχει ακόμη ολοκληρωθεί. Εάν μπορείτε να βελτιώσετε τον κώδικα ή το σχέδιο με οποιονδήποτε τρόπο, μοιραστείτε τις βελτιώσεις σας στα σχόλια.