Sadržaj:

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

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

Video: Koračni motor sa MIDI upravljanjem sa čipom za direktnu digitalnu sintezu (DDS): 3 koraka
Video: Prüfungsvorbereitung - Beruf - B2 2024, Novembar
Anonim
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu digitalnu sintezu (DDS)
Koračni motor sa MIDI-upravljanjem sa čipom za direktnu 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 muzike s AD9833 modulom za direktnu digitalnu sintezu (DDS) … i u jednom trenutku sam pomislio "hej, možda bih trebao namjestiti stepper motor/vozač da ovo". I ta ideja je upravo ono što je pokrenulo ovaj mali projekat zasnovan na osnovnoj ploči.

U ovaj projekt će biti 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 upravljačkog programa koraka. Tu će biti i dijagram i osnovna uputstva za povezivanje ovoga na Arduino Due.

Potrošni materijal:

Šta će vam trebati za ovaj projekat:

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 Modul za prekid

A4988 Stepper Driver (ili slično)

NEMA 17 koračni motor (ili sličan)

- Napajanje 24V (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 iza ovoga je da će Direct Digital Synthesis IC generirati kvadratni val za pogon pin -a pokretača koračnog motora. Ovaj stepper vozač će tada pomicati motor na navedenoj 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 koje nemaju napajanje.

Uzemljenje:

- Spojite pinove AGND i DGND modula AD9833 na GND šinu na matičnoj ploči.

- Spojite dva GND pina na stepenastom pogonu na GND šinu

- 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+ šinu 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 stepenastog upravljačkog programa:

- Spojite koračne korake 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 RESET i SLEEP zajedno 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 MIDI postavljanje

Programiranje i MIDI postavljanje
Programiranje i MIDI postavljanje

Priložena.ino skica će voditi USB-MIDI ulaze kroz izvorni USB priključak Arduino Due-a i koristiti ih za pogon AD9833. Ovaj čip ima DAC koji radi na 25MHz w/ 28 bita rezolucije frekvencije (totalno prekomjerno 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 funkcionirati kao na Arduino Uno - ovaj projekt je specifičan po svojoj potrebi za izvornim USB -om u Arduino Due ili sličnim uređajima

Opcije prilagođavanja:

- Postoje 2 načina rada, koja se mogu postaviti pomoću makro definicije preprocesora. Ako "#define STOPNOTES" ostane netaknuto, steper će se zaustaviti između bilješki. Ovo nije uvijek poželjno (na primjer, sviranje brzih arpeđa), pa da promijenite ovo ponašanje, jednostavno izbrišite ili komentirajte tu naredbu #define i steper će se neprestano izvoditi nakon reprodukcije.

-Koristim jeftinu 2-oktavnu MIDI tastaturu sa ovom koja ima oktavnu tipku gore/dolje, ali u slučaju da nemate tu opciju, možete prebaciti donju frekvenciju za oktavu pomnoživši ili podijelivši sa 2.

Prijevod MIDI-a na frekvenciju se vrši s ovom linijom u funkciji playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));

- Svoj računar 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 sistem pomoću LMMS -a - besplatne platforme otvorenog koda. Kada se instalira i pokrene, jednostavno postavite Arduino Due kao MIDI izlazni uređaj, a ako koristite USB MIDI tastaturu, postavite to kao ulaz.

Korak 3: Testiranje i eksperimentiranje

Vrijeme je za igru vašeg stepper motora!

Kao što je rečeno, cijela ideja iza ovoga bila je neka vrsta eksperimenta koji nije u redu, pa svakako napravite neko svoje eksperimentiranje!

Preporučuje se: