Πίνακας περιεχομένων:
- Βήμα 1:
- Βήμα 2: Καταχώριση διαμόρφωσης
- Βήμα 3: Καταχώριση δεδομένων
- Βήμα 4: Λειτουργία ADC μονής λήξης
- Βήμα 5:
- Βήμα 6: Διαφορική λειτουργία ADC
Βίντεο: Arduino και το TI ADS1110 16-bit ADC: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το σεμινάριο εξετάζουμε τη χρήση του Arduino για εργασία με το Texas Instruments ADS1110-ένα απίστευτα μικροσκοπικό αλλά χρήσιμο IC μετατροπέα αναλογικού-ψηφιακού μετατροπέα 16-bit.
Μπορεί να λειτουργήσει μεταξύ 2,7 και 5,5 V, οπότε είναι επίσης καλό για Arduino Due και άλλους πίνακες ανάπτυξης χαμηλότερης τάσης. Πριν συνεχίσετε περαιτέρω, κάντε λήψη του φύλλου δεδομένων (pdf), καθώς θα είναι χρήσιμο και αναφέρεται σε αυτό το σεμινάριο. Το ADS1110 σας δίνει την επιλογή ενός πιο ακριβούς ADC από αυτόν που προσφέρουν οι 10-bit ADC του Arduino-και είναι σχετικά εύκολο στη χρήση. Ωστόσο, είναι διαθέσιμο μόνο ως γυμνό μέρος στο SOT23-6.
Βήμα 1:
Τα καλά νέα είναι ότι μπορείτε να παραγγείλετε το ADS1110 τοποθετημένο σε μια πολύ βολική πλακέτα ξεμπλοκαρίσματος. Το ADS1110 χρησιμοποιεί το δίαυλο I2C για επικοινωνία. Και καθώς υπάρχουν μόνο έξι ακίδες που δεν μπορείτε να ορίσετε τη διεύθυνση του διαύλου - αντ 'αυτού, μπορείτε να επιλέξετε από έξι παραλλαγές του ADS1110 - καθεμία με τη δική της διεύθυνση (δείτε τη σελίδα δύο του φύλλου δεδομένων).
Όπως μπορείτε να δείτε στην παραπάνω φωτογραφία, το δικό μας φέρει την ένδειξη "EDO" που ταιριάζει με τη διεύθυνση λεωφορείου 1001000 ή 0x48h. Και με τα παραδείγματα κυκλωμάτων χρησιμοποιήσαμε αντιστάσεις έλξης 10kΩ στο δίαυλο I2C.
Μπορείτε να χρησιμοποιήσετε το ADS1110 είτε ως μονόκλινο είτε ως διαφορικό ADC-Αλλά πρώτα πρέπει να εξετάσουμε τον καταχωρητή διαμόρφωσης που χρησιμοποιείται για τον έλεγχο διαφόρων χαρακτηριστικών και τον καταχωρητή δεδομένων.
Βήμα 2: Καταχώριση διαμόρφωσης
Μεταβείτε στη σελίδα έντεκα του φύλλου δεδομένων. Ο καταχωρητής διαμόρφωσης έχει μέγεθος ένα byte και καθώς το ADS1110 επανέρχεται σε έναν κύκλο ισχύος-πρέπει να επαναφέρετε τον καταχωρητή εάν οι ανάγκες σας είναι διαφορετικές από τις προεπιλεγμένες. Το φύλλο δεδομένων το γράφει πολύ προσεκτικά … τα bit 0 και 1 καθορίζουν τη ρύθμιση κέρδους για το PGA (προγραμματιζόμενος ενισχυτής κέρδους).
Εάν απλά μετράτε τάσεις ή πειραματίζεστε, αφήστε τα μηδενικά για κέρδος 1V/V. Στη συνέχεια, ο ρυθμός δεδομένων για το ADS1110 ελέγχεται με δυαδικά ψηφία 2 και 3. Εάν έχετε ενεργοποιήσει τη συνεχή δειγματοληψία, αυτό καθορίζει τον αριθμό δειγμάτων ανά δευτερόλεπτο που λαμβάνονται από το ADC.
Μετά από κάποιο πειραματισμό με ένα Arduino Uno, διαπιστώσαμε ότι οι τιμές που επιστρέφονταν από το ADC ήταν λίγο μακριά όταν χρησιμοποιούσαμε τον ταχύτερο ρυθμό, οπότε αφήστε το ως 15 SPS εκτός εάν απαιτείται διαφορετικά. Το bit 4 ορίζει είτε συνεχή δειγματοληψία (0) είτε εφάπαξ δειγματοληψία (1). Αγνοήστε τα bit 5 και 6, ωστόσο ορίζονται πάντα ως 0.
Τέλος, το bit 7-εάν βρίσκεστε σε εφάπαξ δειγματοληψία, η ρύθμιση σε 1 ζητά δείγμα-και η ανάγνωσή του θα σας πει εάν τα δεδομένα που επιστρέφονται είναι νέα (0) ή παλιά (1). Μπορείτε να ελέγξετε ότι η τιμή που μετρήθηκε είναι μια νέα τιμή - αν το πρώτο bit του byte διαμόρφωσης που έρχεται μετά τα δεδομένα είναι 0, είναι νέο. Εάν επιστρέψει 1, η μετατροπή ADC δεν έχει ολοκληρωθεί.
Βήμα 3: Καταχώριση δεδομένων
Καθώς το ADS1110 είναι ADC 16-bit, επιστρέφει τα δεδομένα σε δύο byte-και στη συνέχεια ακολουθεί με την τιμή του καταχωρητή διαμόρφωσης. Έτσι, εάν ζητήσετε τρία byte, ολόκληρη η παρτίδα επιστρέφει. Τα δεδομένα είναι σε μορφή "συμπληρώματος δύο", η οποία είναι μια μέθοδος χρήσης υπογεγραμμένων αριθμών με δυαδικό.
Η μετατροπή αυτών των δύο byte γίνεται με απλά μαθηματικά. Κατά τη δειγματοληψία σε 15 SPS, η τιμή που επιστρέφεται από το ADS1110 (όχι η τάση) πέφτει μεταξύ -32768 και 32767. Το υψηλότερο byte της τιμής πολλαπλασιάζεται με 256, στη συνέχεια προστίθεται στο χαμηλότερο byte -το οποίο στη συνέχεια πολλαπλασιάζεται με 2.048 και τέλος διαιρούμενο με 32768. Μην πανικοβάλλεστε, καθώς το κάνουμε αυτό στο επερχόμενο σκίτσο παραδείγματος.
Βήμα 4: Λειτουργία ADC μονής λήξης
Σε αυτήν τη λειτουργία μπορείτε να διαβάσετε μια τάση που πέφτει μεταξύ μηδέν και 2,048 V (που τυχαίνει επίσης να είναι η ενσωματωμένη τάση αναφοράς για το ADS1110). Το παράδειγμα του κυκλώματος είναι απλό (από το φύλλο δεδομένων).
Μην ξεχνάτε τις αντιστάσεις έλξης 10kΩ στο δίαυλο I2C. Το ακόλουθο σκίτσο χρησιμοποιεί το ADS1110 στην προεπιλεγμένη λειτουργία και επιστρέφει απλώς την μετρημένη τάση:
// Παράδειγμα 53.1 - Βολτόμετρο μονής όψης ADS1110 (0 ~ 2.048VDC) #συμπεριλάβετε το "Wire.h" #καθορίστε τις τάσεις πλωτήρα διαφημίσεων1110 0x48, δεδομένα. byte highbyte, lowbyte, configRegister; void setup () {Serial.begin (9600); Wire.begin (); } void loop () {Wire.requestFrom (ads1110, 3); ενώ (Wire.available ()) // βεβαιωθείτε ότι όλα τα δεδομένα έρχονται στο {highbyte = Wire.read (); // υψηλό byte * B11111111 lowbyte = Wire.read (); // low byte configRegister = Wire.read (); }
δεδομένα = highbyte * 256;
δεδομένα = δεδομένα + lowbyte; Serial.print ("Δεδομένα >>"); Serial.println (δεδομένα, DEC); Serial.print ("Τάση >>"); τάση = δεδομένα * 2.048; τάση = τάση / 32768.0; Serial.print (τάση, DEC); Serial.println ("V"); καθυστέρηση (1000)? }
Βήμα 5:
Μόλις φορτωθεί, συνδέστε το σήμα για να μετρήσετε και να ανοίξετε τη σειριακή οθόνη - θα εμφανιστεί κάτι παρόμοιο με την εικόνα της σειριακής οθόνης που εμφανίζεται σε αυτό το βήμα.
Εάν πρέπει να αλλάξετε το κέρδος του εσωτερικού προγραμματιζόμενου ενισχυτή κέρδους του ADC - θα χρειαστεί να γράψετε ένα νέο byte στο μητρώο διαμόρφωσης χρησιμοποιώντας:
Wire.beginTransmission (ads1110); Wire.write (byte διαμόρφωσης); Wire.endTransmission ();
πριν ζητήσετε τα δεδομένα ADC. Αυτό θα ήταν 0x8D, 0x8E ή 0x8F για τιμές κέρδους 2, 4 και 8 αντίστοιχα - και χρησιμοποιήστε 0x8C για να επαναφέρετε το ADS1110 στην προεπιλογή.
Βήμα 6: Διαφορική λειτουργία ADC
Σε αυτήν τη λειτουργία μπορείτε να διαβάσετε τη διαφορά μεταξύ δύο τάσεων που η κάθε μία πέφτει μεταξύ μηδέν και 5 V. Το παράδειγμα του κυκλώματος είναι απλό (από το φύλλο δεδομένων).
Πρέπει να σημειώσουμε εδώ (και στο φύλλο δεδομένων) ότι το ADS1110 δεν μπορεί να δεχθεί αρνητικές τάσεις σε καμία από τις εισόδους. Μπορείτε να χρησιμοποιήσετε το προηγούμενο σκίτσο για τα ίδια αποτελέσματα- και η προκύπτουσα τάση θα είναι η τιμή του Vin- αφαιρεθεί από το Vin+. Για παράδειγμα, εάν είχατε 2 V στο Vin+ και 1 V στο Vin- η προκύπτουσα τάση θα ήταν 1 V (με το κέρδος ρυθμισμένο στο 1).
Για άλλη μια φορά ελπίζουμε να σας φάνηκε αυτό που σας ενδιαφέρει και πιθανώς χρήσιμο. Αυτή η ανάρτηση σας έφερε το pmdway.com - τα πάντα για κατασκευαστές και λάτρεις των ηλεκτρονικών ειδών, με δωρεάν παράδοση σε όλο τον κόσμο.
Συνιστάται:
Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: 11 βήματα
Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: Είχατε ποτέ πολλά δεδομένα με τα οποία εργάζεστε και σκεφτήκατε τον εαυτό σας … " πώς μπορώ να κάνω όλα αυτά τα δεδομένα φαίνονται καλύτερα και είναι πιο εύκολα κατανοητά; " Αν ναι, τότε η απάντησή σας μπορεί να είναι ένας πίνακας στο Microsoft Office Word 2007
Σύνδεση επεξεργασίας και Arduino και Make 7 Segment και Servo GUI Controller: 4 βήματα
Connecting Processing and Arduino and Make 7 Segment and Servo GUI Controller: Για ορισμένα έργα που κάνατε πρέπει να χρησιμοποιήσετε το Arduino καθώς παρέχει μια εύκολη πλατφόρμα πρωτοτύπων, αλλά η εμφάνιση γραφικών σε σειριακή οθόνη του Arduino μπορεί να διαρκέσει πολύ και είναι ακόμη και δύσκολο να γίνει. Μπορείτε να εμφανίσετε γραφήματα στο Arduino Serial Monitor bu
Arduino και PCF8591 ADC DAC IC: 7 Βήματα
Arduino και PCF8591 ADC DAC IC: Θέλατε ποτέ περισσότερες αναλογικές ακίδες εισόδου στο έργο σας Arduino, αλλά δεν θέλατε να βγείτε για ένα Mega; Or θα θέλατε να δημιουργήσετε αναλογικά σήματα; Στη συνέχεια, ελέγξτε το θέμα του σεμιναρίου μας - το IC NXP PCF8591. Λύνει και τα δύο αυτά προβλήματα
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)
8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
Ένδειξη θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: 13 βήματα (με εικόνες)
Εμφάνιση θερμοκρασίας και υγρασίας και συλλογή δεδομένων με Arduino και επεξεργασία: Εισαγωγή: Πρόκειται για ένα έργο που χρησιμοποιεί έναν πίνακα Arduino, έναν αισθητήρα (DHT11), έναν υπολογιστή Windows και ένα πρόγραμμα επεξεργασίας (δωρεάν λήψη) για την εμφάνιση δεδομένων θερμοκρασίας, υγρασίας σε ψηφιακή και φόρμα γραφήματος, εμφάνιση ώρας και ημερομηνίας και εκτέλεση χρόνου αντίστροφης μέτρησης