Sadržaj:
- Korak 1: Breadboarding
- Korak 2: Programiranje i postavljanje MIDI -ja
- Korak 3: Testiranje i eksperimentiranje
Video: Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS): 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Jeste li ikada imali lošu ideju koju ste SAMO morali pretvoriti u mini projekt? Pa, igrao sam se sa skicom koju sam napravio za Arduino Due s ciljem stvaranja glazbe s modulom AD9833 Direct Digital Synthesis (DDS) … i u nekom sam trenutku pomislio "hej, možda bih trebao namjestiti stepper motor/vozač da ovaj". I ta je ideja upravo ono što je pokrenulo ovaj mali projekt zasnovan na matičnoj ploči.
U ovaj projekt bit će uključen neki kod za korištenje MIDI-preko-USB-a za kontrolu Arduino Due-a i slanje kvadratnih valova između AD9833 modula i stepper upravljačkog programa. Tu će biti i dijagram i osnovne upute za povezivanje ovoga na Arduino Due.
Pribor:
Što će vam trebati za ovaj projekt:
Arduino Due
NAPOMENA: Kôd je napisan za Due, ali bi također trebao raditi i/ili biti prilagođen za nulu. Koristi Arduinovu MIDIUSB biblioteku koja zahtijeva izvorni USB priključak.
Oplata za lemljenje + skakači
AD9833 prekidački modul
A4988 Stepper Driver (ili slično)
NEMA 17 koračni motor (ili sličan)
- Napajanje od 24 V (napomena, odabrao sam ovu vrijednost od 24 V jer je bila veća od nominalnog napona koračnog motora. Vaša implementacija može biti drugačija ako koristite veći motor)
Korak 1: Breadboarding
Osnovna ideja ovoga je da će IC s izravnom digitalnom sintezom generirati kvadratni val za pogon pin -a vozača koračnog motora. Ovaj stepper vozač će tada pomicati motor na zadanoj zvučnoj frekvenciji. Smjer motora je donekle proizvoljan sve dok korača ispravnom frekvencijom.
Pristup koji preferiram s matičnom pločom je da prvo pokrenem priključke za napajanje i uzemljenje, a zatim počnem izvoditi sve ostale veze bez napajanja.
Uzemljenje:
- Spojite pinove AGND i DGND modula AD9833 na GND vodilicu na ploči.
- Spojite dva GND pina na upravljaču koraka na GND vodilicu
- Odnesite ovo na jedan od GND -ova Arduino Due -a
Napajanje 3.3V:
- Spojite VDD pin upravljača koraka na V+ šinu matične ploče
- Spojite VCC pin modula AD9833 na V+ vodilicu matične ploče
- Donesite ovo na pin 3.3V Arduino Due
Napajanje 24V:
- Spojite VMOT pin na 24V DC napajanje (ovisno o izboru motora, možda ćete htjeti pokrenuti višu ili nižu opskrbnu tračnicu)
Povezivanje modula na modul:
- Spojite OUT pin s AD9833 modula na STEP pin vozača motora
Povezivanje upravljačkog programa koraka:
- Spojite priključke koračnog motora na pinove 2B/2A/1A/1B. Polaritet nije toliko važan, sve dok se faze vozača podudaraju s fazama koračnog motora.
- Spojite pinove za resetiranje i spavanje i dovedite ih na Arduino Due Pin 8.
- Spojite DIR pin na šinu 3.3V
Priključci modula AD9833:
- Spojite SCLK na SCK pin Arduino Due. Imajte na umu da se ovaj pin nalazi na 6-pinskom muškom ICSP zaglavlju u blizini mikrokontrolera, a ne na normalnim vanjskim ženskim zaglavljima.
- Spojite SDATA pin na Due -ov MOSI pin. Imajte na umu da se ovaj pin nalazi na 6-pinskom muškom ICSP zaglavlju u blizini mikrokontrolera, a ne na normalnim vanjskim ženskim zaglavljima.
- Spojite FSYNC na Arduino Due Pin 6 (ovo je pin za odabir čipa za ovaj projekt)
Sada kada je ploča potpuno sastavljena, vrijeme je da pogledate kôd!
Korak 2: Programiranje i postavljanje MIDI -ja
Priložena.ino skica odvest će USB-MIDI ulaze kroz izvorni USB priključak Arduino Due, te će ih koristiti za pogon AD9833. Ovaj čip ima DAC koji radi na 25MHz w/ 28 bita rezolucije frekvencije (totalno pretjerano za ono što je ovdje potrebno), a veliki dio koda ovdje ga konfigurira za rad i izlaz kvadratnog vala.
Napomena: postoje dva USB porta. Jedan se koristi za programiranje ploče, a drugi će se koristiti za MIDI-preko-USB komunikaciju
Imajte na umu da ova skica neće raditi onako kako je na Arduino Uno - ovaj projekt je specifičan po svojoj potrebi za izvornim USB -om u Arduino Due ili sličnim uređajima
Mogućnosti prilagođavanja:
- Postoje 2 načina rada, koja se mogu postaviti pomoću makro definicije preprocesora. Ako "#define STOPNOTES" ostane netaknut, steper će se zaustaviti između bilješki. To nije uvijek poželjno (na primjer, igranje brzih arpeđa), pa da biste promijenili ovo ponašanje, jednostavno izbrišite ili komentirajte tu naredbu #define i steper će se neprestano izvoditi nakon igranja.
-Koristim jeftinu 2-oktavnu MIDI tipkovnicu s ovom koja ima oktavnu tipku za gore/dolje, ali u slučaju da nemate tu mogućnost, možete prijevod ispod frekvencije oktava-pomak pomnožiti ili podijeliti s 2.
Prijevod s MIDI-a na frekvenciju vrši se ovim retkom u funkciji playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Svoje računalo koristim za povezivanje preko USB MIDI -ja - to možete učiniti iz svog omiljenog softvera za digitalnu audio radnu stanicu (DAW). Ako ga nemate, prilično je jednostavno postaviti ovaj sustav pomoću LMMS -a - besplatne platforme otvorenog koda. Nakon što je instaliran i pokrenut, jednostavno postavite Arduino Due kao MIDI izlazni uređaj, a ako koristite USB MIDI tipkovnicu, postavite to kao ulaz.
Korak 3: Testiranje i eksperimentiranje
Vrijeme je za igranje vašeg koračnog motora!
Kao što je rečeno, cijela ideja koja stoji iza ovoga bila je svojevrsni eksperiment, pa svakako eksperimentirajte sami!
Preporučeni:
Prijenosno unutarnje svjetlo sa LED čipom od 100 W: 26 koraka (sa slikama)
Prijenosno unutarnje svjetlo sa LED čipom od 100 W: U ovom uputstvu / videu pokazat ću vam kako sam napravio prijenosno unutarnje svjetlo sa LED čipom od 100 W koje se napaja sa 19V napajanjem od 90 W sa starog prijenosnog računara. UPDATE 2 (FINAL): Temperatura oko LED diode (37C stabilno pri 85 W nakon 30 minuta u prostoriji od 20 C)
Koračni motor s ESP32 pločom: 4 koraka
Step motor s ESP32 pločom: Step motori su istosmjerni motori koji se kreću u diskretnim koracima. Imaju više zavojnica koje su organizirane u grupe koje se nazivaju "faze". Napajanjem svake faze u nizu, motor će se okretati, korak po korak. Koračni motori su vrlo korisni
Koračni motor upravljanim koračnim motorom - Koračni motor kao rotacijski davač: 11 koraka (sa slikama)
Koračni motor upravljanim koračnim motorom | Koračni motor kao rotacijski davač: Imate li nekoliko koračnih motora u blizini i želite učiniti nešto? U ovom Instructableu upotrijebimo koračni motor kao rotacijski davač za kontrolu položaja drugog koračnog motora pomoću Arduino mikrokontrolera. Pa bez daljnjeg, idemo
Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: 6 koraka
Koračni motor sa svjetlosnim upravljanjem + zidni držač/stalak: Ovo postolje koristi se za smještaj koračnog motora s Arduino upravljanjem, dizajniranog za automatsko upravljanje zavjesom prema razini svjetlosti u prostoriji. Također možete dodati LCD zaslon za ispis razine osvjetljenja. 3D oprema služi samo za demonstraciju, a
Stupanje u kontakt s unutarnjim čipom: 7 koraka
Stupanje u kontakt sa svojim unutarnjim čipom: Ako ovo čitate na web stranici s uputama, gotovo sigurno za to koristite računalo. A budući da većina vas zna da računala koriste mikročipove za obradu svih podataka s kojima rade i pohranjuju. Možda ste čak vidjeli IC čipove