Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker: 4 βήματα
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker: 4 βήματα
Anonim
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker
Παίξτε τραγούδια με Arduino χρησιμοποιώντας ADC σε PWM σε Flyback Transformer ή Speaker

Γεια σας παιδιά, Αυτό είναι το δεύτερο μέρος ενός άλλου διδακτικού μου (που ήταν πολύ δύσκολο), Βασικά, σε αυτό το έργο, χρησιμοποίησα το ADC και το TIMERS στο Arduino μου για να μετατρέψω το ηχητικό σήμα σε σήμα PWM.

Αυτό είναι πολύ πιο εύκολο από το προηγούμενο Instructable, εδώ είναι ο σύνδεσμος του πρώτου μου Instructable αν θέλετε να δείτε. Σύνδεσμος

Για να κατανοήσετε τη θεωρία του ηχητικού σήματος, του ρυθμού bit, του βάθους bit, του ρυθμού δειγματοληψίας, μπορείτε να διαβάσετε τη θεωρία στο τελευταίο μου σεμινάριο σχετικά με το Instructable. Ο σύνδεσμος βρίσκεται παραπάνω.

Βήμα 1: Πράγματα που χρειαζόμαστε για αυτό το έργο (Απαιτήσεις)

1. Arduino Board (μπορούμε να χρησιμοποιήσουμε οποιονδήποτε πίνακα (328, 2560) δηλ. Mega, Uno, Mini κ.λπ. αλλά με συγκεκριμένες διαφορετικές ακίδες)

2. Η / Υ με Arduino Studio.

3. Breadboard ή Perfboard

4. Σύνδεση καλωδίων

5. TC4420 (πρόγραμμα οδήγησης Mosfet ή κάτι τέτοιο)

6. Power Mosfet (κανάλι Ν ή Ρ, παρακαλώ σύρμα τότε αναλόγως) (έχω χρησιμοποιήσει κανάλι Ν)

7. Ηχείο ή Flyback Transformer (Ναι το διαβάσατε σωστά !!)

8. Κατάλληλο τροφοδοτικό (0-12V) (έχω χρησιμοποιήσει το δικό μου τροφοδοτικό ATX)

9. Heat Sink (έχω διασώσει από τον παλιό υπολογιστή μου).

10. Ένας ενισχυτής (κανονικός ενισχυτής μουσικής) ή κύκλωμα ενισχυτή.

Βήμα 2: Θεωρία ADC σε PWM

Θεωρία ADC σε PWM
Θεωρία ADC σε PWM
Θεωρία ADC σε PWM
Θεωρία ADC σε PWM

Έτσι, σε αυτό το έργο, χρησιμοποίησα το ενσωματωμένο ADC του Arduino για τη δειγματοληψία δεδομένων ενός ηχητικού σήματος.

Το ADC (Analog-to-Digital Converter) όπως ορίζει το όνομα, το ADC μετατρέπει το αναλογικό σήμα σε Digitalηφιακά δείγματα. Και για το Arduino με μέγιστο βάθος 10-bit. Αλλά για αυτό το έργο, θα χρησιμοποιήσουμε δειγματοληψία 8 bit.

Ενώ χρησιμοποιούμε το ADC του Arduino, πρέπει να έχουμε κατά νου την Τάση αναφοράς ADC_reference.

Το Arduino Uno προσφέρει 1.1V, 5V (Εσωτερική αναφορά, η οποία μπορεί να οριστεί ως κωδικός) ή εξωτερική αναφορά (την οποία πρέπει να εφαρμόσουμε εξωτερικά στον ακροδέκτη AREF).

Σύμφωνα με την εμπειρία μου, πρέπει να χρησιμοποιείται τουλάχιστον 2.0V ως τάση αναφοράς για να έχετε ένα καλό αποτέλεσμα από το ADC. Καθώς το 1.1V δεν πήγε καλά τουλάχιστον για μένα. (Προσωπική εμπειρία)

*ΣΗΜΑΝΤΙΚΟ**ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ*

Πρέπει να χρησιμοποιήσουμε ένα ενισχυμένο ηχητικό σήμα από έναν ενισχυτή ή ένα κύκλωμα ενισχυτή με τάση αιχμής (μέγιστη τάση) 5V

Επειδή όντως έθεσα την εσωτερική αναφορά τάσης 5V, για το έργο μας. Και χρησιμοποιώ ένα ενισχυμένο σήμα χρησιμοποιώντας έναν κανονικό ενισχυτή (ενισχυτή μουσικής), ο οποίος διατίθεται κυρίως στο σπίτι μας ή μπορείτε να φτιάξετε ένα για τον εαυτό σας.

