Բովանդակություն:
Video: MIDI- վերահսկվող Stepper Motor With Direct Digital Synthesis (DDS) չիպ ՝ 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Երբևէ վա՞տ եք պատկերացրել, որ ՄԻԱՅՆ պետք է վերածվեիք մինի նախագծի: Դե, ես խաղում էի Arduino Due- ի համար պատրաստած էսքիզով, որի նպատակն էր երաժշտություն պատրաստել AD9833 Direct Digital Synthesis (DDS) մոդուլով… և ինչ -որ պահի մտածեցի. սա »: Եվ հենց այդ գաղափարն էլ դրդեց այս փոքրիկ տապանակի վրա հիմնված նախագիծը:
Այս նախագծում ներառված կլինի MIDI-over-USB- ի օգտագործման Arduino Due- ի կառավարման և AD9833 մոդուլի և stepper վարորդի միջև քառակուսի ալիքներ ուղարկելու որոշ ծածկագիր: Կլինեն նաև դիագրամ և հիմնական հրահանգներ ՝ սա մինչև Arduino Due- ին միացնելու համար:
Պարագաներ:
Այն, ինչ ձեզ հարկավոր կլինի այս նախագծի համար
Arduino Due
Ո NOTՇԱԴՐՈԹՅՈՆ. Կոդը գրված է Due- ի համար, բայց այն նաև պետք է աշխատի և (կամ) հարմարվի eroրոյի համար: Այն օգտագործում է Arduino- ի MIDIUSB գրադարանը, որը պահանջում է հայրենի USB պորտ:
oldոդման տախտակ + ցատկողներ
AD9833 Breakout մոդուլ
A4988 Stepper Driver (կամ նմանատիպ)
NEMA 17 տիպի շարժիչ (կամ նմանատիպ)
- 24 Վ էլեկտրամատակարարում (նկատի ունեցեք, ես ընտրել եմ այս 24 Վոլտ արժեքը, քանի որ այն ավելի մեծ էր, քան անվանական սլաքային շարժիչի լարումը: Ձեր իրականացումը կարող է տարբեր լինել, եթե ավելի մեծ շարժիչ եք օգտագործում)
Քայլ 1: Breadboarding
Դրա հիմնական գաղափարն այն է, որ Direct Digital Synthesis IC- ն քառակուսի ալիք կստեղծի `քայլող շարժիչի վարորդի« քայլ »քորոցը քշելու համար: Այս սլաքի վարորդը շարժիչը կշարժի նշված լսելի հաճախականությամբ: Շարժիչի ուղղությունը որոշ չափով կամայական է այնքան ժամանակ, քանի դեռ այն քայլում է ճիշտ հաճախականությամբ:
Մոտեցումը, որը ես նախընտրում եմ օգտագործել հացաթխման սեղանի շուրջ, այն է, որ սկզբում աշխատեցնեմ էլեկտրահաղորդման գծերն ու հիմքերը, այնուհետև սկսեմ գործարկել մյուս բոլոր ՝ ոչ էներգիայի միացումները:
Հիմք:
- AD9833 մոդուլի AGND և DGND կապումներն միացրեք հացատախտակին տեղադրված GND երկաթգծին:
- Stepper Driver- ի երկու GND կապում միացրեք GND երկաթուղուն
- Սա բերեք Arduino Due- ի GND կապում
3.3V Հզորություն:
- Միացրեք Stepper Driver- ի VDD Pin- ը breadboard- ի V+ Rail- ին
- AD9833 մոդուլի VCC կապը միացրեք տախտակի V+ Rail- ին
- Սա բերեք Arduino Due- ի 3.3V Pin- ին
24V Հզորություն:
- VMOT կապը միացրեք 24 Վ DC հոսանքի աղբյուրին (կախված ձեր շարժիչի ընտրությունից, գուցե ցանկանաք ավելի բարձր կամ ցածր մատակարարման երկաթուղի գործարկել)
Մոդուլ-մոդուլ միացում
- AD9833 մոդուլից OUT կապը միացրեք շարժիչի վարորդի STEP քորոցին
Stepper վարորդի միացումներ
- Միացրեք Stepper Motor- ի միացումները 2B/2A/1A/1B կապումներին: Բևեռականությունն այնքան էլ կարևոր չէ, քանի դեռ Վարորդի փուլերը համընկնում են Stepper Motor- ի փուլերի հետ:
- Միացրեք RESET և SLEEP կապերը միասին և դրանք մոտեցրեք Arduino Due Pin 8 -ին:
- Միացրեք DIR կապը 3.3V երկաթուղու հետ
AD9833 Մոդուլի միացումներ
- SCLK- ը միացրեք Arduino Due- ի SCK կապին: Նկատի ունեցեք, որ այս քորոցը գտնվում է միկրոկառավարիչի մոտ գտնվող 6-պին արական ICSP վերնագրի վրա, այլ ոչ թե սովորական արտաքին կին վերնագրերի վրա:
- SDATA կապը միացրեք Due- ի MOSI կապին: Նկատի ունեցեք, որ այս քորոցը գտնվում է միկրոկառավարիչի մոտ գտնվող 6-պին արական ICSP վերնագրի վրա, այլ ոչ թե սովորական արտաքին կին վերնագրերի վրա:
- Միացրեք FSYNC- ը Arduino Due Pin 6 -ին (սա Chip Select փինն է այս ծրագրի համար)
Այժմ, երբ հացահատիկը լիովին հավաքված է, ժամանակն է հայացք գցել ծածկագրին:
Քայլ 2: mingրագրավորում և MIDI կարգավորում
Կցված: Այս չիպը ունի DAC, որն աշխատում է 25 ՄՀց հաճախականությամբ բանաձևով (28 բիթ) (ընդհանուր գերբեռնվածություն այն ամենի համար, ինչ անհրաժեշտ է այստեղ), և այստեղի կոդի մեծ մասը կարգավորում է քառակուսի ալիք գործարկելու և թողարկելու համար:
Նշում. Կա երկու USB պորտ: Մեկը օգտագործվում է տախտակի ծրագրավորման համար, իսկ մյուսը `MIDI-over-USB կոմունալ ծառայությունների համար:
Նկատի ունեցեք, որ այս ուրվագիծը չի աշխատի այնպես, ինչպես Arduino Uno- ում
Անհատականացման ընտրանքներ
- Կան 2 ռեժիմ, որոնք կարող են սահմանվել նախամշակող մակրո սահմանմամբ: Եթե «#define STOPNOTES» - ը մնա անձեռնմխելի, ապա stepper- ը կանգ կառնի նշումների արանքում: Սա միշտ չէ, որ ցանկալի է (օրինակ ՝ արագ arpeggios նվագելը), ուստի այս վարքագիծը փոխելու համար պարզապես ջնջեք կամ մեկնաբանեք, որ #սահմանեք հայտարարությունը, և stepper- ը անընդհատ կաշխատի խաղալուց հետո:
-Ես օգտագործում եմ էժան 2 օկտավա MIDI ստեղնաշար դրանով, որն ունի օկտավա վեր/վար կոճակ, բայց եթե դուք չունեք այդ տարբերակը, կարող եք օկտավա-տեղաշարժել ներքևի հաճախականության թարգմանությունը `բազմապատկելով կամ բաժանելով 2-ի ուժերին:
MIDI հաճախականությամբ թարգմանությունը կատարվում է playNote գործառույթի այս տողով. Int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));
- Ես հակված եմ օգտագործել իմ համակարգիչը USB MIDI- ով միանալու համար: Դուք կարող եք դա անել ձեր նախընտրած Digital Audio Workstation (DAW) ծրագրակազմից: Եթե չունեք մեկը, բավականին հեշտ է այս համակարգը կարգավորել LMMS- ի միջոցով `անվճար, բաց կոդով հարթակ: Տեղադրվելուց և գործարկելուց հետո պարզապես նշեք Arduino Due- ն որպես MIDI ելքային սարք, իսկ եթե օգտագործում եք USB MIDI ստեղնաշար, ապա մուտքագրեք այն:
Քայլ 3: Փորձարկում և փորձարկում
Timeամանակն է խաղալ ձեր սլաքային շարժիչով:
Ինչպես նշվեց, դրա հիմքում ընկած ամբողջ գաղափարը մի տեսակ անփորձ փորձ էր, ուստի անպայման փորձեր կատարեք:
Խորհուրդ ենք տալիս:
Stepper Motor- ի կառավարում `5 քայլ
Stepper Motor- ի կառավարում. Այս ձեռնարկը վավեր է, եթե մենք օգտագործում ենք Arduino- ն և երկուսն էլ օգտագործում ենք Drivemall- ի տախտակը Drivemall- ը կառուցելու հղումից ներքև: Drivemall- ը դասական Arduino- ի տախտակից նախընտրելու առավելությունն այն է, որ կապերի բարդությունը նվազեցվի
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). 9 քայլ (նկարներով)
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). Իմ նախորդ հրահանգներից մեկում ես ձեզ ցույց տվեցի, թե ինչպես կարելի է կառավարել հետընթաց շարժիչը `օգտագործելով միկրոկոնտրոլերի շարժիչ: Դա արագ և զվարճալի նախագիծ էր, բայց այն ունեցավ երկու խնդիր, որոնք կլուծվեն այս Ուղեցույցում: Այսպիսով, խելամտորեն
Stepper Motor Controled Model լոկոմոտիվ - Stepper Motor As a Rotary Encoder: 11 Քայլ (նկարներով)
Stepper Motor Controled Model լոկոմոտիվ | Stepper Motor As a Rotary Encoder. Նախորդ հրահանգներից մեկում մենք սովորեցինք, թե ինչպես օգտագործել stepper շարժիչը որպես պտտվող կոդավորիչ: Այս նախագծում մենք այժմ կօգտագործենք այդ պտտվող շարժիչով պտտվող կոդավորիչը `Arduino միկրոկոնտրոլերի միջոցով մոդելի լոկոմոտիվը կառավարելու համար: Այսպիսով, առանց ֆու
DIY Bluetooth ականջակալ (BK8000L չիպ) 3D տպագիր ՝ 6 քայլ (նկարներով)
DIY Bluetooth ականջակալ (BK8000L չիպ) 3D տպագրությամբ. Ողջույն Այս նախագիծը կատարելու իմ մոտիվացիան այն փաստն է, որ կան շատ վատ Bluetooth ականջակալներ, որոնք ես գնել եմ վերջերս, այնպես որ իմ սեփականը կատարելով ես կարող եմ շտկել և զարգացնել
Գրպանի չիպ
Գրպանի չիպ. Ի՞նչ է CHIP- ը: CHIP- ը Linux- ի ամենափոքր համակարգիչն է, որը ստեղծվել է Next Thing- ի կողմից Kickstarter- ի արշավի միջոցով: Բոլոր հնարավորությունները դիտելու համար տես հղումը (http://docs.getchip.com/chi