Σε αυτό το σεμινάριο θα αναπτύξουμε μια πηγή μεταβλητής τάσης 5V από το Arduino Uno. Για αυτό θα χρησιμοποιήσουμε τη δυνατότητα ADC (Αναλογική σε ψηφιακή μετατροπή) και PWM (Pulse Width Modulation).
Ορισμένες ψηφιακές ηλεκτρονικές μονάδες όπως το επιταχυνσιόμετρο λειτουργούν με τάση 3.3V και άλλες λειτουργούν σε 2.2V. Μερικοί λειτουργούν ακόμη και σε χαμηλότερες τάσεις. Με αυτό δεν μπορούμε να πάρουμε έναν ρυθμιστή για κάθε ένα από αυτά. Εδώ λοιπόν θα κάνουμε ένα απλό κύκλωμα που θα παρέχει έξοδο τάσης από 0-5 βολτ σε ανάλυση 0,05V. Έτσι με αυτό μπορούμε να παρέχουμε τάσεις με ακρίβεια για τις άλλες μονάδες.
Αυτό το κύκλωμα μπορεί να παρέχει ρεύματα έως και 100mA, έτσι μπορούμε να χρησιμοποιήσουμε αυτήν τη μονάδα ισχύος για τις περισσότερες από τις μονάδες αισθητήρων χωρίς κανένα πρόβλημα. Αυτή η έξοδος κυκλώματος μπορεί επίσης να χρησιμοποιηθεί για τη φόρτιση των επαναφορτιζόμενων μπαταριών AA ή AAA. Με την οθόνη στη θέση της, μπορούμε εύκολα να δούμε τις διακυμάνσεις ισχύος στο σύστημα. Αυτή η μεταβλητή μονάδα τροφοδοσίας περιέχει διεπαφή κουμπιού για τον προγραμματισμό τάσης. Η λειτουργία και το κύκλωμα εξηγούνται παρακάτω.
Υλικό: Arduino Uno, τροφοδοτικό (5v), πυκνωτής 100uF (2 τεμάχια), κουμπί (2 τεμάχια), αντίσταση 1KΩ (3 τεμάχια), LCD 16 * 2 χαρακτήρων, τρανζίστορ 2N2222.
Λογισμικό: Atmel studio 6.2 ή AURDINO κάθε βράδυ.
Διάγραμμα κυκλώματος και εξήγηση εργασίας
Το κύκλωμα για μονάδα μεταβλητής τάσης που χρησιμοποιεί arduino φαίνεται στο παρακάτω διάγραμμα.
Η τάση στην έξοδο δεν είναι εντελώς γραμμική. θα είναι θορυβώδες. Για να φιλτράρετε τους πυκνωτές θορύβου τοποθετούνται σε ακροδέκτες εξόδου όπως φαίνεται στο σχήμα. Τα δύο κουμπιά εδώ είναι για αύξηση τάσης και μείωση. Η μονάδα οθόνης δείχνει την τάση στους ακροδέκτες OUTPUT.
Πριν ξεκινήσουμε να δουλεύουμε πρέπει να εξετάσουμε τις δυνατότητες ADC και PWM του Arduino UNO.
Εδώ πρόκειται να πάρουμε την τάση που παρέχεται στον ακροδέκτη OUTPUT και να την τροφοδοτήσουμε σε ένα από τα κανάλια ADC του Arduino. Μετά τη μετατροπή θα πάρουμε αυτήν την ΨΗΦΙΑΚΗ τιμή και θα τη συσχετίσουμε με την τάση και θα δείξουμε το αποτέλεσμα στην οθόνη 16 * 2. Αυτή η τιμή στην οθόνη αντιπροσωπεύει τη μεταβλητή τιμή τάσης.
Το ARDUINO διαθέτει έξι κανάλια ADC, όπως φαίνεται στο σχήμα. Σε αυτά μπορεί να χρησιμοποιηθεί ένα ή όλα αυτά ως είσοδοι για αναλογική τάση. Το UNO ADC έχει ανάλυση 10 bit (έτσι οι ακέραιες τιμές από (0- (2 ^ 10) 1023)). Αυτό σημαίνει ότι θα αντιστοιχίσει τις τάσεις εισόδου μεταξύ 0 και 5 volt σε ακέραιες τιμές μεταξύ 0 και 1023. Έτσι για κάθε (5/1024 = 4,9mV) ανά μονάδα.
Εδώ πρόκειται να χρησιμοποιήσουμε το A0 του UNO.
|
Πρώτα απ 'όλα, τα κανάλια UNO ADC έχουν μια προεπιλεγμένη τιμή αναφοράς 5V. Αυτό σημαίνει ότι μπορούμε να δώσουμε μια μέγιστη τάση εισόδου 5V για μετατροπή ADC σε οποιοδήποτε κανάλι εισόδου. Δεδομένου ότι ορισμένοι αισθητήρες παρέχουν τάσεις από 0-2.5V, με αναφορά 5V έχουμε μικρότερη ακρίβεια, επομένως έχουμε μια οδηγία που μας επιτρέπει να αλλάξουμε αυτήν την τιμή αναφοράς. Έτσι, για να αλλάξουμε την τιμή αναφοράς που έχουμε ("analogReference ();") Προς το παρόν το αφήνουμε ως.
Ως προεπιλογή, έχουμε τη μέγιστη ανάλυση ADC πλακέτας που είναι 10 bits, αυτή η ανάλυση μπορεί να αλλάξει χρησιμοποιώντας οδηγίες ("analogReadResolution (bits);"). Αυτή η αλλαγή ανάλυσης μπορεί να είναι χρήσιμη για ορισμένες περιπτώσεις. Προς το παρόν το αφήνουμε ως.
Τώρα, εάν οι παραπάνω συνθήκες έχουν οριστεί ως προεπιλεγμένες, μπορούμε να διαβάσουμε την τιμή από το ADC του καναλιού '0' καλώντας απευθείας τη λειτουργία "analogRead (pin);", εδώ "pin" αντιπροσωπεύει pin όπου συνδέσαμε το αναλογικό σήμα, σε αυτήν την περίπτωση θα ήταν "A0".
Η τιμή από το ADC μπορεί να ληφθεί σε ακέραιο ως "float VOLTAGEVALUE = analogRead (A0). ", Με αυτήν την εντολή η τιμή μετά την αποθήκευση του ADC στον ακέραιο" ΤΑΣΗ ".
Το PWM του UNO μπορεί να επιτευχθεί σε οποιαδήποτε από τις ακίδες που συμβολίζονται ως "~" στην πλακέτα PCB. Υπάρχουν έξι κανάλια PWM στο UNO. Θα χρησιμοποιήσουμε το PIN3 για το σκοπό μας.
analogWrite (3, ΑΞΙΑ); |
Από την παραπάνω συνθήκη μπορούμε να πάρουμε απευθείας το σήμα PWM στον αντίστοιχο πείρο. Η πρώτη παράμετρος σε αγκύλες είναι για την επιλογή του αριθμού pin του σήματος PWM. Η δεύτερη παράμετρος είναι για το λόγο εργασίας γραφής.
Η τιμή PWM του UNO μπορεί να αλλάξει από 0 σε 255. Με το "0" όσο το χαμηλότερο στο "255" ως το υψηλότερο. Με 255 ως αναλογία λειτουργίας θα έχουμε 5V στο PIN3. Εάν ο λόγος λειτουργίας είναι 125, θα λάβουμε 2,5V στο PIN3
Όπως ειπώθηκε νωρίτερα, υπάρχουν δύο κουμπιά συνδεδεμένα με το PIN4 και το PIN5 του UNO. Πατώντας, η τιμή του λόγου λειτουργίας του PWM θα αυξηθεί. Όταν πατηθεί άλλο κουμπί, η τιμή του λόγου λειτουργίας του PWM μειώνεται. Επομένως, διαφοροποιούμε την αναλογία λειτουργίας του σήματος PWM στο PIN3.
Αυτό το σήμα PWM στο PIN3 τροφοδοτείται στη βάση του τρανζίστορ NPN. Αυτό το τρανζίστορ παρέχει μεταβλητή τάση στον εκπομπό του, ενώ ενεργεί ως συσκευή εναλλαγής.
Με τη μεταβλητή αναλογία λειτουργίας PWM στη βάση θα υπάρχει μεταβλητή τάση στην έξοδο του πομπού. Με αυτό έχουμε στη διάθεσή μας μια πηγή μεταβλητής τάσης.
Η έξοδος τάσης τροφοδοτείται στο UNO ADC, για να βλέπει ο χρήστης την έξοδο τάσης.