Mündəricat:
Video: Birbaşa Rəqəmsal Sintez (DDS) Çipli MIDI nəzarətli Step Motor: 3 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Yalnız bir mini layihəyə çevrilməyiniz lazım olduğu barədə pis bir fikir var? AD9833 Birbaşa Rəqəmsal Sintez (DDS) modulu ilə musiqi yaratmaq məqsədi ilə Arduino Due üçün hazırladığım bir eskizlə oynayırdım … və bir anda düşündüm ki, "bəlkə, bir step motor/sürücü qurmalıyam. bu ". Və bu fikir, bu kiçik çörək taxtasına əsaslanan layihəyə səbəb olan şeydir.
Bu layihəyə Arduino Due-ni idarə etmək və AD9833 modulu ilə step sürücüsü arasında kvadrat dalğaları göndərmək üçün USB üzərindən MIDI istifadə etmək üçün bəzi kodlar daxil ediləcək. Bunu bir Arduino Due ilə bağlamaq üçün bir diaqram və əsas təlimatlar da olacaq.
Təchizat:
Bu layihə üçün nə lazımdır:
Arduino Due
DİQQƏT: Kod Tövsiyə üçün yazılmışdır, lakin eyni zamanda işləməli və/və ya Sıfıra uyğunlaşdırılmalıdır. Doğma USB portu tələb edən Arduino MIDIUSB kitabxanasından istifadə edir.
Lehimsiz çörək taxtası + atlayanlar
AD9833 Breakout Modulu
A4988 Stepper Sürücü (və ya bənzəri)
NEMA 17 Stepper Motor (və ya bənzəri)
- 24V Güc Təchizatı (qeyd edin, nominal stepper motor gərginliyindən daha yüksək olduğu üçün 24 Volt dəyərini seçdim. Daha böyük bir motor istifadə etsəniz tətbiqiniz fərqli ola bilər)
Addım 1: Breadboard
Bunun arxasındakı əsas fikir, Direct Digital Synthesis IC -nin, step motor sürücüsünün "addım" pinini idarə etmək üçün bir kvadrat dalğa meydana gətirməsidir. Bu step sürücü daha sonra mühərriki müəyyən edilmiş səs tezliyində hərəkət etdirəcək. Mühərrikin istiqaməti düzgün tezliklə addımladığı müddətcə bir qədər özbaşına olur.
Çörək taxtası ilə istifadə etməyi üstün tutduğum yanaşma, əvvəlcə elektrik sancaqlarını və zəminləri işə salmaq və sonra bütün digər gücsüz əlaqələri işə salmaqdır.
Zəmin:
- AD9833 Modulunun AGND və DGND pinlərini çörək taxtasındakı GND Rail -ə qoşun.
- Step Sürücüsündəki iki GND Pinini GND Rayına bağlayın
- Bunu Arduino Due -nin GND pinlərindən birinə gətirin
3.3V Güc:
- Stepper Sürücüsünün VDD Pinini çörək taxtasının V+ Railinə qoşun
- AD9833 Modulunun VCC Pinini çörək taxtasının V+ Railinə qoşun
- Bunu Arduino Due -nin 3.3V Pininə gətirin
24V Güc:
- VMOT pinini 24V DC Güc qaynağına qoşun (seçdiyiniz mühərrikdən asılı olaraq daha yüksək və ya aşağı bir təchizat xətti çəkmək istəyə bilərsiniz)
Moduldan Modula Bağlantı:
- Çıxış pinini AD9833 modulundan motor sürücüsünün STEP pininə qoşun
Sürücü Sürücü Əlaqələri:
- Stepper Motor bağlantılarını 2B/2A/1A/1B pinlərinə qoşun. Sürücü fazaları Step Motorun fazaları ilə üst -üstə düşdükcə polarite o qədər də vacib deyil.
- RESET və SLEEP pinlərini birləşdirin və onları Arduino Due Pin 8 -ə gətirin.
- DIR Pinini 3.3V Rayına qoşun
AD9833 Modul Əlaqələri:
- SCLK -ni Arduino Due SCK pininə qoşun. Qeyd edək ki, bu pin normal xarici dişi başlıqlarda deyil, mikrokontrolörün yaxınlığındakı 6 pinli ICSP başlıqdadır.
- SDATA Pinini Due MOSI pininə qoşun. Qeyd edək ki, bu pin normal xarici dişi başlıqlarda deyil, mikrokontrolörün yaxınlığındakı 6 pinli ICSP başlıqdadır.
- FSYNC -ni Arduino Due Pin 6 -ya qoşun (bu layihə üçün Chip Select pinidir)
Çörək taxtası tam yığıldıqdan sonra koda nəzər salmağın vaxtı gəldi!
Addım 2: Proqramlaşdırma və MIDI Quraşdırma
Əlavə edilmiş.ino eskizi, Arduino Due-nin Native USB portu vasitəsilə USB-MIDI girişlərini alacaq və AD9833-ü idarə etmək üçün onlardan istifadə edəcək. Bu çipdə 25 MHz 28 bit tezlikdə işləyən bir DAC var (burada lazım olanlar üçün ümumi həddini aşma) və buradakı kodun çoxu bunu bir kvadrat dalğasını işə salmaq və çıxarmaq üçün konfiqurasiya edir.
Qeyd: iki USB portu var. Biri lövhəni proqramlaşdırmaq üçün, digəri isə USB üzərindən MIDI-dən istifadə etmək üçün istifadə ediləcək
Diqqət yetirin ki, bu eskiz Arduino Uno -da olduğu kimi işləməyəcək - bu layihə Arduino Due və ya oxşar cihazlarda Native USB ehtiyacına görə xüsusi olaraq hazırlanmışdır
Fərdiləşdirmə Seçimləri:
- Preprocessor makro tərifi ilə təyin edilə bilən 2 rejim var. "#Define STOPNOTES" toxunulmaz qalarsa, addım notlar arasında dayanacaq. Bu həmişə arzuolunmazdır (məsələn, sürətli arpejlər oynayır), buna görə də bu davranışı dəyişdirmək üçün sadəcə #define ifadəsinin və stepperin oynandıqdan sonra davamlı olaraq işləyəcəyini silin və ya şərh edin.
-Oktavanın yuxarı/aşağı düyməsinə malik ucuz 2 oktavalı MIDI klaviatura istifadə edirəm, amma bu seçiminiz yoxdursa, 2-nin güclərinə vuraraq və ya bölməklə aşağıdakı tezlik tərcüməsini oktavaya dəyişə bilərsiniz.
MIDI-dən tezliyə tərcümə playNote funksiyasında bu xətt ilə aparılır: int f_out = (int) (27.5*pow (2, ((float) midiNote-33)/12));
- Kompüterimi USB MIDI ilə əlaqə qurmaq üçün istifadə edirəm - bunu sevdiyiniz Digital Audio Workstation (DAW) proqramından edə bilərsiniz. Biriniz yoxdursa, pulsuz və açıq mənbə platforması olan LMMS -dən istifadə edərək bu sistemi qurmaq olduqca asandır. Quraşdırıldıqdan və işlədildikdən sonra Arduino Due -ni MIDI Çıxış Cihazı olaraq təyin edin və USB MIDI klaviatura istifadə edirsinizsə, bunu giriş olaraq təyin edin.
Addım 3: Test və Təcrübə
Step motorunuzu oynamaq vaxtıdır!
Dediyimiz kimi, bunun arxasındakı bütün fikir bir növ manşet təcrübəsi idi, buna görə də öz təcrübənizlə bir az təcrübə edin!
Tövsiyə:
100W LED Çipli Portativ Daxili İşıq: 26 Addım (Şəkillərlə)
100W LED Çipli Portativ Daxili İşıq: Bu təlimatlı / videoda, köhnə bir dizüstü kompüterdən 19V 90W enerji təchizatı ilə təchiz edilmiş 100W LED çipi ilə necə portativ daxili işıq hazırladığımı sizə göstərəcəyəm. (20C otaqda 30 dəqiqədən sonra 85W -də 37C sabitdir)
IR nəzarətli Step Motor Lift: 15 addım
IR İdarə Edilən Stepper Motor Lift: Şöminənin üstünə quraşdırılmış bir TV gizlədən böyük bir şəkil qaldırmağı avtomatlaşdırmalıydım. Şəkil, halatlar, kasnaqlar və əks çəkilərdən istifadə edən xüsusi sürüşmə polad çərçivəyə quraşdırılmışdır ki, əllə qaldırıla bilsin. Bu nəzəri cəhətdən yaxşı səslənir, amma
Mikrodenetleyici Olmayan Step Motoru Nəzarətli Step Motor (V2): 9 Addım (Şəkillərlə)
Mikrodenetleyici Olmayan Step Motoru İdarə Edilən Step Motoru (V2): Əvvəlki Təlimatlarımdan birində, bir mikro nəzarətçi olmadan bir step motoru istifadə edərək bir step motorunu necə idarə edəcəyinizi göstərdim. Tez və əyləncəli bir layihə idi, amma bu Təlimat kitabında həll ediləcək iki problemlə gəldi. Beləliklə, ağılla
Step Motor Nəzarətli Step Motor - Döner kodlayıcı olaraq Step Motor: 11 addım (şəkillərlə birlikdə)
Step Motor Nəzarətli Step Motor | Bir Döner Enkoder Olaraq Step Motor: Ətrafında yatan və bir şey etmək istəyən bir neçə step motoru varmı? Bu Təlimat kitabında, bir Arduino mikro nəzarətçisindən istifadə edərək başqa bir step motorun mövqeyini idarə etmək üçün dönər kodlayıcı olaraq bir step motor istifadə edək. Elə isə çox uzatmadan, gəlin
Reconocimiento De Voz Desconectado Y Sintez və Arduino: 11 addım
Reconocimiento De Voz Desconectado Y Síntesis En Araşdırma: Bu Təlimat İngilis dilində də mövcuddur. MOVI, 'My Own Voice Interface' (Mi propia interfaz de voz) deməkdir. İDE -dən istifadə edərək, MOVI -nın tərtib edilməsi ilə əlaqədar olaraq