Sisukord:
- 1. samm: leivalaud
- 2. samm: programmeerimine ja MIDI seadistamine
- 3. samm: katsetamine ja katsetamine
Video: Otsese digitaalse sünteesi (DDS) kiibiga MIDI-juhitav samm-mootor: 3 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Kas teil on kunagi olnud halb mõte, et pidite lihtsalt miniprojektiks muutuma? Noh, ma mängisin ringi eskiisiga, mille olin koostanud Arduino Due jaoks ja mille eesmärk oli teha muusikat AD9833 Direct Digital Synthesis (DDS) mooduliga … ja mingil hetkel mõtlesin: "Hei, võib -olla peaksin astmemootori/draiveri seadistama see ". Ja see idee on just see, mis selle väikese leivaplaadipõhise projekti vallandas.
Sellesse projekti on kaasatud kood MIDI-üle-USB kasutamiseks Arduino Due juhtimiseks ja kandiliste lainete saatmiseks AD9833 mooduli ja samm-draiveri vahel. Samuti on skeem ja põhijuhised selle ühendamiseks Arduino Duega.
Tarvikud:
Mida vajate selle projekti jaoks:
Arduino Due
MÄRKUS. Kood on kirjutatud tähtajaks, kuid see peaks töötama ja/või olema kohandatud nulliks. See kasutab Arduino MIDIUSB raamatukogu, mis nõuab natiivset USB -porti.
jooteta leivalaud + džemprid
AD9833 Breakout moodul
A4988 samm -draiver (või sarnane)
NEMA 17 samm -mootor (või sarnane)
- 24 V toiteallikas (pange tähele, et valisin selle väärtuse 24 volti, kuna see oli suurem kui samm -mootori nimipinge. Suurema mootori kasutamisel võib teie rakendus olla erinev)
1. samm: leivalaud
Selle põhiidee on see, et Direct Digital Synthesis IC genereerib nelinurkse laine, et juhtida samm -mootori juhi "samm" tihvti. See sammujuht liigutab mootorit määratud helisagedusel. Mootori suund on mõnevõrra suvaline, kui see liigub õigel sagedusel.
Lähenemisviis, mida ma eelistan leivalaua puhul kasutada, on kõigepealt toitepistikute ja -pindade käivitamine ning seejärel kõigi muude toiteväliste ühenduste käivitamine.
Maapind:
- Ühendage mooduli AD9833 AGND ja DGND kontaktid leivaplaadil asuva GND -liistuga.
- Ühendage samm -juhi kaks GND tihvti GND -rööpaga
- Viige see ühele Arduino Due GND -tihvtile
3.3V võimsus:
- Ühendage samm -draiveri VDD tihvt leivaplaadi V+ rööpaga
- Ühendage AD9833 mooduli VCC tihvt leivaplaadi V+ rööpaga
- Viige see Arduino Due 3,3 V pinnile
24V toide:
- Ühendage VMOT -tihvt 24 V alalisvoolu toiteallikaga (sõltuvalt teie valitud mootorist võite soovida kasutada kõrgemat või madalamat toiteliini)
Moodulitevaheline ühendus:
- Ühendage AD9833 mooduli OUT -tihvt mootori juhi STEP -tihvtiga
Stepper draiveri ühendused:
- Ühendage samm -mootori ühendused 2B/2A/1A/1B tihvtidega. Polaarsus pole nii tähtis, kui juhi faasid sobivad sammuga.
- Ühendage RESET ja SLEEP tihvtid kokku ja viige need Arduino Due Pin 8 külge.
- Ühendage DIR -tihvt 3.3V rööpaga
AD9833 mooduli ühendused:
- Ühendage SCLK Arduino Due SCK -tihvtiga. Pange tähele, et see tihvt asub 6-kontaktilise isase ICSP päises mikrokontrolleri lähedal, mitte tavalistel välistel naissoost päistel.
- Ühendage SDATA tihvt Due's MOSI tihvtiga. Pange tähele, et see tihvt asub 6-kontaktilise isase ICSP päises mikrokontrolleri lähedal, mitte tavalistel välistel naissoost päistel.
- Ühendage FSYNC Arduino Due Pin 6 -ga (see on selle projekti jaoks Chip Select pin)
Nüüd, kui leivaplaat on täielikult kokku pandud, on aeg koodile pilk peale visata!
2. samm: programmeerimine ja MIDI seadistamine
Lisatud.ino visand võtab USB-MIDI sisendid läbi Arduino Due natiivse USB-pordi ja kasutab neid AD9833 juhtimiseks. Sellel kiibil on DAC, mis töötab sagedusel 25 MHz sagedusega 28 bitti (täielik ülekoormus selle jaoks, mida siin vaja on) ja suur osa siinsetest koodidest konfigureerib seda ruutlaine käivitamiseks ja väljastamiseks.
Märkus: USB -porte on kaks. Ühte kasutatakse tahvli programmeerimiseks ja teist kasutatakse MIDI-üle-USB komm
Pange tähele, et see visand ei tööta Arduino Uno praegusel kujul - see projekt on spetsiifiline, kuna vajab Arduino Due või sarnaste seadmete natiivset USB -d
Kohandamisvalikud:
- On 2 režiimi, mida saab seadistada eeltöötleja makromääratlusega. Kui "#define STOPNOTES" jäetakse puutumata, peatub samm steppide vahel. Seda ei soovita alati (näiteks kiirete arpeggiosade mängimine), nii et selle käitumise muutmiseks lihtsalt kustutage või kommenteerige, et #define lause ja samm liiguvad esitamise ajal pidevalt.
-Ma kasutan odavat 2-oktaavilist MIDI-klaviatuuri, millel on oktaavi üles/alla nupp, kuid kui teil seda võimalust pole, saate alloleva sagedusega tõlget oktaavi nihutada, korrutades või jagades 2-ga.
MIDI-sagedusmuundamine toimub selle reaga funktsioonis playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Ma kasutan oma arvutit USB MIDI kaudu liidestamiseks - seda saate teha oma lemmik Digital Audio Workstation (DAW) tarkvarast. Kui teil seda pole, on selle süsteemi seadistamine LMMS -i - tasuta avatud lähtekoodiga platvormi - abil üsna lihtne. Kui see on installitud ja käivitatud, määrake Arduino Due lihtsalt MIDI -väljundseadmeks ja kui kasutate USB -MIDI -klaviatuuri, määrake see sisendiks.
3. samm: katsetamine ja katsetamine
Aeg mängida oma samm -mootorit!
Nagu öeldud, oli kogu selle idee omamoodi käeulatusest väljas, seega tehke igal juhul oma katsetusi!
Soovitan:
Kaasaskantav sisevalgusti 100 W LED -kiibiga: 26 sammu (piltidega)
Kaasaskantav sisevalgusti 100W LED -kiibiga: selles juhendatavas videos näitan teile, kuidas tegin kaasaskantava sisevalgustuse 100W LED -kiibiga, mis töötab vanast sülearvutist 19V 90W toiteallikaga. UPDATE 2 (FINAL): LED -i ümbritsev temperatuur (37 ° C stabiilne @85 W pärast 30 minutit 20 ° C ruumis)
Ehitame Arduino Nano abil SN76489 USB MIDI sünteesi: 7 sammu
Ehitame Arduino Nano abil SN76489 USB MIDI süntesaatori: kas olete kunagi tahtnud ehitada oma süntesaatori, mis põhineb 80ndate vanadel kiiphelidel? Esitage lihtsaid polüfoonilisi lugusid, mis kõlavad täpselt nii, nagu need vanad Sega Master System ja Megadrive videomängud kõlasid? Mul on nii, tellisin eb -lt mõned SN76489 kiibid
RTL-SDR otsese proovivõtmise režiim: 3 sammu
RTL-SDR otsese proovivõtmise režiim: Paljud donglid ei saa kasutada sagedusi alla 30 MHz, kuid mõningaid seadmeid on võimalik selleks muuta, kasutades otsese proovivõtmise meetodit. Otsese proovivõtu korral rakendame signaali otse donglite ajule, vältides tõhusalt t
MIDI 5V LED -riba valguskontroller Spielatroni või muu MIDI -sünteesi jaoks: 7 sammu (piltidega)
MIDI 5V LED-riba valguskontroller Spielatroni või muu MIDI Synthi jaoks: see kontroller vilgutab kolmevärvilisi LED-ribatulesid 50 mS märkme kohta. Sinine G5 kuni D#6, punane E6 kuni B6 ja roheline C7 kuni G7. Kontroller on ALSA MIDI -seade, nii et MIDI -tarkvara saab LED -idele väljastada samaaegselt MIDI -süntesaatoriseadmega
Sisemise kiibiga ühenduse võtmine: 7 sammu
Sisemise kiibiga ühenduse võtmine: kui loete seda juhendataval veebisaidil, kasutate peaaegu kindlasti arvutit. Ja nagu enamik teist teab, kasutavad arvutid mikrokiipe, et töödelda kogu teavet, millega nad töötavad ja salvestavad. Võib -olla olete isegi näinud IC -kiipe