Inhaltsverzeichnis:
- Schritt 1: Breadboarding
- Schritt 2: Programmierung und MIDI-Setup
- Schritt 3: Testen und Experimentieren
Video: MIDI-gesteuerter Schrittmotor mit einem Direct Digital Synthesis (DDS)-Chip - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Haben Sie jemals eine schlechte Idee, die Sie NUR in ein Miniprojekt verwandeln mussten? Nun, ich spielte mit einer Skizze, die ich für den Arduino Due gemacht hatte, um mit einem AD9833 Direct Digital Synthesis (DDS)-Modul Musik zu machen… Dies . Und genau diese Idee hat dieses kleine, auf Steckbrettern basierende Projekt ausgelöst.
In diesem Projekt enthalten ist Code für die Verwendung von MIDI-over-USB zur Steuerung eines Arduino Due und zum Senden von Rechteckwellen zwischen einem AD9833-Modul und dem Stepper-Treiber. Es wird auch ein Diagramm und eine grundlegende Anleitung zum Anschluss an einen Arduino Due geben.
Lieferungen:
Was Sie für dieses Projekt benötigen:
Arduino Due
HINWEIS: Der Code ist für den Due geschrieben, sollte aber auch für den Zero funktionieren bzw. angepasst werden. Es verwendet die MIDIUSB-Bibliothek von Arduino, die einen nativen USB-Anschluss erfordert.
Lötfreies Steckbrett + Jumper
AD9833 Breakout-Modul
A4988 Stepper-Treiber (oder ähnlich)
NEMA 17 Schrittmotor (oder ähnlich)
- 24-V-Netzteil (Hinweis, ich habe diesen Wert von 24 Volt gewählt, weil er größer als die Nennspannung des Schrittmotors war. Ihre Implementierung kann anders sein, wenn Sie einen größeren Motor verwenden)
Schritt 1: Breadboarding
Die Grundidee dahinter ist, dass der Direct Digital Synthesis IC eine Rechteckwelle erzeugt, um den "Step" -Pin des Schrittmotortreibers anzusteuern. Dieser Schritttreiber bewegt dann den Motor mit der angegebenen hörbaren Frequenz. Die Richtung des Motors ist etwas willkürlich, solange er mit der richtigen Frequenz läuft.
Der Ansatz, den ich beim Breadboarding bevorzuge, besteht darin, zuerst die Stromstifte und Masse zu betreiben und dann alle anderen, nicht stromführenden Verbindungen zu betreiben.
Boden:
- Verbinden Sie die AGND- und DGND-Pins des AD9833-Moduls mit der GND-Schiene auf dem Steckbrett.
- Verbinden Sie die beiden GND-Pins des Stepper-Treibers mit der GND-Schiene
- Bringen Sie dies zu einem der GND-Pins des Arduino Due
3,3 V Leistung:
- Verbinden Sie den VDD-Pin des Stepper-Treibers mit der V+-Schiene des Steckbretts
- Verbinden Sie den VCC-Pin des AD9833-Moduls mit der V+-Schiene des Steckbretts
- Bringen Sie dies zum 3,3-V-Pin des Arduino Due
24V Leistung:
- Verbinden Sie den VMOT-Pin mit der 24-V-DC-Stromversorgung (je nach Wahl des Motors möchten Sie möglicherweise eine höhere oder niedrigere Versorgungsschiene betreiben)
Modul-zu-Modul-Verbindung:
- Verbinden Sie den OUT-Pin des AD9833-Moduls mit dem STEP-Pin des Motortreibers
Anschlüsse des Stepper-Treibers:
- Verbinden Sie die Schrittmotoranschlüsse mit den 2B/2A/1A/1B Pins. Die Polarität ist nicht so wichtig, solange die Treiberphasen mit denen des Schrittmotors übereinstimmen.
- Verbinden Sie die RESET- und SLEEP-Pins miteinander und bringen Sie diese zum Arduino Due Pin 8.
- Verbinden Sie den DIR-Pin mit der 3.3V-Schiene
Anschlüsse des Moduls AD9833:
- Verbinden Sie SCLK mit dem SCK-Pin des Arduino Due. Beachten Sie, dass sich dieser Pin auf dem 6-poligen ICSP-Stecker in der Nähe des Mikrocontrollers befindet, nicht auf den normalen externen Buchsen.
- Verbinden Sie den SDATA-Pin mit dem MOSI-Pin des Due. Beachten Sie, dass sich dieser Pin auf dem 6-poligen ICSP-Stecker in der Nähe des Mikrocontrollers befindet, nicht auf den normalen externen Buchsen.
- Verbinden Sie den FSYNC mit dem Arduino Due Pin 6 (dies ist der Chip Select-Pin für dieses Projekt)
Jetzt, da das Steckbrett vollständig zusammengebaut ist, ist es an der Zeit, einen Blick auf den Code zu werfen!
Schritt 2: Programmierung und MIDI-Setup
Die beigefügte.ino-Skizze nimmt USB-MIDI-Eingänge über den nativen USB-Port des Arduino Due auf und verwendet sie zum Ansteuern des AD9833. Dieser Chip verfügt über einen DAC, der mit 25 MHz mit 28 Bit Frequenzauflösung läuft (totaler Overkill für das, was hier benötigt wird), und ein Großteil des Codes hier konfiguriert ihn so, dass er eine Rechteckwelle ausführt und ausgibt.
Hinweis: Es gibt zwei USB-Anschlüsse. Einer wird für die Programmierung des Boards verwendet und der andere wird für die MIDI-over-USB-Kommunikation verwendet
Beachten Sie, dass diese Skizze auf dem Arduino Uno nicht so funktioniert, wie es ist - dieses Projekt ist spezifisch in seiner Notwendigkeit für den nativen USB im Arduino Due oder ähnlichen Geräten
Anpassungsoptionen:
- Es gibt 2 Modi, die durch eine Präprozessor-Makrodefinition eingestellt werden können. Wenn "#define STOPNOTES" intakt gelassen wird, stoppt der Stepper zwischen den Noten. Dies ist nicht immer erwünscht (z. B. beim Spielen schneller Arpeggios). Um dieses Verhalten zu ändern, löschen oder kommentieren Sie einfach diese #define-Anweisung und der Stepper wird nach dem Abspielen kontinuierlich ausgeführt.
- Ich verwende ein billiges 2-Oktaven-MIDI-Keyboard mit einer Oktav-Auf/Ab-Taste.
Die MIDI-zu-Frequenz-Umsetzung erfolgt mit dieser Zeile in der playNote-Funktion:int f_out = (int)(27.5*pow(2, ((float)midiNote-33)/12));
- Ich neige dazu, meinen PC für die Schnittstelle über USB MIDI zu verwenden - Sie können dies von Ihrer bevorzugten Digital Audio Workstation (DAW)-Software aus tun. Wenn Sie keins haben, ist es ziemlich einfach, dieses System mit LMMS einzurichten - einer kostenlosen Open-Source-Plattform. Sobald es installiert und ausgeführt ist, stellen Sie einfach das Arduino Due als MIDI-Ausgabegerät ein, und wenn Sie ein USB-MIDI-Keyboard verwenden, stellen Sie es als Eingang ein.
Schritt 3: Testen und Experimentieren
Zeit, Ihren Schrittmotor zu spielen!
Wie gesagt, die ganze Idee dahinter war eine Art spontanes Experiment, also experimentiere auf jeden Fall selbst!
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Beeindruckend !! Schrittmotor ohne Treiber betreiben -- Neue Idee 2018: 4 Schritte (mit Bildern)
Beeindruckend !! Schrittmotor ohne Treiber betreiben || Neue Idee 2018: Hallo! In dieser Anleitung werde ich Ihnen beibringen, wie Sie einen Schrittmotor kontinuierlich mit hoher Geschwindigkeit ohne Treiberschaltung oder Arduino- oder Wechselstromversorgung betreiben. Durch Austauschen der Verdrahtungen können Sie ihn auch in beiden Taktgebern betreiben weise & gegen den uhrzeigersinn dir
Linearaktuator-Schrittmotor: 3 Schritte (mit Bildern)
Linear Actuator Stepper Motor: Um die Drehbewegung des Schrittmotors in eine Linearbewegung umzuwandeln, wird der Schrittmotor mit einem Gewinde verbunden. Auf dem Gewinde verwenden wir eine Messingmutter, die sich nicht drehen kann. Bei jeder Gewindeumdrehung wird die Messingmutter in axialer Richtung verschoben
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass
So kommunizieren Sie mit einem Alien-Artefakt oder . . .: 4 Schritte (mit Bildern)
Wie man mit einem außerirdischen Artefakt kommuniziert oder…: *** Enge Begegnungen der seltsam-minzigen Art. *** Dieses Instructable zeigt Ihnen, wie Sie eine Altoids-Version des Mutterschiffs "Close Encounters" bauen und damit interagieren. Dies kann ein wichtiges Training für den Tag sein, an dem das Bright White Be