Οπότε τώρα το κύριο μέρος. Ποσοστό δειγματοληψίας, το οποίο είναι το πόσα δείγματα παίρνει το ADC μας ανά δευτερόλεπτο, τόσο περισσότερο είναι το ποσοστό μετατροπής, τόσο καλύτερο θα είναι το αποτέλεσμα εξόδου, όσο πιο παρόμοιο θα είναι το κύμα εξόδου σε σύγκριση με την είσοδο.

Έτσι, θα χρησιμοποιήσουμε ρυθμό δειγματοληψίας 33,33Khz σε αυτό το έργο, ρυθμίζοντας το ρολόι ADC στα 500Khz. Για να καταλάβετε πώς είναι έτσι, πρέπει να δούμε τη σελίδα χρονισμού ADC στο φύλλο δεδομένων του τσιπ Atmega (328p).

Μπορούμε να δούμε ότι, χρειαζόμαστε 13,5 κύκλους ρολογιού ADC για να ολοκληρώσουμε ένα δείγμα με αυτόματη δειγματοληψία. Με συχνότητα 500Khz, σημαίνει 1/500Khz = 2uS για έναν κύκλο ADC, πράγμα που σημαίνει ότι 13,5*2uS = 27uS χρειάζονται για να ολοκληρωθεί ένα δείγμα όταν χρησιμοποιείται αυτόματη δειγματοληψία. Δίνοντας 3uS περισσότερα στον Μικροελεγκτή (για ασφαλή πλευρά), Κάνοντας συνολικά 30uS συνολικά για ένα δείγμα.

Άρα 1 Δείγμα στα 30uS σημαίνει 1/30uS = 33,33 KS δείγματα/S.

Για να ορίσετε το ρυθμό δειγματοληψίας, το οποίο εξαρτάται από το TIMER0 του Arduino, επειδή η σκανδάλη αυτόματης δειγματοληψίας ADC εξαρτάται από αυτό στην περίπτωσή μας, όπως μπορείτε επίσης να δείτε στον κώδικα και στο φύλλο δεδομένων, έχουμε κάνει την τιμή του OCR0A = 60 (Γιατί έτσι ???)

Επειδή σύμφωνα με τον τύπο που δίνεται στο φύλλο δεδομένων.

συχνότητα (ή εδώ Ποσοστό δείγματος) = Συχνότητα ρολογιού Arduino/Prescaler*Τιμή OCR0A (στην περίπτωσή μας)

Συχνότητα ή δείγμα ρυθμού που θέλουμε = 33,33KHz

Συχνότητα ρολογιού = 16MHz

Προπώληση τιμή = 8 (στην περίπτωσή μας)

Τιμή OCR0A = θέλουμε να βρούμε;;

που δίνει απλώς OCR0A = 60, επίσης στον κώδικα Arduino.

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

Αυτή ήταν λοιπόν η σύντομη θεωρία της έννοιας του ADC στο PWM με το Arduino.

Βήμα 3: Σχηματικό

Σχηματικός
Σχηματικός

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

1. Συνδέστε ένα ηχείο (συνδεδεμένο με 5V)

2. Συνδέστε έναν μετασχηματιστή Flyback (Συνδέεται με 12V)

Έχω δοκιμάσει και τα δύο. Και τα δύο λειτουργούν αρκετά καλά.

*ΣΗΜΑΝΤΙΚΟ**ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ ** ΣΗΜΑΝΤΙΚΟ*Πρέπει να χρησιμοποιήσουμε ένα ενισχυμένο ηχητικό σήμα από έναν ενισχυτή ή ένα κύκλωμα ενισχυτή με τάση αιχμής (Μέγιστη τάση) 5V

Αποποίηση ευθυνών:-

*Σας συνιστώ να χρησιμοποιείτε το Flyback Transformer με Προφύλαξη καθώς μπορεί να είναι επικίνδυνο επειδή παράγει Υψηλές Τάσεις. Και δεν θα είμαι υπεύθυνος για οποιαδήποτε ζημιά.*

Βήμα 4: Τελική δοκιμή

Ανεβάστε λοιπόν τον δεδομένο κώδικα στο Arduino σας και συνδέστε το ενισχυμένο σήμα στην ακίδα A0.

Και μην ξεχάσετε να συνδέσετε όλες τις καρφίτσες γείωσης σε έναν κοινό τόπο.

Και απλώς απολαύστε ακούγοντας μουσική.

Συνιστάται: