Obsah:
Video: MIDI-ovládaný krokový motor s čipom s priamou digitálnou syntézou (DDS): 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Mali ste niekedy zlý nápad, že ste sa JUST museli zmeniť na mini projekt? Pohrával som sa so skicou, ktorú som urobil pre Arduino Due, zameranou na vytváranie hudby pomocou modulu AD9833 Direct Digital Synthesis (DDS) … a v určitom okamihu som si povedal „hej, možno by som mal namontovať krokový motor/ovládač toto “. A táto myšlienka je presne to, čo vyvolalo tento malý projekt založený na breadboarde.
V tomto projekte bude zahrnutý nejaký kód na používanie MIDI-over-USB na ovládanie Arduino Due a odosielanie štvorcových vĺn medzi modulom AD9833 a krokovým ovládačom. K dispozícii bude tiež diagram a základné pokyny na pripojenie k Arduino Due.
Zásoby:
Čo budete potrebovať k tomuto projektu:
splatnosť Arduina
POZNÁMKA: Kód je napísaný pre splatnosť, ale mal by tiež fungovať a/alebo by mal byť prispôsobený pre nulu. Využíva knižnicu MIDIUSB spoločnosti Arduino, ktorá vyžaduje natívny port USB.
Nepájkovateľný Breadboard + prepojky
Breakout modul AD9833
Krokový ovládač A4988 (alebo podobný)
Krokový motor NEMA 17 (alebo podobný)
- Napájanie 24 V (všimol som si, že som vybral túto hodnotu 24 voltov, pretože bola väčšia ako nominálne napätie krokového motora. Vaša implementácia sa môže líšiť, ak použijete väčší motor)
Krok 1: Breadboarding
Základnou myšlienkou je, že integrovaný obvod priamej digitálnej syntézy vygeneruje štvorcovú vlnu na poháňanie „krokového“kolíka ovládača krokového motora. Tento krokový ovládač potom pohne motorom na uvedenú počuteľnú frekvenciu. Smer motora je do určitej miery ľubovoľný, pokiaľ krokuje so správnou frekvenciou.
Prístup, ktorý uprednostňujem s chlebom, je najskôr spustiť napájacie kolíky a uzemnenie a potom začať prevádzkovať všetky ostatné pripojenia bez napájania.
Zem:
- Pripojte kolíky AGND a DGND modulu AD9833 k lište GND na doske.
- Pripojte dva kolíky GND na krokovom ovládači k lište GND
- Preneste to na jeden z GND pinov Arduino Due
Napájanie 3,3 V:
- Pripojte kolík VDD krokového ovládača k V+ lište nepájivej dosky
- Pripojte kolík VCC modulu AD9833 k V+ lište nepájivej dosky
- Prepnite to na pin 3,3 V Arduino Due
Napájanie 24V:
- Pripojte kolík VMOT k napájaciemu zdroju 24 V DC (v závislosti od vášho výberu motora možno budete chcieť spustiť vyššiu alebo nižšiu napájaciu lištu)
Pripojenie modulu k modulu:
- Pripojte vývod OUT z modulu AD9833 k vývodu STEP v ovládači motora
Pripojenie krokového ovládača:
- Pripojte pripojenia krokového motora k kolíkom 2B/2A/1A/1B. Polarita nie je taká dôležitá, pokiaľ sa fázy ovládača zhodujú s fázami krokového motora.
- Spojte kolíky RESET a SLEEP dohromady a preneste ich na pin 8 Arduino Due.
- Pripojte pin DIR k lište 3,3 V
Pripojenie modulu AD9833:
- Pripojte SCLK k pinu SCK Arduino Due. Všimnite si toho, že tento pin je na 6-kolíkovej zásuvke ICSP samca v blízkosti mikrokontroléra, nie na bežných externých zásuvkách.
- Pripojte kolík SDATA k pinu MOSI spoločnosti Due. Všimnite si toho, že tento pin je na 6-kolíkovej zásuvke ICSP samca v blízkosti mikrokontroléra, nie na bežných externých zásuvkách.
- Pripojte FSYNC k Arduino Due Pin 6 (toto je pin Chip Select pre tento projekt)
Teraz, keď je doska na pečenie úplne zostavená, je načase sa pozrieť na kód!
Krok 2: Programovanie a nastavenie MIDI
Priložená skica.ino prevezme vstupy USB-MIDI cez natívny port USB Arduino Due a použije ich na pohon jednotky AD9833. Tento čip má DAC, ktorý beží na frekvencii 25 MHz s 28 bitmi frekvenčného rozlíšenia (celkové prekročenie toho, čo je tu potrebné) a veľká časť kódu tu konfiguruje, aby bežal a produkoval štvorcovú vlnu.
Poznámka: Existujú dva porty USB. Jeden sa používa na programovanie dosky a druhý sa použije na komunikáciu MIDI cez USB
Všimnite si toho, že táto skica nebude fungovať tak, ako je na Arduino Uno - tento projekt je špecifický svojou potrebou natívneho USB v Arduino Due alebo podobných zariadeniach
Možnosti prispôsobenia:
- Existujú 2 režimy, ktoré je možné nastaviť pomocou definície makra preprocesora. Ak „#define STOPNOTES“ponecháte nedotknuté, stepper sa medzi poznámkami zastaví. Nie je to vždy žiaduce (napríklad hranie rýchlych arpeggií), takže ak chcete zmeniť toto správanie, jednoducho odstráňte alebo komentujte príkaz #define a stepper bude po hraní bežať nepretržite.
-Používam lacnú 2-oktávovú MIDI klávesnicu, ktorá má tlačidlo oktáva hore/dole, ale v prípade, že túto možnosť nemáte, môžete nižšie frekvenčný preklad posunúť o oktávu vynásobením alebo delením mocninami 2.
Preklad MIDI na frekvenciu sa vykonáva s týmto riadkom vo funkcii playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Na prepojenie cez USB MIDI používam svoj počítač - môžete to urobiť z obľúbeného softvéru DAW (Digital Audio Workstation). Ak ho nemáte, je veľmi jednoduché nastaviť tento systém pomocou LMMS - bezplatnej platformy s otvoreným zdrojovým kódom. Akonáhle je nainštalovaný a spustený, jednoducho nastavte Arduino Due ako výstupné zariadenie MIDI, a ak používate USB MIDI klávesnicu, nastavte ho ako vstup.
Krok 3: Testovanie a experimentovanie
Čas hrať na krokovom motore!
Ako bolo uvedené, celá myšlienka bola akýmsi experimentom mimo manžety, takže v každom prípade urobte nejaké vlastné experimentovanie!
Odporúča:
Krokový motor s doskou ESP32: 4 kroky
Krokový motor s doskou ESP32: Krokové motory sú jednosmerné motory, ktoré sa pohybujú v diskrétnych krokoch. Majú viac cievok, ktoré sú usporiadané v skupinách nazývaných „fázy“. Po postupnom napájaní každej fázy sa motor bude otáčať jeden po druhom. Krokové motory sú veľmi užitočné
Krokový motor s Arduino UNO: 3 kroky
Krokový motor s Arduino UNO: krokové motory sú jednosmerné motory, ktoré pohybujú v jednotlivých krokoch. Majú viac cievok, ktoré sú usporiadané v skupinách nazývaných quot; fáz ". Po postupnom napájaní každej fázy sa motor bude otáčať jeden po druhom. Krokové motory sú veľmi užitočné
Od starého prenosného počítača k externému monitoru s digitálnou televíziou: 6 krokov
Od starého prenosného počítača k externému monitoru s digitálnou televíziou: Rozmýšľali ste niekedy nad tým, čo robiť so starým notebookom alebo monitorom, ktoré ležia okolo? V tomto návode vám ukážem, ako zmeniť váš starý prenosný počítač alebo obrazovku starého monitora, ktorá nemá porty HDMI, na externý monitor s rozhraním HDMI, AV, kompozitným
Krokový motor riadený krokovým motorom - Krokový motor ako rotačný kodér: 11 krokov (s obrázkami)
Krokový motor ovládaný krokovým motorom | Krokový motor ako rotačný kodér: Máte okolo seba pár krokových motorov a chcete niečo urobiť? V tomto návode použijeme krokový motor ako rotačný snímač na ovládanie polohy iného krokového motora pomocou mikrokontroléra Arduino. Takže bez ďalších okolkov poďme na
Napájanie digitálnou batériou: 7 krokov (s obrázkami)
Digitálne napájanie z batérie: Už ste niekedy chceli napájanie, ktoré môžete používať na cestách, dokonca aj bez elektrickej zásuvky v blízkosti? A nebolo by skvelé, keby bol aj veľmi presný, digitálny a ovládateľný pomocou počítača? V tomto návode vám ukážem, ako presne postaviť: digitálny