INHOUDSOPGAWE:
Video: MIDI-beheerde stapmotor met 'n direkte digitale sintese (DDS) chip: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Het u al ooit 'n slegte idee dat u net 'n mini -projek moes word? Ek speel rond met 'n skets wat ek vir die Arduino Due gemaak het, wat daarop gemik was om musiek te maak met 'n AD9833 Direct Digital Synthesis (DDS) -module … hierdie . En die idee is presies wat hierdie klein broodplank-gebaseerde projek tot gevolg gehad het.
'N Kode vir die gebruik van MIDI-oor-USB om 'n Arduino Due te beheer en vierkantige golwe tussen 'n AD9833-module en die stepper-bestuurder te stuur, bevat 'n kode. Daar sal ook 'n diagram en basiese instruksies wees om dit aan te sluit op 'n Arduino Due.
Benodighede:
Wat u benodig vir hierdie projek:
Arduino Due
LET WEL: die kode is geskryf vir die betaaldatum, maar dit moet ook werk en/of aangepas word vir die nul. Dit maak gebruik van die MIDIUSB -biblioteek van Arduino, wat 'n inheemse USB -poort benodig.
Soldeerlose broodbord + springers
AD9833 Breakout Module
A4988 Stepper Driver (of soortgelyk)
NEMA 17 -stapmotor (of soortgelyk)
- 24V kragtoevoer (let op, ek het hierdie waarde van 24 volt gekies omdat dit groter was as die nominale stappermotorspanning. U implementering kan anders wees as u 'n groter motor gebruik)
Stap 1: Breadboarding
Die basiese idee hieragter is dat die Direct Digital Synthesis IC 'n vierkantige golf sal genereer om die 'stap' pen van die stapmotorbestuurder aan te dryf. Hierdie stepper -bestuurder sal die motor dan op die gespesifiseerde hoorbare frekwensie beweeg. Die rigting van die motor is ietwat willekeurig, solank dit op die regte frekwensie stap.
Die benadering wat ek verkies om met breadboarding te werk, is om eers die kragpenne en -gronde te laat loop en dan al die ander verbindings sonder krag te begin.
Grond:
- Koppel die AGND- en DGND -penne van die AD9833 -module aan die GND Rail op die broodbord.
- Koppel die twee GND -penne op die Stepper Driver aan die GND Rail
- Bring dit na een van die GNU -penne van die Arduino Due
3.3V krag:
- Koppel die VDD -pen van die Stepper Driver aan die V+ Rail van die broodbord
- Koppel die VCC -pen van die AD9833 -module aan die V+ Rail van die broodbord
- Bring dit na die Arduino Due se 3.3V -pen
24V krag:
- Koppel die VMOT -pen aan die 24V DC -kragtoevoer (afhangende van u motorkeuse, kan u 'n hoër of laer toevoerrail gebruik)
Module-tot-module-verbinding:
- Koppel die OUT -pen van die AD9833 -module aan die STEP -pen van die motorbestuurder
Stepper Driver -verbindings:
- Koppel die stapmotorverbindings aan die 2B/2A/1A/1B -penne. Polariteit is nie so belangrik nie, solank die bestuurdersfases ooreenstem met dié van die stappermotor.
- Koppel die RESET- en SLEEP -penne aan mekaar en bring die na die Arduino Due Pin 8.
- Koppel die DIR -pen aan die 3.3V -rail
AD9833 -moduleverbindings:
- Koppel SCLK aan die Arduino Due se SCK -pen. Let daarop dat hierdie pen op die 6-pen manlike ICSP-kop naby die mikrobeheerder is, nie op die normale eksterne vroulike opskrifte nie.
- Koppel die SDATA -pen aan die Due se MOSI -pen. Let daarop dat hierdie pen op die 6-pen manlike ICSP-kop naby die mikrobeheerder is, nie op die normale eksterne vroulike opskrifte nie.
- Koppel die FSYNC aan die Arduino Due Pin 6 (dit is die Chip Select -pen vir hierdie projek)
Noudat die broodbord volledig gemonteer is, is dit tyd om na die kode te kyk!
Stap 2: Programmering en MIDI -opstelling
Die aangehegte.ino-skets neem USB-MIDI-insette deur die Arduino Due se oorspronklike USB-poort en gebruik dit om die AD9833 te bestuur. Hierdie chip het 'n DAC wat werk by 25MHz met 28 bisse frekwensie -resolusie (totale oormaat vir wat hier nodig is), en baie van die kode hier stel dit in om 'n vierkantgolf uit te voer en uit te voer.
Let wel: daar is twee USB -poorte. Die een word gebruik vir die programmering van die bord, en die ander sal gebruik word vir MIDI-over-USB comm
Let daarop dat hierdie skets nie werk soos op die Arduino Uno nie - hierdie projek is spesifiek in die behoefte aan die oorspronklike USB in die Arduino Due of soortgelyke toestelle
Aanpassingsopsies:
- Daar is 2 modusse wat deur 'n voorverwerker -makro -definisie ingestel kan word. As '#define STOPNOTES' ongeskonde gelaat word, stop die stepper tussen die note. Dit is nie altyd wenslik nie (byvoorbeeld om vinnige arpeggio's te speel). Om hierdie gedrag te verander, moet u slegs die #define -verklaring uitvee of kommentaar lewer en die stap sal voortdurend loop sodra dit gespeel is.
-Ek gebruik 'n goedkoop 2-oktaaf MIDI-sleutelbord hiermee wat 'n oktaaf op/af-knoppie het, maar as u nie die opsie het nie, kan u die frekwensie-vertaling onder oktaaf verskuif deur te vermenigvuldig of te deel met magte van 2.
Die MIDI-na-frekwensie-vertaling word uitgevoer met hierdie reël in die playNote-funksie: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Ek is geneig om my rekenaar te gebruik om oor USB MIDI te koppel - u kan dit doen met u gunsteling sagteware vir digitale klankwerkstasies (DAW). As u nie een het nie, is dit redelik maklik om hierdie stelsel op te stel met LMMS - 'n gratis, open source platform. Sodra dit geïnstalleer en uitgevoer is, stel u die Arduino Due eenvoudig as die MIDI -uitvoerapparaat in, en as u 'n USB MIDI -sleutelbord gebruik, stel dit as 'n invoer in.
Stap 3: Toets en eksperimenteer
Tyd om jou stapmotor te speel!
Soos hierbo genoem, was die hele idee hiervan 'n soort van 'n off-the-manchet-eksperiment, maar probeer in elk geval self!
Aanbeveel:
Stapmotor met ESP32 -bord: 4 stappe
Stappermotor met ESP32 -bord: Stappermotors is gelykstroommotors wat in diskrete stappe beweeg. Hulle het veelvuldige spoele wat georganiseer is in groepe genaamd " fases ". Deur elke fase in volgorde aan te wakker, sal die motor een stap op 'n slag draai.Trapmotors is baie handig
Hoe om die 28BYJ-48-stapmotor te gebruik met 3 drukknoppies: 5 stappe
Hoe om die 28BYJ-48-stapmotor met drie drukknoppies te gebruik: wil u u stappermotor met drukknoppies beheer? Dit kan met die kloksgewys, teen kloksgewys en dan stop funksioneer? Dan is hierdie video vir jou
Beheer u rekenaar met 'n stapmotor !: 9 stappe (met foto's)
Beheer u rekenaar met 'n stapmotor !: In een van my vorige instruksies het ek u gewys hoe u 'n stappermotor as 'n draaikodeerder kan gebruik. In hierdie instruksies, laat ons leer hoe ons dit kan gebruik om ons rekenaar te beheer. Dus, sonder meer, laat ons begin
Phono -Chronoxyle - 'n 360 grade -sintese: 3 stappe (met foto's)
Phono -Chronoxyle - 'n 360 grade -sintese: Julien Signolet -beeldhouer uit Parys en musikant Mathias Durand het my genader vir 'n interaktiewe klankinstallasie by Parc Floral in Parys vir Nuit Blanche 2019. Die installasie sou buite wees en ek sou nie teenwoordig wees tydens die in
Sigaarkas -sintese: 14 stappe (met foto's)
Cigar Box Synth: Hier is my nuutste synth gemaak van 'n 555 en 556 timer saam met 'n 4017 ic. 'N Paar maande gelede sou 'n konstruksie soos hierdie my vaardigheidsvlak verbygegaan het. Die afgelope paar maande het ek egter 'n paar eenvoudige syntheses saamgestel om beter te word