Πίνακας περιεχομένων:
Βίντεο: Βηματικό μοτέρ ελεγχόμενο με MIDI με τσιπ άμεσης ψηφιακής σύνθεσης (DDS): 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:31
Είχατε ποτέ κακή ιδέα ότι ΜΟΝΟ έπρεπε να μετατραπεί σε ένα μίνι έργο; Λοιπόν, έπαιζα με ένα σκίτσο που είχα κάνει για το Arduino Due με στόχο τη δημιουργία μουσικής με μια μονάδα AD9833 Direct Digital Synthesis (DDS)… και κάποια στιγμή σκέφτηκα «γεια, ίσως πρέπει να φτιάξω ένα βηματικό μοτέρ/οδηγό Αυτό . Και αυτή η ιδέα είναι ακριβώς αυτό που πυροδότησε αυτό το μικρό έργο βασισμένο στο breadboard.
Σε αυτό το έργο θα περιλαμβάνεται κάποιος κωδικός για τη χρήση MIDI-over-USB για τον έλεγχο ενός Arduino Due και την αποστολή τετραγωνικών κυμάτων μεταξύ μιας μονάδας AD9833 και του προγράμματος οδήγησης stepper. Θα υπάρχει επίσης ένα διάγραμμα και βασικές οδηγίες για τη σύνδεση αυτού σε ένα Arduino Due.
Προμήθειες:
Τι θα χρειαστείτε για αυτό το έργο:
Arduino Due
ΣΗΜΕΙΩΣΗ: Ο κωδικός είναι γραμμένος για το Due, αλλά θα πρέπει επίσης να λειτουργεί ή/και να προσαρμόζεται για το μηδέν. Χρησιμοποιεί τη βιβλιοθήκη MIDIUSB του Arduino, η οποία απαιτεί εγγενή θύρα USB.
Χωρίς συγκόλληση Breadboard + άλτες
AD9833 Ενότητα Breakout Module
A4988 Stepper Driver (ή παρόμοιο)
NEMA 17 Stepper Motor (ή παρόμοιο)
- Τροφοδοτικό 24V (σημειώστε, επέλεξα αυτήν την τιμή των 24 Volts επειδή ήταν μεγαλύτερη από την ονομαστική τάση βηματικού κινητήρα. Η εφαρμογή σας μπορεί να είναι διαφορετική εάν χρησιμοποιείτε μεγαλύτερο κινητήρα)
Βήμα 1: Breadboarding
Η βασική ιδέα πίσω από αυτό είναι ότι το IC Digital Synthesis IC θα δημιουργήσει ένα τετράγωνο κύμα για να οδηγήσει τον πείρο "βημάτων" του οδηγού βηματικού κινητήρα. Αυτός ο οδηγός βηματισμού θα μετακινήσει τον κινητήρα στη συγκεκριμένη ηχητική συχνότητα. Η κατεύθυνση του κινητήρα είναι κάπως αυθαίρετη αρκεί να πατάει στη σωστή συχνότητα.
Η προσέγγιση που προτιμώ να ακολουθήσω με το breadboarding είναι να τρέξω πρώτα τους ακροδέκτες τροφοδοσίας και στη συνέχεια να αρχίσω να τρέχω όλες τις άλλες συνδέσεις εκτός ρεύματος.
Εδαφος:
- Συνδέστε τις καρφίτσες AGND και DGND της μονάδας AD9833 στη ράγα GND στον πίνακα ψωμιού.
- Συνδέστε τις δύο ακίδες GND στο πρόγραμμα οδήγησης Stepper στο σιδηρόδρομο GND
- Φέρτε αυτό σε μία από τις καρφίτσες GND του Arduino Due
Ισχύς 3.3V:
- Συνδέστε το VDD Pin του Stepper Driver στο V+ Rail του breadboard
- Συνδέστε τον πείρο VCC της μονάδας AD9833 στη ράγα V+ του breadboard
- Φέρτε το στην καρφίτσα 3.3V του Arduino Due
Ισχύς 24V:
- Συνδέστε τον πείρο VMOT στο τροφοδοτικό 24V DC (ανάλογα με τον κινητήρα που επιλέγετε, μπορεί να θέλετε να εκτελέσετε υψηλότερη ή χαμηλότερη ράγα παροχής)
Σύνδεση ενότητας-ενότητας:
- Συνδέστε τον πείρο OUT από τη μονάδα AD9833 στον πείρο STEP του προγράμματος οδήγησης κινητήρα
Συνδέσεις προγράμματος οδήγησης Stepper:
- Συνδέστε τις συνδέσεις Stepper Motor στις ακίδες 2Β/2Α/1Α/1Β. Η πολικότητα δεν είναι τόσο σημαντική, αρκεί οι φάσεις του οδηγού να ταιριάζουν με αυτές του Stepper Motor.
- Συνδέστε τις καρφίτσες RESET και SLEEP μαζί και φέρτε τις στο Arduino Due Pin 8.
- Συνδέστε την καρφίτσα DIR στη ράγα 3.3V
AD9833 Συνδέσεις ενότητας:
- Συνδέστε το SCLK στον πείρο SCK του Arduino Due. Λάβετε υπόψη ότι αυτός ο πείρος βρίσκεται στην αρσενική κεφαλίδα ICSP 6 ακίδων κοντά στον μικροελεγκτή και όχι στις κανονικές εξωτερικές γυναικείες κεφαλίδες.
- Συνδέστε την καρφίτσα SDATA στην καρφίτσα MOSI του Due. Σημειώστε ότι αυτός ο πείρος βρίσκεται στην αρσενική κεφαλίδα ICSP 6 ακίδων κοντά στον μικροελεγκτή και όχι στις κανονικές εξωτερικές θηλυκές κεφαλίδες.
- Συνδέστε το FSYNC στο Arduino Due Pin 6 (αυτό είναι το pin Chip Select για αυτό το έργο)
Τώρα που το breadboard έχει συναρμολογηθεί πλήρως, ήρθε η ώρα να ρίξουμε μια ματιά στον κώδικα!
Βήμα 2: Προγραμματισμός και ρύθμιση MIDI
Το συνημμένο σκίτσο.ino θα λάβει εισόδους USB-MIDI μέσω της αυθεντικής θύρας USB του Arduino Due και θα τις χρησιμοποιήσει για την οδήγηση του AD9833. Αυτό το τσιπ έχει ένα DAC που τρέχει σε 25MHz w/ 28 bits ανάλυσης συχνότητας (συνολική υπέρβαση για ό, τι χρειάζεται εδώ), και μεγάλο μέρος του κώδικα εδώ είναι η διαμόρφωση για την εκτέλεση και έξοδο ενός τετραγωνικού κύματος.
Σημείωση: υπάρχουν δύο θύρες USB. Το ένα χρησιμοποιείται για τον προγραμματισμό του πίνακα και το άλλο θα χρησιμοποιηθεί για MIDI-over-USB comm
Σημειώστε ότι αυτό το σκίτσο δεν θα λειτουργήσει όπως στο Arduino Uno - αυτό το έργο είναι συγκεκριμένο στην ανάγκη του για εγγενές USB στο Arduino Due ή παρόμοιες συσκευές
Επιλογές προσαρμογής:
- Υπάρχουν 2 λειτουργίες, οι οποίες μπορούν να ρυθμιστούν με προεπιλεγμένο μακρο ορισμό. Εάν το "#define STOPNOTES" μείνει άθικτο, το βήμα θα σταματήσει ανάμεσα στις σημειώσεις. Αυτό δεν είναι πάντα επιθυμητό (για παράδειγμα, παίζοντας γρήγορα arpeggios), οπότε για να αλλάξετε αυτήν τη συμπεριφορά, απλώς διαγράψτε ή σχολιάστε αυτήν τη δήλωση #define και το stepper θα εκτελείται συνεχώς μόλις παιχτεί.
-Χρησιμοποιώ ένα φθηνό πληκτρολόγιο MIDI 2 οκτάβων με αυτό που έχει ένα κουμπί οκτάβας πάνω/κάτω, αλλά σε περίπτωση που δεν έχετε αυτήν την επιλογή, μπορείτε να μετακινήσετε την οκτάβα-μετατροπή της κάτω συχνότητας μετάφρασης πολλαπλασιάζοντας ή διαιρώντας με τις δυνάμεις του 2.
Η μετάφραση MIDI σε συχνότητα γίνεται με αυτήν τη γραμμή στη λειτουργία playNote: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));
- Έχω την τάση να χρησιμοποιώ τον υπολογιστή μου για διασύνδεση μέσω USB MIDI - μπορείτε να το κάνετε από το αγαπημένο σας λογισμικό Digital Audio Workstation (DAW). Εάν δεν έχετε ένα, είναι πολύ εύκολο να ρυθμίσετε αυτό το σύστημα χρησιμοποιώντας το LMMS - μια δωρεάν πλατφόρμα ανοιχτού κώδικα. Μόλις εγκατασταθεί και εκτελεστεί, απλώς ορίστε το Arduino Due ως συσκευή εξόδου MIDI και εάν χρησιμοποιείτε πληκτρολόγιο USB MIDI, ορίστε το ως είσοδο.
Βήμα 3: Δοκιμή και πειραματισμός
Timeρα να παίξετε το βηματικό σας μοτέρ!
Όπως αναφέρθηκε, ολόκληρη η ιδέα πίσω από αυτό ήταν ένα είδος πειράματος χωρίς μανσέτες, οπότε με κάθε τρόπο, πειραματιστείτε μόνοι σας!
Συνιστάται:
Βηματικό μοτέρ με πίνακα ESP32: 4 βήματα
Stepper Motor With ESP32 Board: Οι βηματικοί κινητήρες είναι κινητήρες DC που κινούνται σε διακριτά βήματα. Έχουν πολλαπλά πηνία που είναι οργανωμένα σε ομάδες που ονομάζονται "φάσεις". Ενεργοποιώντας κάθε φάση με τη σειρά, ο κινητήρας περιστρέφεται, ένα βήμα τη φορά. Τα βηματικά μοτέρ είναι πολύ χρήσιμα
Πώς να φτιάξετε ένα πρόγραμμα οδήγησης υψηλής τάσης για ένα βηματικό μοτέρ: 5 βήματα
Πώς να φτιάξετε ένα πρόγραμμα οδήγησης υψηλής τάσης για ένα βηματικό μοτέρ: εδώ θα δούμε πώς να φτιάξετε ένα πρόγραμμα οδήγησης βηματικού κινητήρα χρησιμοποιώντας τον ελεγκτή TB6560AHQ της Toshiba. Αυτός είναι ένας πλήρης ελεγκτής που χρειάζεται μόνο 2 μεταβλητές ως είσοδο και κάνει όλη τη δουλειά. Αφού χρειάστηκα δύο από αυτά, τα έκανα και τα δύο χρησιμοποιώντας το
Ελέγξτε τον υπολογιστή σας με βηματικό μοτέρ !: 9 βήματα (με εικόνες)
Ελέγξτε τον υπολογιστή σας με Stepper Motor !: Σε ένα από τα προηγούμενα Instructables, σας έδειξα πώς μπορείτε να χρησιμοποιήσετε ένα Stepper μοτέρ ως περιστροφικό κωδικοποιητή. Σε αυτό το Instructable, ας μάθουμε πώς μπορούμε να το χρησιμοποιήσουμε για τον έλεγχο του υπολογιστή μας. Οπότε, χωρίς άλλη παραμύθι, ας ξεκινήσουμε
Βηματικό μοτέρ με σαγιονάρες D και χρονόμετρο 555. το πρώτο μέρος του κυκλώματος ο χρονοδιακόπτης 555: 3 βήματα
Βηματικό μοτέρ με σαγιονάρες D και χρονόμετρο 555. το πρώτο μέρος του κυκλώματος ο χρονοδιακόπτης 555: Ο βηματικός κινητήρας είναι ένας κινητήρας DC που κινείται σε διακριτά βήματα. Χρησιμοποιείται συχνά σε εκτυπωτές και ακόμη και ρομποτική. Θα εξηγήσω αυτό το κύκλωμα με βήματα. Το πρώτο μέρος του κυκλώματος είναι 555 μετρών την ώραν. Είναι η πρώτη εικόνα (βλέπε παραπάνω) με ένα τσιπ 555 w
Δέκτης άμεσης μετατροπής όλων των ζωνών: 6 βήματα
All-Band Direct Conversion Receiver: a.articles {font-size: 110.0%; font-weight: bold; γραμματοσειρά: πλάγια; κείμενο-διακόσμηση: κανένα? background-color: red;} a.articles: hover {background-color: black;} Αυτό το Instructable περιγράφει μια πειραματική " Άμεση μετατροπή " ένα