Përmbajtje:
Video: Stepper Motor i kontrolluar nga MIDI Me një çip të sintezës direkte dixhitale (DDS): 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
A keni pasur ndonjëherë një ide të keqe që VETUM ju është dashur të ktheheni në një mini projekt? Epo, unë po luaja me një skicë që kisha bërë për Arduino Due që synonte të bënte muzikë me një modul AD9833 Digital Digital Synthesis (DDS)… dhe në një moment mendova "hej, ndoshta duhet të ngre një motor stepper/shofer për të kjo ". Dhe kjo ide është pikërisht ajo që ndezi këtë projekt të vogël të bazuar në bukë.
Në këtë projekt do të përfshihet një kod për përdorimin e MIDI-over-USB për të kontrolluar një Arduino Due dhe dërgimin e valëve katrore midis një moduli AD9833 dhe drejtuesit të hapjes. Do të ketë gjithashtu një diagram dhe udhëzime themelore për lidhjen e tij me një Arduino Due.
Furnizimet:
Çfarë ju nevojitet për këtë projekt:
Arduino Due
SH NOTNIM: Kodi është shkruar për shkakun, por gjithashtu duhet të funksionojë dhe/ose të përshtatet për Zero. Ai përdor bibliotekën MIDIUSB të Arduino, e cila kërkon një port USB amtare.
Breadboard pa saldim + kërcyes
AD9833 Moduli i Breakout
A4988 Stepper Driver (ose të ngjashme)
NEMA 17 Stepper Motor (ose të ngjashme)
- Furnizimi me energji 24V (vini re, unë zgjodha këtë vlerë prej 24 Volt sepse ishte më e madhe se tensioni nominal i motorit stepper. Zbatimi juaj mund të jetë i ndryshëm nëse përdorni një motor më të madh)
Hapi 1: Breadboarding
Ideja themelore prapa kësaj është që IC e Sintezës Dixhitale Direkte do të krijojë një valë katrore për të drejtuar kunjën "hap" të drejtuesit të motorit stepper. Ky drejtues stepper do të lëvizë motorin në frekuencën e caktuar të dëgjueshme. Drejtimi i motorit është disi arbitrar për aq kohë sa ecën me frekuencën e duhur.
Qasja që preferoj të marr me ngrënien e bukës është që së pari të drejtoj kunjat dhe bazat e energjisë dhe pastaj të filloj të drejtoj të gjitha lidhjet e tjera, jo të energjisë.
Terren:
- Lidhni kunjat AGND dhe DGND të modulit AD9833 me hekurudhën GND në tabelën e bukës.
- Lidhni dy kunjat GND në Shoferin Stepper në hekurudhën GND
- Silleni këtë në një nga Kunjat GND të Arduino Due
Fuqia 3.3V:
- Lidhni Pin VDD të Stepper Driver në V+ Rail të breadboard
- Lidhni Pin VCC të modulit AD9833 me hekurudhën V+ të bordit të bukës
- Sillni këtë në Pin 3.3V të Arduino Due
Fuqia 24V:
- Lidhni kunjin VMOT me furnizimin me energji elektrike 24V DC (në varësi të zgjedhjes së motorit tuaj, mund të dëshironi të përdorni një hekurudhë furnizimi më të lartë ose më të ulët)
Lidhja modul me modul:
- Lidhni kunjin OUT nga moduli AD9833 me kunjin STEP të drejtuesit të motorit
Lidhjet e shoferit Stepper:
- Lidhni lidhjet Stepper Motor me kunjat 2B/2A/1A/1B. Polariteti nuk është aq i rëndësishëm, përderisa fazat e Shoferit përputhen me ato të Stepper Motor.
- Lidhni kunjat RESET dhe SLEEP së bashku dhe sillni ato në Arduino Due Pin 8.
- Lidhni pinin DIR me hekurudhën 3.3V
AD9833 Lidhjet e modulit:
- Lidhni SCLK me kunjin SCK të Arduino Due. Vini re se kjo kunj është në kokën ICSP mashkullore me 6 kunja pranë mikrokontrolluesit, jo në titujt e jashtëm normalë femra.
- Lidhni pinin SDATA me kunjin MOSI të Due. Vini re se kjo kunj është në kokën ICSP mashkullore me 6 kunja pranë mikrokontrolluesit, jo në titujt e jashtëm normalë femra.
- Lidhni FSYNC me Arduino Due Pin 6 (kjo është kunja e Chip Select për këtë projekt)
Tani që pllaka e bukës është mbledhur plotësisht, është koha për t'i hedhur një sy kodit!
Hapi 2: Programimi dhe konfigurimi MIDI
Skica e bashkangjitur.ino do të marrë hyrje USB-MIDI përmes portit USB të Arduino Due dhe do t'i përdorë ato për të drejtuar AD9833. Ky çip ka një DAC që funksionon në 25MHz w/ 28 bit të rezolucionit të frekuencës (mbingarkesë totale për atë që nevojitet këtu), dhe pjesa më e madhe e kodit këtu është konfigurimi i tij për të drejtuar dhe prodhuar një valë katrore.
Shënim: ka dy Porte USB. Njëra përdoret për programimin e tabelës, dhe tjetra do të përdoret për komunikimin MIDI-mbi-USB
Vini re se kjo skicë nuk do të funksionojë siç është në Arduino Uno - ky projekt është specifik në nevojën e tij për USB Native në Arduino Due ose pajisje të ngjashme
Opsionet e personalizimit:
- Ekzistojnë 2 mënyra, të cilat mund të vendosen nga një përcaktim makro i paraprocesorit. Nëse "#define STOPNOTES" lihet e paprekur, hapi do të ndalet në mes të shënimeve. Kjo nuk është gjithmonë e dëshiruar (për shembull, duke luajtur arpezhe të shpejtë), kështu që për të ndryshuar këtë sjellje, thjesht fshini ose komentoni atë deklaratë #përkufizo dhe hapi do të funksionojë vazhdimisht pasi të luhet.
-Unë përdor një tastierë të lirë MIDI 2-oktavë me këtë që ka një buton oktavë lart/poshtë, por në rast se nuk e keni atë opsion, mund ta ndryshoni oktavën-përkthimin e frekuencës më poshtë duke shumëzuar ose ndarë me fuqitë 2.
Përkthimi MIDI në frekuencë bëhet me këtë linjë në funksionin playNote: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));
- Unë prirem të përdor kompjuterin tim për të lidhur me MIDI USB - ju mund ta bëni këtë nga programi juaj i preferuar Digital Audio Workstation (DAW). Nëse nuk keni një të tillë, është shumë e lehtë të vendosni këtë sistem duke përdorur LMMS - një platformë falas, me burim të hapur. Pasi të jetë instaluar dhe funksionuar, thjesht vendosni Arduino Due si pajisje dalëse MIDI, dhe nëse përdorni një tastierë USB MIDI, vendoseni atë si një hyrje.
Hapi 3: Testimi dhe Eksperimentimi
Koha për të luajtur motorin tuaj stepper!
Siç u tha, e gjithë ideja pas këtij ishte një lloj eksperimenti pa pranga, kështu që me çdo kusht, bëni disa eksperimente tuajat!
Recommended:
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues !: 6 hapa
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues !: Në këtë udhëzues të shpejtë, ne do të bëjmë një kontrollues të thjeshtë të motorit stepper duke përdorur një motor stepper. Ky projekt nuk kërkon qark të ndërlikuar ose mikrokontrollues. Pra, pa zhurmë të mëtejshme, le të fillojmë
Stepper Motor i kontrolluar me motor Stepper pa mikrokontrollues (V2): 9 hapa (me fotografi)
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues (V2): Në një nga udhëzimet e mia të mëparshme, ju tregova se si të kontrolloni një motor stepper duke përdorur një motor stepper pa një mikrokontrollues. Ishte një projekt i shpejtë dhe argëtues, por erdhi me dy probleme të cilat do të zgjidhen në këtë Udhëzues. Pra, me zgjuarsi
Lokomotivë e Modelit të Kontrolluar me Stepper Motor - Stepper Motor si një kodues rrotullues: 11 hapa (me fotografi)
Lokomotivë e Modelit të Kontrolluar me Stepper Motor | Stepper Motor Si një Kodifikues Rotary: Në njërën prej udhëzimeve të mëparshme, ne mësuam se si të përdorim një motor stepper si një kodues rrotullues. Në këtë projekt, ne tani do të përdorim atë motor stepper kodues rrotullues të kthyer për të kontrolluar një lokomotivë model duke përdorur një mikrokontrollues Arduino. Pra, pa fu
Stepper Motor i kontrolluar Stepper Motor - Stepper Motor si një kodues rrotullues: 11 hapa (me fotografi)
Stepper Motor i kontrolluar Stepper Motor | Stepper Motor Si një kodues rrotullues: Keni disa motorë stepper të shtrirë përreth dhe doni të bëni diçka? Në këtë udhëzues, le të përdorim një motor stepper si një kodues rrotullues për të kontrolluar pozicionin e një motori tjetër stepper duke përdorur një mikrokontrollues Arduino. Pra, pa u zgjatur më tej, le të gjejmë
Bëni një aparat të kontrolluar nga distanca nga një celular !: 5 hapa (me fotografi)
Bëni një aparat të kontrolluar nga distanca nga një celular !: Dëshironi të dini se çfarë po bën macja juaj në punë? Dërgoni një mesazh me tekst celularit tuaj të mbikqyrjes të sapokrijuar dhe merrni fotografi dhe video sekonda më vonë. Duket si një ëndërr? Jo më! Kjo video shpjegon se si funksionon: