Satura rādītājs:
Video: MIDI kontrolēts pakāpju motors ar tiešu digitālo sintēzi (DDS): 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Vai jums kādreiz ir bijusi slikta ideja, ka jums TIKAI bija jāpārvēršas par mini projektu? Nu, es spēlēju ar skici, ko biju izveidojis Arduino Due, lai radītu mūziku ar AD9833 tiešās digitālās sintēzes (DDS) moduli… un kādā brīdī es nodomāju: “hei, varbūt man vajadzētu uzstādīt pakāpju motoru/draiveri šo . Un tieši šī ideja izraisīja šo mazo maizes dēļa projektu.
Šajā projektā būs iekļauts kods, kā izmantot MIDI-over-USB, lai kontrolētu Arduino Due un nosūtītu kvadrātveida viļņus starp AD9833 moduli un pakāpiena draiveri. Būs arī diagramma un pamata instrukcijas, kā to savienot ar Arduino Due.
Piegādes:
Kas jums būs nepieciešams šim projektam:
Arduino Due
PIEZĪME: Kods ir rakstīts termiņam, taču tam vajadzētu arī darboties un/vai to pielāgot nullei. Tas izmanto Arduino MIDIUSB bibliotēku, kurai nepieciešams vietējais USB ports.
bez lodēšanas maizes dēlis + džemperi
AD9833 izlaušanās modulis
A4988 pakāpienu draiveris (vai līdzīgs)
NEMA 17 pakāpju motors (vai līdzīgs)
- 24 V barošanas avots (ņemiet vērā, es izvēlējos šo vērtību 24 volti, jo tā bija lielāka par nominālo pakāpju motora spriegumu. Ja izmantojat lielāku motoru, jūsu ieviešana var būt atšķirīga)
1. darbība
Pamatideja ir tāda, ka tiešās digitālās sintēzes IC ģenerēs kvadrātveida vilni, lai virzītu pakāpiena motora vadītāja “soļa” tapu. Šis pakāpiena vadītājs pārvietos motoru ar norādīto skaņas frekvenci. Motora virziens ir nedaudz patvaļīgs, kamēr tas soļo pareizajā frekvencē.
Pieeja, kuru es labprātāk izvēlos, izmantojot maizes dēli, ir vispirms palaist strāvas tapas un pamatus un pēc tam sākt darbināt visus pārējos savienojumus, kas nav saistīti ar strāvu.
Zeme:
- Pievienojiet AD9833 moduļa AGND un DGND tapas maizes dēļa GND sliedei.
- Savienojiet abas GND tapas uz pakāpiena vadītāja ar GND sliedi
- Pārnesiet to uz vienu no Arduino Due GND tapām
3.3V jauda:
- Pievienojiet pakāpiena vadītāja VDD tapu pie maizes dēļa V+ sliedes
- Pievienojiet AD9833 moduļa VCC tapu pie maizes dēļa V+ sliedes
- Pārnesiet to uz Arduino Due 3.3V tapu
24V jauda:
- Pievienojiet VMOT tapu 24 V līdzstrāvas barošanas avotam (atkarībā no motora izvēles, iespējams, vēlēsities darbināt augstāku vai zemāku barošanas sliedi)
Savienojums starp moduļiem:
- Pievienojiet OUT tapu no AD9833 moduļa motora vadītāja STEP tapai
Stepper draivera savienojumi:
- Pievienojiet soļu motora savienojumus ar 2B/2A/1A/1B tapām. Polaritāte nav tik svarīga, ja vien vadītāja fāzes sakrīt ar pakāpju motora fāzēm.
- Savienojiet RESET un SLEEP tapas kopā un novietojiet tās uz Arduino Due Pin 8.
- Pievienojiet DIR tapu 3.3V sliedei
AD9833 moduļa savienojumi:
- Pievienojiet SCLK Arduino Due SCK tapai. Ņemiet vērā, ka šī tapa atrodas uz 6 kontaktu vīriešu ICSP galvenes pie mikrokontrollera, nevis uz parastajām ārējām sieviešu galvenēm.
- Pievienojiet SDATA tapu Due's MOSI tapai. Ņemiet vērā, ka šī tapa atrodas uz 6 kontaktu vīriešu ICSP galvenes pie mikrokontrollera, nevis uz parastajām ārējām sieviešu galvenēm.
- Pievienojiet FSYNC Arduino Due Pin 6 (šī ir Chip Select pin šim projektam)
Tagad, kad maizes dēlis ir pilnībā samontēts, ir pienācis laiks apskatīt kodu!
2. darbība: programmēšana un MIDI iestatīšana
Pievienotā.ino skice uzņems USB-MIDI ieejas caur Arduino Due dabisko USB portu un izmantos tās, lai vadītu AD9833. Šai mikroshēmai ir DAC, kas darbojas ar 25 MHz frekvenci ar 28 bitu frekvences izšķirtspēju (kopējais pārspīlējums, kas šeit vajadzīgs), un liela daļa no koda šeit konfigurē to, lai palaistu un izvadītu kvadrātveida vilni.
Piezīme: ir divi USB porti. Viens tiek izmantots plates programmēšanai, bet otrs tiks izmantots MIDI-over-USB comm
Ņemiet vērā, ka šī skice nedarbosies Arduino Uno, kā tas ir - šis projekts ir specifisks, jo ir nepieciešams vietējais USB Arduino Due vai līdzīgās ierīcēs
Pielāgošanas iespējas:
- Ir 2 režīmi, kurus var iestatīt ar priekšapstrādātāja makro definīciju. Ja “#define STOPNOTES” tiek atstāts neskarts, solis apstājas starp notīm. Tas ne vienmēr ir vēlams (piemēram, spēlējot ātrus arpeggios), tāpēc, lai mainītu šo uzvedību, vienkārši izdzēsiet vai komentējiet, ka #define paziņojums un solis pēc atskaņošanas darbosies nepārtraukti.
-Es izmantoju lētu 2 oktāvu MIDI tastatūru ar šo, kurai ir oktāvas augšup/lejup poga, bet, ja jums nav šīs iespējas, varat oktāvu nobīdīt zemāk norādīto frekvenču tulkojumu, reizinot vai dalot ar 2.
MIDI-frekvences tulkojums tiek veikts ar šo rindu funkcijā playNote: int f_out = (int) (27,5*pow (2, ((float) midiNote-33)/12));
- Es mēdzu izmantot savu datoru saskarnei, izmantojot USB MIDI - to var izdarīt, izmantojot iecienīto programmatūru Digital Audio Workstation (DAW). Ja jums tādas nav, šo sistēmu ir diezgan viegli iestatīt, izmantojot LMMS - bezmaksas atvērtā pirmkoda platformu. Kad tas ir instalēts un darbojas, vienkārši iestatiet Arduino Due kā MIDI izvadierīci un, ja izmantojat USB MIDI tastatūru, iestatiet to kā ievadi.
3. darbība: testēšana un eksperimentēšana
Laiks spēlēt savu soļu motoru!
Kā minēts, visa šī ideja bija savdabīgs eksperiments, tāpēc noteikti eksperimentējiet pats!
Ieteicams:
IR kontrolēts pakāpju motora pacelšana: 15 soļi
IR kontrolēts pakāpju motora pacēlājs: man vajadzēja automatizēt liela attēla pacelšanu, kas slēpj televizoru, kas uzstādīts virs kamīna. Attēls ir uzstādīts uz pielāgota bīdāmā tērauda rāmja, kurā tiek izmantotas virves, skriemeļi un pretsvari, lai to varētu pacelt ar rokām. Teorētiski tas izklausās labi, bet
28BYJ-48 5V pakāpju motors un A4988 draiveris: 4 soļi
28BYJ-48 5V soļu motors un A4988 draiveris: Vai esat kādreiz gribējuši panākt, lai robots griežas precīzā leņķī, izmantojot tikai dažas jūsu Arduino vai micro: bit izejas? Tas viss par lētu? Tas jums ir pamācāms! Šajā pamācībā mēs redzēsim, kā vadīt ļoti lētu soļu motoru, izmantojot tikai
Pakāpju motors Kontrolēts pakāpju motors bez mikrokontrollera !: 6 soļi
Stepper Motor kontrolēts pakāpju motors bez mikrokontrollera! Šim projektam nav nepieciešamas sarežģītas shēmas vai mikrokontrolleris. Tāpēc bez papildu piepūles sāksim darbu
Pakāpju motors Kontrolēts pakāpju motors - Soļu motors kā rotācijas kodētājs: 11 soļi (ar attēliem)
Pakāpju motors Kontrolēts pakāpju motors | Pakāpju motors Kā rotācijas kodētājs: Vai pāris stepper motori atrodas apkārt un vēlaties kaut ko darīt? Šajā instrukcijā izmantosim pakāpju motoru kā rotējošu kodētāju, lai kontrolētu cita soļa motora stāvokli, izmantojot Arduino mikrokontrolleru. Tāpēc bez liekas piepūles pieņemsim
Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: 6 soļi
Gaismas kontrolēts pakāpju motors + sienas kronšteins/statīvs: šo statīvu izmanto, lai ievietotu Arduino vadāmu pakāpju motoru, kas paredzēts automātiskai aizkaru vadīšanai atbilstoši gaismas līmenim telpā. Varat arī pievienot LCD ekrānu, lai izdrukātu gaismas līmeni. 3D rīks ir paredzēts tikai demonstrācijai