PDA

Επιστροφή στο Forum : Μέτρηση τάσης με Arduino



kolokythas
14-01-10, 12:09
Καλημέρα φόρουμ, πρώτο μου post.

Έχω το εξής πρόβλημα. Έχω ένα μικροεπεξεργαστή Arduino και θέλω να μετρήσω την τάση μιας 24V μπαταρίας. To ADC του Arduino μετράει μέχρι 5V και δίνει μια απάντηση 10bits (0-1023).

Πολύ ωραία λοιπόν, με δυο αντιστάσεις φτιάχνω ένα voltage divider να πετσοκόψω την τάση σε κάτι πιο ανεκτό και μετρήσιμο (βλ. σχήμα συνημμένο).

Πρόβλημα. Όταν δε μετράω, περνάει ρεύμα απο το voltage divider και σιγά σιγά αδειάζει τη μπαταρία. Άρα θέλω ένα διακόπτη για να κλείνω το κομμάτι του κυκλώματος που πάει προς το voltage divider. Τώρα ο διακόπτης αυτός πρέπει να μπορεί να ανοιγοκλείνει με τα 5V και γύρω στα 40mA που μπορεί να δώσει ένα pin του Arduino.

Δοκίμασα με PNP transistor αλλά ανακάλυψα ότι δε μπορείς με 5V να ρίξεις πόρτα σε πιο πολλά απο 5V. Μπορώ να βάλω ένα γαιδουρινό είτε μηχανικό είτε Solid State Relay αλλά μου φαίνεται λίγο παρατραβηγμένο για τέτοια απλή δουλειά. Οπότε, ερώτηση πρώτη, τι να χρησιμοποιήσω (στο σημείο με το ? στο σχήμα);

Και ερώτηση δεύτερη και πιο περίπλοκη. Η τάσεις που με ενδιαφέρουν είναι στα πάνω όρια του αριθμού μου, δηλαδή άντε μεταξύ 20V και 26V ας πούμε (δεν πρόκειται να πάει πιο πάνω ή πιο κάτω). Μπορώ να "ζουμάρω" σε αυτά τα Volt για να μη σπαταλάω τζάμπα την ανάλυση του ADC μου; Να πάω δηλαδή τα 20V στα 0V του ADC και τα 26V στα 5V του;

gxry
23-01-10, 18:47
Περιπλέκεις τα πράγματα.
Ο διαιρέτης τάσης είναι σωστή σκέψη. Υπολόγισε το R1+R2 να ισούται με μερικά ΜΩ (π.χ. 10ΜΩ) ώστε να διαρρέεται από εξαιρετικά μικρό ρεύμα (αμελητέο).
Εάν γνωρίζεις (ή μπορείς να μετρήσεις) την αντίσταση εισόδου του κυκλώματος ADC π.χ. rin, μπορείς να απαλείψεις την R2 και να υπολογίσεις την R1 ώστε να λειτουργεί ως διαιρέτης με την rin. Όλα αυτά με την προϋπόθεση ότι τα νούμερα σου βγαίνουν σε λογικά επίπεδα και δεν αρχίζεις να έχεις προβλήματα με παρασιτικά φαινόμενα ( π.χ. υπολογίσιμη παρασιτική αντίσταση από λερωμένη πλακέτα σε σχέση με την τιμή της R1).