Kazalo:
- Korak: Breadboarding
- 2. korak: Programiranje in nastavitev MIDI
- 3. korak: Testiranje in eksperimentiranje
Video: Koračni motor z MIDI-krmiljenjem z čipom za neposredno digitalno sintezo (DDS): 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Ste kdaj imeli slabo idejo, da ste se morali SAMO spremeniti v mini projekt? No, igral sem se s skico, ki sem jo naredil za Arduino Due, namenjeno ustvarjanju glasbe z modulom AD9833 Direct Digital Synthesis (DDS) … in na neki točki sem pomislil: "hej, morda bi moral namestiti koračni motor/voznika to ". In prav ta ideja je sprožila ta mali projekt, ki temelji na osnutku.
V ta projekt bo vključena nekaj kode za uporabo MIDI-over-USB za nadzor Arduino Due in pošiljanje kvadratnih valov med modulom AD9833 in koračnim gonilnikom. Na voljo bo tudi diagram in osnovna navodila za povezavo tega z Arduino Due.
Zaloge:
Kaj potrebujete za ta projekt:
Arduino Due
OPOMBA: Koda je napisana za Due, vendar bi morala delovati in/ali biti prilagojena za ničlo. Uporablja Arduinovo knjižnico MIDIUSB, ki zahteva domača vrata USB.
Lemljena plošča brez spajkanja + skakalci
modul AD9833 Breakout
A4988 Stepper Driver (ali podoben)
NEMA 17 koračni motor (ali podoben)
- Napajanje 24 V (upoštevajte, to vrednost 24 voltov sem izbral, ker je bila večja od nazivne napetosti koračnega motorja. Vaša izvedba je lahko drugačna, če uporabljate večji motor)
Korak: Breadboarding
Osnovna ideja tega je, da bo digitalna sintetična enota za neposredno digitalno sintezo ustvarila kvadratni val za pogon "koračnega" zatiča gonilnika koračnega motorja. Ta koračni gonilnik bo nato premikal motor z določeno zvočno frekvenco. Smer motorja je nekoliko poljubna, dokler stopa na pravilno frekvenco.
Pristop, ki ga raje uporabljam pri načrtovanju, je, da najprej zaženem napajalne zatiče in ozemljitve, nato pa začnem izvajati vse druge, ne-napajalne povezave.
Tla:
- Nožice AGND in DGND modula AD9833 priključite na tirnico GND na plošči.
- Dva zatiča GND na koračnem gonilniku priključite na tirnico GND
- Prinesite to na enega od zatičev GND Arduino Due
Napajanje 3.3V:
- Priključite VDD zatič koračnega gonilnika na vodilo V+ na matični plošči
- VCC pin modula AD9833 priključite na V+ Rail na matični plošči
- Prenesite to na 3.3V Pin Arduino Due
Napajanje 24V:
- Priključite pin VMOT na 24V DC napajanje (odvisno od izbire motorja, boste morda želeli popeljati višjo ali nižjo napajalno tirnico)
Povezava med moduli in moduli:
- Priključite OUT pin iz modula AD9833 na pin STEP gonilnika motorja
Povezave gonilnikov korakov:
- Priključke koračnega motorja priključite na zatiča 2B/2A/1A/1B. Polarnost ni tako pomembna, dokler se faze voznika ujemajo s fazami koračnega motorja.
- Povežite nožice RESET in SLEEP skupaj in jih pripeljite na Arduino Due Pin 8.
- Priključite pin DIR na tirnico 3.3V
Priključki modula AD9833:
- Priključite SCLK na SCK pin Arduino Due. Upoštevajte, da je ta zatič na 6-polni moški glavi ICSP v bližini mikrokrmilnika, ne na običajnih zunanjih ženskih glavah.
- Priključite pin SDATA na pin MOSI Due. Upoštevajte, da je ta zatič na 6-polni moški glavi ICSP v bližini mikrokrmilnika, ne na običajnih zunanjih ženskih glavah.
- Priključite FSYNC na Arduino Due Pin 6 (to je pin za izbiro čipa za ta projekt)
Zdaj, ko je plošča v celoti sestavljena, je čas, da si ogledate kodo!
2. korak: Programiranje in nastavitev MIDI
Priložena skica.ino bo prenašala vhode USB-MIDI skozi vhodna vrata USB Arduino Due in jih uporabila za pogon AD9833. Ta čip ima DAC, ki deluje pri 25 MHz z 28 bitov frekvenčne ločljivosti (popolno preseganje za tisto, kar je tukaj potrebno), in večina kode tukaj to konfigurira za zagon in izhod kvadratnega vala.
Opomba: Obstajata dva USB vhoda. Eden se uporablja za programiranje plošče, drugi pa za komunikacijo MIDI-over-USB
Upoštevajte, da ta skica ne bo delovala takšna kot je v Arduino Uno - ta projekt je poseben, ker potrebuje Native USB v Arduino Due ali podobnih napravah
Možnosti prilagajanja:
- Obstajata 2 načina, ki jih lahko nastavite s predprocesorsko definicijo makra. Če "#define STOPNOTES" ostane nedotaknjen, se bo korak ustavil med zapiski. To ni vedno zaželeno (na primer igranje hitrih arpeggiov), zato, če želite spremeniti to vedenje, preprosto izbrišite ali komentirajte stavek #define in steper se bo po predvajanju neprekinjeno izvajal.
-Uporabljam poceni 2-oktavno tipkovnico MIDI s to tipko, ki ima oktavno tipko gor/dol, vendar v primeru, da te možnosti nimate, lahko spodnji frekvenčni prevod prestavite z oktavo tako, da pomnožite ali delite s po 2.
Prevajanje MIDI v frekvenco se izvede s to vrstico v funkciji playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Računalnik ponavadi uporabljam za povezovanje prek USB MIDI - to lahko storite iz priljubljene programske opreme Digital Audio Workstation (DAW). Če ga nimate, je sistem enostavno nastaviti z uporabo LMMS - brezplačne odprtokodne platforme. Ko je nameščen in zagnan, preprosto nastavite Arduino Due kot izhodno napravo MIDI, če uporabljate tipkovnico USB MIDI, pa to nastavite kot vhod.
3. korak: Testiranje in eksperimentiranje
Čas je, da igrate svoj koračni motor!
Kot rečeno, je bila celotna ideja za to nekakšen eksperiment, zato vsekakor poskusite sami!
Priporočena:
Koračni motor s koračnim motorjem - Koračni motor kot rotacijski dajalnik: 11 korakov (s slikami)
Koračni motor s koračnim motorjem | Koračni motor kot rotacijski dajalnik: Ali nekaj koračnih motorjev leži naokoli in želi nekaj narediti? V tem Instructableu uporabimo koračni motor kot rotacijski dajalnik za nadzor položaja drugega koračnega motorja z mikrokrmilnikom Arduino. Torej brez odlašanja, pojdimo
Geeetech Board na Raspberry Pi prek USB kabla po meri Neposredno ožičeno: 4 koraki
Geeetech Board na Raspberry Pi prek USB kabla po meri Neposredno žično: Pozdravljeni! Ta priročnik bo pokazal, kako narediti 4-pinski kabel USB na JST XH po meri, tako da lahko Raspberry Pi ali drugo USB napravo neposredno priključite na ploščo Geeetech 2560 rev 3 na tiskalniku Geeetech, na primer A10. Ta kabel se priklopi v priročno paralelno
Zagon skriptov neposredno iz kontekstnega menija v sistemu Windows XP: 3 koraki
Zagon skriptov neposredno iz kontekstnega menija v sistemu Windows XP: To se je prvotno razvilo iz niti na Aqua-soft.org o ustvarjanju " praznega " Mapa. Izdelava " praznega zmožnosti " Mapa Nekdo je želel izprazniti vsebino mape za prenos, ne da bi izbrisal datoteko
Emotikoni za neposredno sporočanje z uporabo Adobe Flash: 3 koraki
Emotikoni za neposredno sporočanje z uporabo Adobe Flash: Kako narediti emotikone za takojšnje sporočanje za aplikacije, kot je MSN messenger, z uporabo Macromedia/Adobe Flash.Kliknite naprej
Canon F pladenj za tiskalnike Pixma-natisnite neposredno na CD/DVD za tiskanje: 3 koraki
Canonov pladenj F za tiskalnike Pixma-natisnite neposredno na CD/DVD za tiskanje: Kako narediti pladenj za tiskanje CD-jev za vaš Pixma MP600 ali drug Canon, ki potrebuje pladenj F