Sadržaj:

Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS): 3 koraka
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS): 3 koraka

Video: Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS): 3 koraka

Video: Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS): 3 koraka
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, Srpanj
Anonim
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)
Koračni motor s MIDI upravljanjem s čipom za izravnu digitalnu sintezu (DDS)

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

Breadboarding
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

Programiranje i MIDI postavljanje
Programiranje i MIDI postavljanje

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: