Sadržaj:
- Korak 1: Breadboarding
- Korak 2: Programiranje i MIDI postavljanje
- Korak 3: Testiranje i eksperimentiranje
Video: Koračni motor sa MIDI upravljanjem sa čipom za direktnu digitalnu sintezu (DDS): 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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
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
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:
Prijenosno unutrašnje svjetlo sa LED čipom od 100 W: 26 koraka (sa slikama)
Prijenosno unutrašnje svjetlo sa LED čipom od 100 W: U ovom uputstvu / videu ću vam pokazati kako sam napravio prijenosno unutrašnje svjetlo sa LED čipom od 100 W koje se napaja sa 19V 90W napajanjem sa starog prijenosnog računara. UPDATE 2 (FINAL): Temperatura oko LED diode (37C stabilno @85W nakon 30 minuta u prostoriji od 20C)
Koračni motor sa Arduino UNO: 3 koraka
Step motor sa Arduino UNO: Step motori su istosmjerni motori koji se kreću u diskretnim koracima. Imaju više zavojnica koje su organizirane u grupe pod nazivom "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 koji leže i žele nešto učiniti? U ovom Instructableu, upotrijebimo koračni motor kao rotacijski davač za kontrolu položaja drugog koračnog motora pomoću Arduino mikrokontrolera. Pa bez odlaganja, idemo
Svepojasni prijemnik za direktnu konverziju: 6 koraka
Svepojasni prijemnik za direktnu konverziju: a.članci {font-size: 110.0%; font-weight: bold; font-style: italic; dekoracija teksta: nema; background-color: red;} a.članci: hover {background-color: black;} Ova instrukcija opisuje eksperimentalnu "direktnu konverziju" a
Stupanje u kontakt sa unutrašnjim čipom: 7 koraka
Stupanje u kontakt sa vašim unutrašnjim čipom: Ako ovo čitate na web stranici sa uputstvima, gotovo sigurno za to koristite računar. A kako većina vas zna, računari koriste mikročipove za obradu svih podataka s kojima rade i pohranu. Možda ste čak vidjeli IC čipove